Improving DevOps Agility through a Hybrid Approach
The DevOps approach means you will be handling more than just a single aspect of the product cycle. However, being stuck with acting as system administrator for your company can be a bad thing.
Since the practice was conceived back in 2009, the DevOps culture has launched a coup in the world of software development. By combining the development and operational aspects of building software, this approach has significantly improved the product cycle, enhanced the performance of software produced, increased the output of developers and has led to far better results overall than traditional IT development.
By involving developers at every stage of development and deployment, it has become easier to create more stable software with better-integrated components. Developers are now involved in the software development cycle from the beginning to the very end. As a result, operational functions such as customer service and quality assurance are also being handled by developers under this approach.
At the same time, DevOps has led to a greater involvement of users in every phase of software development. This is one of the key aspects that helped improve the quality and efficiency of beta testing over the past few years. And with the improvement in beta testing, the consequent quality of final versions has steadily improved.
A more agile approach to IT
Such an agile approach has certainly reaped benefits for developers as well as software development companies. Estimates from IDC suggest that more than 40% of Fortune 1000 companies are already on board with the DevOps culture. But it has also led developers to step out of their core competencies when dealing with operational and other tasks such as customer service. In fact, even tasks far removed from hardcore development, such as sysadmin firefighting, are sometimes included under the umbrella of DevOps.
Such a definition of DevOps can pose many risks. Of course, a developer’s key competency is in building applications. Obviously, a developer is likewise effective in overseeing beta testing and deployment of the software. However, there may be confusion as to how appropriate a direct involvement is, as opposed to simply a monitoring role. The same error applies when a developer is relegated to sysadmin duties.
DevOps professionals report to be satisfied with income and job security. According to a DevOps salary survey conducted earlier this year, 62% of professionals feel satisfied with job stability, and over 76% reported an increase in earnings. However, simply paying your developers more is not the route to DevOps success. It requires a culture shift in how the development team view problems that arise in production, and who has responsibility to address them. You must also carefully consider which operational tasks relate directly to your application – requiring direct handling by your DevOps team, as compared to those that pertain to the application’s production operating environment – potentially only requiring your DevOps team’s oversight.
This is especially true for small businesses, and full service agencies serving them, that have to focus on key core competencies in the early stages of the product cycle. A single stellar product may form the backbone of such a business. Developers are the key organizational assets in this scenario. They are the ones who make sure the product is up-to-mark, on time and disruptive enough to be a success. On this depends the very lifeline of that business.
A DevOps approach for small business and agencies
When your project team is of limited size, it’s critical to understand how to apply DevOps – which issues are within scope for your DevOps team, and which should be handled by another team or third party.
A balance must be attained between the professional’s role as a developer and their role in overseeing operations. Even within DevOps, whilst a developer has responsibility for operational success, they should not be the first-responder handling 2am monitoring alerts or reviewing CVSS scores relating to base OS or application server components. A DevOps developer should still remain focussed on their application.
An effective way to achieve this is by relying on reputed third-party services for a majority of sysadmin duties. Moreover, it can take a lot of irrelevant burden off the developers’ hands, letting them focus on product development with more dedication. Such a hybrid approach has many advantages.
Dedicated experts: Third-party services — fully managed hosting for instance — focus on providing the best quality in their own domain of operation. The tools, features, and expertise delivered by these services contain the iteration and learnings arising from the successful delivery of thousands of previous projects just like yours. Ensuring such quality with in-house sysadmin firefighting is virtually impossible for small businesses, and improbable for even major companies. Reliance on third party services therefore ensures a much greater depth and availability of relevant experience that helps to both prevent service impacting issues arising in the first place, and provide faster and more efficient resolution when issues inevitably hit.
Heavy-duty security: Another major advantage of outsourcing non-application-level operational tasks such as sysadmin firefighting is improved security. Service providers like Layershift take a proactive approach to infrastructure security and put every bit of effort in ramping it up with multi-layered protective measures. Achieving the same level of security may not be possible for a small business by itself. Worse still, poorer security may lead to customer-facing hitches, prolonged accessibility issues and ultimately, unsatisfied users.
Focused development and efficiency: Undertaking development and deployment through a hybrid approach also offers efficiency gains. Time is critical in product roll-out as well as troubleshooting customer-facing issues. Third party services facilitate new website configurations within seconds, using off-the-shelf Cloud VPS and PaaS solutions, including the promise that all configuration is fast and fully repeatable – critical to your Continuous Delivery pipeline and DevOps workflows. Also acting as another troubleshooting layer, such services offer rigorous round-the-clock monitoring and are often able to troubleshoot customer-facing issues before the DevOps team even becomes aware of them. The DevOps team can further cement the stability of this approach by closely coordinating with the third party service.
Inspired customers: In the fiercely competitive software landscape, customer satisfaction is critical to a business’ success. Clients want to see their vendors focused on the products they offer, their services hosted on the most secure platforms and the resolution of any user-facing hitches with the least delay. Combining the DevOps approach with a fully managed hosting service can be a winning strategy in such a market. The DevOps approach lets the client know that the company is dedicated to the development of its products and intends to provide the best possible experience to its clients. Meanwhile, the capability of third-party sysadmin experts and other resources will convince the client of the stability and security of the service.
The DevOps culture has revolutionized the world of IT development. However, it is still an evolving approach, and like most other sections of the IT landscape, it is moving towards a hybrid phase.
In a narrower sense, it may be highly effective in software development and deployment. But be wary of defining a DevOps professional’s operational role too broadly – if it is stretched to include sysadmin tasks relating to the server environment rather than the application itself, it can affect the output of the development team. For a small business, this can lead to particularly adverse consequences, due to the overall size of the development team for each project.
The smart way to execute the DevOps approach is to use a hybrid version coupled with reliable third-party services. This can guarantee rich dividends in the long-run and pace up product delivery pipelines.
About the Author
Daan is a Cloud Computing, Web Security Expert and Blogger for Hire. His current interests include enterprise automation, cloud-based security and solutions.