The fact that DevOps and cloud computing are closely linked, is well-understood by those in the know. If you're an organisation that builds applications or SaaS in the cloud, you'll know that the real value of the relationship lies in the potential to bring agility. Where traditional methods of target platforms required weeks, even months, of planning to obtain and deploy the hardware and software required, DevOps and the cloud methods can be automated to deploy on demand.
If you're considering a move to DevOps and the cloud, first you need to understand a few core principles that are necessary for success.
- All aspects of development, testing, staging, deployment and operations should be part of a continuous, automated process.
- The deployment platform should allow for an almost unlimited provision of resources and any changes to applications, big or small, should be made swiftly.
- Public and private cloud models, and multiple cloud brands, including Google, Microsoft and AWS, should be supported, so that the process can exist in the cloud, on premise or in hybrid configurations.
Many organisations are reaping the benefits of a DevOps strategy already – and for those ready to take the next step, and incorporate the cloud, here's a simple, 5-step strategy to get you there.
Step 1: What do you need?
Seems obvious, but this crucial first step is often overlooked. Starting with a complete understanding of the solution that you're looking to build will go a long way to ensuring the end result delivers. Consider if your applications will require any special hardware or software requirements, and whether you'll need data-intensive or processor-intensive applications – or both. What level of security will you need and how will you monitor performance?
Look at the big picture. You want to select a core cloud architecture that will accommodate all the applications that are part of your DevOps automation solution. The use of multiple target clouds for deployment will also give you flexibility, which will come in handy as clouds mature and the prices of cloud services fluctuate.
Step 2: Your DevOps Process
Be clear on both the DevOps processes and the end result that your business wants. In the past deployment was based around development – today, the process has been transformed with the use of DevOps and the cloud. Now, it's about delivering services, rather than software, and Operations and Development work as a team, rather than separate divisions. Another key difference between the old and new ways lies in the monitoring – before it was reactive, but with DevOps and the cloud, it's proactive.
When planning your strategy, you'll need to identify which of the traditional approaches to development and operations you'll no longer need, and then map out the best approach for your organisation. The path to DevOps can be better understood when broken down into four main areas: continuous development, continuous testing, continuous integration and continuous deployment.
Continuous development gives you the ability to build applications or services, then have them tested, integrated, staged, deployed and put into operation within your platform, with the push of a button. The developer can respond to user requests in real time and easily correct any problems found during any stage of the process.
Continuous testing can occur on premises or within the cloud, and is an automated testing process that is coupled with continuous development. It includes both system and unit tests, and these are automated for applications as they move through the DevOps process.
Continuous integration provides for the frequent integration of code into a shared repository, which is then verified by an automated build, so any problems are detected early.
Continuous deployment is the end result – where each change that passes the automated testing and integration procedures then automatically moves to production. The target platform is usually public clouds, which accepts integrated and tested code and aligns it with the remaining DevOps processes.
Step 3: The Right Tools for the Job
Your cloud-enabled DevOps package must have an interface with your cloud provider's management system, and your tools of choice should work with both public and private cloud services, to enable the deployment of a hybrid cloud. Because applications will often be complex and distributed, you'll need tools that support your network and IT resources, as clouds and cloud-based applications are essentially complex distribution systems.
It's also important to link your DevOps tools and applications with security, governance and monitoring features of your target cloud platform. This includes linking security services such as identity management with your provider and having a clear approach to service and resource governance.
Step 4: Automated Testing
At the core of your DevOps strategy should be a focus on automated testing, and this can be delivered by services both in the cloud and on premise. Your automated testing services must have the ability to create automated test scripts, provide test data for application testing and test services like governance, security and monitoring that surround the application.
Step 5: Your People and Implementation
It's critical that you have the right people on board to support your staff as you make the move to DevOps and the cloud. Identifying the gap between your in-house skills and the skills you require, will allow you to accurately plan for and get the help you need. Depending on the organisation, the adjustments may be minimal - or they may require a major shift in thinking.
When you're ready to implement your strategy it's best to do it in stages. Start by working with the Dev tools, then the Ops tools, and finally integrate with the target cloud platform. In general, DevOps results in simplifying roles, and by giving your team the training and knowledge they need, you'll set yourself up for long-term success.
The End Result: Value and Agility
The true value of the integration of DevOps and the cloud lies in the ability to quickly build and deploy software, while avoiding the need to purchase waves of hardware and software to run the applications. You're bound to encounter a few issues along the way, but these can be identified and fixed easily.
When you successfully implement your DevOps strategy, IT becomes a valuable asset and driver of your business. Integration with the cloud further strengthens that, and ensures that your organisation is agile and ready for whatever the future holds.