Are we heading to a NoOps way of working?
Traditionally, development and IT operations teams worked as two distinct groups. Developers would write and test code in separate environments and pass it on for operations to deploy. Since deployment was often done on a multitude of machines and endpoints, it often took time before new features and fixes reached and benefited end users. It was common for weeks or months to pass between releases.
There was also often poor interface between development and operations, resulting in much friction. Developers provided little useful information about releases. When issues arose, operations hit back by giving developers ambiguous bug reports. Everyone suffered. Silos between development and operations formed. Animosity became rife between the two teams. This often led to products failing to realise their true value.
DevOps changed this. It promoted better dynamics between development and operations through communication, collaboration, and automation. Through this synergy, teams are now able to deploy products and deliver value quicker to customers, allowing their companies to remain competitive in a tough business landscape.
Various tools and technologies were instrumental to this shift. Developers are able to effectively collaborate on code using Git with up-and-coming tools to help plan the build-test-deploy phase. By using Docker, devs were also able to ensure that apps work across different environments. These essentially allowed teams to get smaller chunks of code to production quickly rather than wait for periodic release dates.
Cloud platforms also took away the problem of scalability for operations. This freed up operations personnel to shift their focus more on monitoring and maintenance rather than worry about tedious environment setup and provisioning. This way they can provide timely feedback, enabling developers to iterate and continuously improve upon the product.
How to build a DevOps team — 6 principles for success
There are plenty of success stories that bolster DevOps as the philosophy to follow. Amazon, for instance, boasts that they deploy code every 11.7 seconds. Netflix also claims to deploy thousands of code daily. Even retail giants Walmart and Target effectively applied DevOps to hasten their app deployments.
DevOps seems to have worked so well for these large enterprises that DevOps die-hards seem to take on a cultish attitude towards it. However, the reality of software development and business is that things change. Everyone has to eventually think about what’s next. DevOps stakeholders would do well asking: How can DevOps be further improved upon and what new advantages can its next iteration bring?
There’s a growing belief that “NoOps” pipelines will be just that. It refers to the automation of operations, allowing developers to rely on sophisticated orchestration tools and scripts to get timely feedback concerning issues. This theoretically minimises the need for full-time operations personnel.
Nowadays, much of the work in operations revolves around monitoring. Rather than being reactive, operations now take a more proactive stance in looking for issues in the deployed code. Modern operations professionals use various instruments to monitor applications and infrastructures, even leveraging analytics and data sciences to look for patterns that hint at potential issues. Insights from their analyses serve as input for developers.
However, increasing automation is fuelling the argument for NoOps. The capabilities of today’s monitoring tools are helping further ease operations tasks to the point where it’s practical to ask whether or not having a dedicated operations team still be necessary.
In addition, most DevOps tools can now be integrated with each other to form cohesive and interconnected workflows even if different platforms, solutions, and tools are used. Buddy, for example, can orchestrate the various tools used in each DevOps phase from code integration to deployment and monitoring.
The service integrates with the various monitoring tools such as New Relic for instrumentation, Sentry for error tracking, and Loggly for log management. Any issues that arise from the live deployment and caught by these tools can even automatically trigger notifications to the development team for immediate action using whatever communication tools the team has in place, be it through Slack, SMS or even email.
The ultimate guide to DevOps: everything an enterprise needs to know
This month, Information Age has been exploring DevOps: the practice that combines software development and IT operations to speed up the delivery lifecycle, while improving quality. Here, we provide the ultimate guide. Read here
Unfortunately, the idea that automation can takeover operations seems quite ominous especially to operations professionals. Naturally, they’re among those who argue againstNoOps. They can always argue how the human element and instinct will always have value in the process. Yet, the advances in automation can’t be denied and modern cloud tools look truly poised to take over their tasks especially now that artificial intelligence (AI) and machine learning (ML) are finding their way to almost every cloud platform and service.
Perhaps as recompense, it’s still important to keep in mind that change does take some time to grab hold regardless of the buzz and hype. In the meantime, it’s crucial for all DevOps stakeholders to evaluate where they stand in the grand scheme of things. Being a tech professional demands being prepared for changes. If it truly appears that NoOps would be where software development will be headed, those who will be affected must come to terms with that reality. The way cloud automation is evolving, the case for NoOps is bound to get even stronger.