Digital transformation is in the air – as surely as Christmas is around the corner! Digital transformation is fast becoming the main talking point on many C-suite and boardroom agendas and requires software to be delivered at a faster pace. DevOps and cloud are both key drivers for it. While they have always worked alongside one another, enterprises are increasingly choosing to deploy DevOps in the cloud.
[clickToTweet tweet=”#DevOps and #cloud are both key drivers for #DigitalTransformation” quote=”DevOps and cloud are both key drivers for Digital Transformation” theme=”style3″]
Building blocks
Perhaps this should come as no surprise. After all, Gartner expects the worldwide public cloud services market to grow 18.5 percent in 2017 to reach $260.2 billion. Everything is moving to the cloud, including DevOps, and in the next 12-18 months, there will be a sharp rise in the use of cloud platform services in application and as building blocks.
There are many factors in favour of DevOps in the cloud. Cloud platforms provide APIs and services for automatic management, provisioning, configuration and monitoring of resources that help in developing infrastructure as code for automating application delivery process. Cloud lends itself very easily to DevOps practices and goes hand in hand.
Beyond the clouds
There are also several technologies that are very (very) hot right now that are acting as catalysts, for cloud adoption. Containers help in breaking monolithic applications, to make them portable, easily managed and orchestrated. Microservices help in developing services that are independently developed, updated, replaced and scaled. Serverless architectures build on top of containers and microservices to remove the operational concerns from developers and complement DevOps goals of agility and delivering business value. Yet another is the rise in trust-based systems and policy-driven gates to provide right checks and balances in an automated and declarative manner. All these technologies on cloud lend themselves to agile development and to DevOps practices.
When enterprise IT teams think of DevOps in the cloud, they typically consider custom application development and sometimes overlook ERP apps. There are also plenty of IoT (Internet of Things) platforms available on the cloud that also lend themselves to DevOps. And then is a plethora of choice on Big Data and Machine Learning platforms on the cloud to build intelligent applications. Not only are applications getting better on the cloud, tools for monitoring are also improving so IT teams can monitor everything from physical hardware to containers and applications via the cloud.
DevOps…done a little differently
The cloud is characterised by infrastructure-on-demand and pay-by-use models. This makes DevOps in the cloud different. For instance, when developers acquire infrastructure or hosts for their containers, the infrastructure is modelled like any other software. When developers conduct role-based automated software configuration and provisioning, they can scale and shrink applications based on the incoming traffic and load. Developers can improve the COGS (cost of goods sold) considerably by acquiring cloud resources at optimal time/cost.
Benefits and best practices
DevOps in the cloud, used with Agile practices, can help enterprises get products to market fast and ensure customers get faster releases with new features and fixes. Engineering teams can update features as and when they are ready. If they are not already engaged in Shift Left, enterprise should make this a priority because it can identify problems early and address them at the onset.
Lean mean engineering machines
Automation is another key enabler. Enterprises will need to assess how best to increase automated testing coverage to reduce lag times and speed up releases. Similarly, setting up automated a CI/CD pipelines to enable faster updates and feedback loops will reap its own rewards further down the line as the business is better able to respond to market changes, feedback from customers etc. Teams deploying DevOps in the clouds will find that the need for coordination and hand-offs is eliminated and many manual activities are replaced by automation, leading to far more productive, lean engineering teams.
So, are you considering DevOps in the cloud? Needless to say, there are countless benefits – but enterprises should be aware of the pitfalls too as well as how to maximize their cloud investment.
Pay close attention to…
Firstly, tool selection can be an issue, so organisations should check ahead to avoid vendor lock-in to the cloud provider. Multi-cloud development is gathering momentum, according to Microsoft and 451 Research, nearly one-third of organisations work with four or more cloud vendors. For a DevOps team new to working in a cloud model, proper resource governance is important too. This ensures there are adequate quotas, there are no overruns on usage and that everything is easy to manage. Lastly, it is crucial to keep a close watch on security – who has access to do what actions. Organisations will need to be clear on how key management and ACLs to cloud services are carried out.
Finally, here are the top 5 tips to make DevOps in the Cloud a success:
- Embrace the DevOps culture: this may sound obvious, but DevOps is more than a set of tools and technologies. It is a mindset and a way of working. Maintain visibility and collaboration across teams at all times.
- Choose the right tools: it is critical to select the right tools for getting CI/CD pipelines fully automated.
- Microservices and containers: organisations should move to microservices architectures and adopting containers where possible.
- Profile the SDLC: identify and ease the bottlenecks. By profiling the SDLC to identify manual activities and wait times, these areas can then be targeted and optimised.
- Keep it agile: Keep following agile practices to maximise the chances of a successful deployment in the cloud.
Naveen Kumar is Vice President, Technology Innovation at Aricent. Currently he leads the innovation practice on Development Productivity areas focusing on Intelligent Automation and Modern Architectures which applies AI/ML techniques to DevOps for edge computing, containers, micro services, serverless and blockchain technologies. Naveen has over 2 decades of expertise on new technology adoption, solution conceptualization and technical presales.