Redefining the Relationship Between Cloud & DevOps

XebiaLabs, Cloud

According to Gartner, 88% of organizations have implemented some level of Agile in their development process. As these organizations move toward Agile, and ultimately DevOps, they undergo a fundamental change in how they architect and package applications.

But just because you improve processes at the development end of the pipeline, it doesn’t mean that bottlenecks just disappear. In fact, bottlenecks tend to just move further down the pipeline, rearing their ugly heads whenever the rate at which you deploy resources conflicts with the rate at which you can test those resources.

This has led many organizations to move their DevOps practices to the cloud. With access to the latest technologies and unlimited resources on-demand, dreams of speed, efficiency, agility, and predictability can start to look like a reality.

Of course, things are never that simple. What follows is a look at the common challenges enterprises run into when marrying their DevOps practice with the cloud and how to overcome them. The content for this blog was adapted from our recent webinar–Is Your DevOps Ready for the Cloud? What You Need to Know. Check out the webinar for a demo and read a breakdown below.

Challenge –– lacking cloud talent

Given that the cloud has been around for a decade, it’s surprising how many large companies have very little in-house cloud expertise. To fill in the gaps, they can invest in cloud trainings and certifications for their existing team members or they can hire some new cloud talent. But both options are expensive and time-consuming. You could also go the partner route, plugging the holes by outsourcing to a knowledgeable service provider. But outsourcing tends to fly in the face of DevOps, adding more siloes and handoffs to the process.

Solution –– leverage DevOps tools with built-in cloud best practices

There are many DevOps tools out there that include guardrails for utilizing the cloud. The XebiaLabs DevOps Platform comes equipped with templates that can be used to quickly on-board to the cloud and effectively leverage the available services. And the templates can help with a range of cloud-based needs, including container deployments with Kubernetes clusters, serverless options, and even support for deploying monolithic apps to Amazon EC2.

By making it easy for teams to on-board to the cloud and quickly adopt the services, the learning curve is drastically reduced.

Make it happen … at the top of the pipeline

Your developers and DevOps engineers can leverage these templates as they work on their code, enabling them to quickly deploy resources like containers within the cloud platform you’re using.

Challenge –– not cannibalizing your developers’ time

As organizations start to move their workloads to the cloud, they quickly find out they’re not in for a one-to-one migration. There’s often scripted automation for certain processes, and many users within an enterprise just want things to work the way they always did while the workload was on-premise. In spite of migrating to the cloud to get away from the perpetual maintenance of custom scripts and to take advantage of standardized resources, the people who know most about your apps find themselves at square one. Typically, developers are not fans of writing scripts by hand to deliver instructions for every activity required to release software. And the organization shouldn’t be either. You want developers focusing on business functionality––adding value and working on your applications.

Solution –– Release Orchestration

Release orchestration tools help you reduce turbulence in the cloud by generating scripts for you. As you move away from custom interfaces and work with standard cloud technologies, you can integrate the tools in your pipeline and easily define your deployment requirements as code.

Make it happen … in the release pipeline

With an Application Release Orchestration tool like XL Release, you can eliminate the ad-hoc scripting, tie your pipelines together, and let developers continue to use their preferred tools.

Challenge –– applying security and governance

Security is in a state of crisis in the enterprise, with many large organizations employing a typical ratio of one security pro for every 100 developers. In order for security to not only be effective but also not be a bog, it needs to be embedded across the pipeline. A zero-day vulnerability is not going to be there when you build, so you need to ensure that code is being checked all the way to Production.

Solution –– protect cloud resources as if they were on-premise

A cloud platform follows a model of shared responsibility, meaning the vendor gives you the tools and you implement. Therefore, it’s still your responsibility to protect your resources as if they were on-prem. When you’re in the cloud you put a lot more resources out there––containers, microservices––that are all communicating with each other. Some of those things you can secure using network security. But with the recent boom of connected devices spawning from IoT, and the on-going proliferation of mobile devices, there’s a heightened need to identify and properly plan for how it all coexists within your architecture. 

Make it happen … in the release pipeline

You need to integrate security checks and controls–– using tools like Checkmarx, Black Duck, and Vault––throughout the release pipeline.

Challenge –– scaling to multiple teams

Because of everything we’ve mentioned so far, scaling cloud usage across an enterprise can be rough. Even for organizations that have some cloud expertise in house, it’s really hard to replicate that across the entire pipeline.

Solution –– leverage cloud blueprints

By taking the initial templates created by your cloud rock stars and applying some intelligent orchestration, you can convert them into blueprints so they can be used by all teams working on all apps in all environments. For example, by parameterizing the network components used in the initial cloud pipelines as inputs for your standard templates, an ARO tool can apply the correct inputs to the correct environments and make scaling a much simpler exercise.

Make it happen … across the pipeline

This is where you leverage the templates that were built by your most seasoned cloud teams and share them to promote standardization across all your apps and in all your environments.

Challenge –– lacking visibility and auditability

Data is the new oil, and as you start to leverage ARO, you’ll see that it’s everywhere. But most organizations are not making the right data available to the right users in order to properly take advantage of their oil fields.

Solution –– make data available to all users/roles

While various roles and tools exist in release pipelines for various reasons, they’re all moving to a common goal––delivering better software faster. In order to identify risks and bottlenecks throughout the pipeline, the various users need instant access to the data that is pertinent to their tasks and in the context of the release.

Developers need immediate access to data, so that they can start troubleshooting and debugging as soon as an issue arises. Project managers need to visualize pipelines so they can keep tabs on feature delivery. And auditors need to be able to easily visualize pipelines in the context of organizational and industry standards, so being audited becomes a non-event.

Make it happen … across the pipeline

Once you’re able to collect all of the data in a single place and correlate it in the context of the release as a whole, the opportunities for improvement are endless.

This image has an empty alt attribute; its file name is cloud-devops-webinar-4-1024x542.png

More from XebiaLabs:

Related Posts

Leave a Comment

Your email address will not be published. Required fields are marked *