How to tame Cloud Deployments with DevOps

DevOps.jpg

‘Spinning up unnecessary cloud resources not only costs a company more in the long run,’ says Roger Fulton on the DevOps blog, ‘it also leads to a cloud sprawl that requires time-consuming, manual processes to maintain.’

More manageable in the cloud?

‘Spinning up unnecessary cloud resources not only costs a company more in the long run,’ says Roger Fulton on the DevOps blog, ‘it also leads to a cloud sprawl that requires time-consuming, manual processes to maintain.’

Sure, DevOps principles and tools take the hard work out of managing your cloud deployments. In fact, cloud deployments and DevOps have a lot in common: DevOps makes faster delivery of new applications a reality, while the cloud is the perfect platform for speeding up the launch of new business initiatives.

However, Vineet Badola at Cloudacademy.com maintains that ‘it’s not so much with DevOps that the greatest benefits will be realized, but with Cloud DevOps. It’s specifically Cloud DevOps that can deliver scalable infrastructure and very agile development environments.’ We’d argue that DevOps delivers strong benefits in any environment, but the point about Cloud DevOps is well taken.

Cloud: Perfect Continuous Delivery Platform

Automation is a key tenet of DevOps, as is Continuous Delivery with its key stages of continuous development, continuous integration and continuous deployment. The DevOps Delivery Pipeline is designed to move applications from concept to production as fast as possible, and that also goes for enhancements, updates or bug fixes, too.

At the same time, high quality, reliability and repeatability are achieved through automated testing and by keeping manual intervention to a minimum. If you need more evidence to support that claim, check the 2015 State of DevOps Report, author: , a survey that shows that quality improves with increased velocity, when enterprises embrace DevOps.

Continuous Delivery is the technology that enabled web innovators like Facebook, Amazon and Google to release new functionality and services at break-neck speed. As a result, they enjoyed unprecedented growth and profitability. As CEO of Chef Barry Crist sums up, ‘many others have realized that DevOps and Continuous Delivery are a primary key to unleash an organization’s innovation engine.’

By their nature, cloud platforms encourage continuous updating of applications and data deployed there, and that aligns cloud platforms perfectly with DevOps. According to David Lincthicum at Tech Beacon, some people even ‘attribute the rise of DevOps directly to the rise of cloud computing, because it's easy to continuously update cloud-based applications and infrastructure.’

Infrastructure as Code

Developers build many checkpoints and tests into their Continuous Delivery Pipelines, to ensure that any problems are detected immediately and the code is returned to the developer. These pipelines contain several stages that verify the quality of new features from different angles, to validate their function and catch any errors. These pipelines also provide feedback and visibility into the flow of changes for every team involved in the delivery process.

‘There is no such thing as The Standard Pipeline,’ Andrew Philips at XebiaLabs makes clear,’ but a typical CD pipeline will include the following stages: build automation, continuous integration, test automation and deployment automation.’

Even security and compliance tests can be incorporated in the delivery pipeline as code, and so can the infrastructure of specific cloud platforms. Chef CEO Barry Crist frames the resulting business advantage this way: ‘When the whole stack - infrastructure, compliance, security, microservices and apps - are all expressed as code, IT is able to deliver value more quickly.

Cloud & DevOps – a union made in Heaven?

The mere mention of DevOps tends to evoke thoughts of chaos in the minds of some, yet the reality is that DevOps actually can help you make cloud operations run with almost the same efficiency as your data centre.  The main reason is that the DevOps delivery pipeline passes details provided by developers (about their applications’ needs for resources and connections) along to operations teams.

With the needs of applications defined this way, deployment becomes automatic, streamlines routine practices and ensures that they’re applied consistently in order to minimize human error and maximise stability. In other words, DevOps offers ‘both an approach and mechanism to build and deploy applications,’ as David Linthicum puts it at Tech Beacon, ‘and deployment of those applications to more than one provider or type of cloud services.’

For DevOps Blog

Source: How to build a DevOps pipeline for multi-cloud app deployment, TechBeacon, author: David Linthicum, SVP, Cloud Technology Partners

DevOps Tools

Multiple clouds are common in enterprises these days, as are different types of clouds, and that makes discipline even harder to enforce. Many vendors offer DevOps tools that make the job easier, but most of these don’t work across all the cloud environments you use, or are likely to use. Very few DevOps tool sets are flexible enough to let you deploy code to private, public, and hybrid clouds, and cloud service providers such as Amazon Web Services, Oracle, Microsoft and others.

David Linthicum makes the point that the tools you choose must be sensitive to the differences in various platforms, so they can use the right native features without impacting on the productivity benefits of automation. He says ‘the biggest challenge is the ability to deploy to multiple targets and take advantage of the native capabilities (cloud-native applications) with new, unfamiliar DevOps processes and tools.’

If that’s not enough, cloud platforms are continually enhanced or upgraded, so you want to make sure that the tools you buy have the ability to adjust accordingly. And one more thing, as Tom Nolle of CIMI at TechTarget reminds us: most of the applications in enterprises have not been developed using DevOps, and therefore ‘it’s important to look at how it [the toolset] supports the creation of application descriptions for existing, or deployed, applications.’

Hybrid Cloud Environments

At Limepoint, we work mostly in Oracle environments, and Oracle’s Cloud Services APIs and tools make it easy to build applications in the cloud. However, complications can arise when you move them down the pipeline to on-premise environments such as SIT and UAT. Here the location of your Weblogic application container can become an issue.

If it’s in one place for off-premise and another for on-premise, the result will be Configuration Drift. That’s even more likely if you’re using Amazon for your cloud platform and Oracle for on-prem hosting, because the toolsets for working on these platforms are different.

Your delivery pipeline processes should produce consistent results, regardless of where your application container is hosted, and regardless of the different environments you’re deploying to. Centralizing the configuration so that there’s just one source of truth will reduce configuration drift dramatically. Read more in our post How to Achieve Consistency On-premise, in the Cloud & Both.

Jumpstart for Business

Most of today’s enterprises operate in a fiercely competitive marketplace, and the leaders are those who respond first to new opportunities and challenges. With the right cloud platform, developers can respond rapidly to new business or user needs, and get new business initiatives up and running much faster than before.

One reason for this is that the DevOps delivery pipeline provides a fast track for new or updated code to go from development to operations. A more far-reaching benefit is the result of the culture change necessitated by DevOps. Culture change is always painful but the benefits of DevOps have seen many enterprises grasp the nettle and pull down long-standing silos, which has an unexpected spinoff: greatly improved communication and collaboration between teams.

‘Including Operations teams in the Development process and vice versa enables sharing of skills and understanding,’ says Nick Beagley at Bulletproof. The result is a much more agile environment where code can be created, tested and deployed much faster than before, with superior quality due to the automation of DevOps ‘gearing the development process around quality,’ as Nick puts it. This allows teams ‘to rapidly, reliably and repeatedly push out enhancements and bug fixes at low risk with minimal manual overhead at an increased cadence.’

Another business benefit is less obvious: a change in culture often exposes structural problems in a business, and wasteful practices. That’s because once DevOps is implemented, there are no walls left to hide behind or comfort zones to retreat to. Some of your people will leave, usually the least adaptable and the least willing to learn. In that way, DevOps helps you identify and remove the weakest links in your team(s).

The overall benefits of embracing DevOps range from ‘reducing lead times and cost overruns that are the hallmark of Waterfall development,’ argues Bjorn Schliebitz at Bulletproof, ‘to improving planning, handovers and empowering IT teams to become high achievers … ‘

Security in the Cloud

Many enterprises are still reluctant to stage critical applications and data in the cloud, even though most of the big hacks in recent times have involved traditional on-premise systems, not the cloud or DevOps.

In his piece Why your DevOps process should have security baked in, David Linthicum argues that, in fact, enterprise applications are more secure in the cloud than traditional applications that run on premise, as long as organizations ‘properly roll out DevOps and manage their cloud platforms.’

The perimeter security walls that enterprises used to build around their systems and data are a thing of the past. With smart mobile devices taking over from PCs, and BYOD now the norm among employees, enterprises ‘need to build security into every step of the development process,’ says Linthicum, ‘and into every part of the application. This is a fundamental change for organizations deploying DevOps, and many don't figure it out until it's too late.’ More on this subject in Is DevOps an Obstacle to Application Security?

Deploying to Any Environment from a Single Platform

You should have the ability to deploy your applications, databases and infrastructure where you want them: in public or private clouds, hybrid clouds or in a mix of cloud and on premise scenarios. That’s precisely why we developed the EnvironMint Smart Suite for DevOps, which has been tested and proven in some of the largest and most complex situations in Australia, including top tier banks and financial institutions.

EnvironMint consists of two key products with complementary functions for DevOps: MintPress builds high quality Oracle environments rapidly, repeatedly and reliably (for Continuous Delivery), and DriftGuardmonitors and troubleshoots operational systems (for Continuous Operation).

‘DevOps is the key to taking cloud computing from a limited test environment to production within enterprise IT,’ argues Tom Nolle of CIMI at TechTarget. ‘And without DevOps, it's unlikely that enterprises can manage cloud applications through the typical change-state-release lifecycle with acceptable levels of staffing. In the long run, it's very unlikely any major enterprise will be able to deploy a public, private or hybrid cloud application set without DevOps.’ Smart suites like EnviroMint make it easier to realise the sizable benefits of DevOps and the Cloud.

insightsLimePoint Team