This post is from the XebiaLabs blog and has not been updated since the original publish date.
How Application Release Automation Helps You Deploy to the Cloud
Most things that matter take work, and that includes migrating applications from on-premise infrastructure to the cloud. Many of the promised benefits of cloud are true: faster delivery of apps and flexible and scalable infrastructure at lower cost, for example. But for enterprises, moving to the cloud is hard, regardless of whether you’re moving to a full cloud or hybrid solution.
Migrating to the Cloud at Enterprise ScaleMigrating applications to the cloud is not as easy as it may initially seem because getting enterprise applications deployed at scale is complex. In fact, the specific steps involved in moving applications to the cloud are inherently tied to the infrastructure itself, further compounding the problem. So, it makes perfect sense that changing that infrastructure landscape is challenging, full of risk, and something that many organizations try to put off. Fortunately, Application Release Automation (ARA), also called Continuous Delivery and Release Automation (CDRA) and Application Release Orchestration (ARO), can help you overcome these complexities and put you on the road to moving your applications to the cloud at enterprise scale.
What Does Application Release Automation Do for Deployments?Along with many other necessary release activities, an Application Release Automation solution defines and places your application components and configurations onto the correct infrastructure targets, whether physical, virtual, or cloud. These components can be things like containers, binary code, connection configurations, database updates, queue definitions, or web service endpoints. The ARA solution packages your application with its components and dependencies then automatically installs it on target environments. In most ARA tools, you do two things to make this happen:
1. Define the application in the ARA solution. Usually, you’ll have a deployment package for each version of the application. This package contains the artifacts and configuration items that will make the application run.
2. Specify the environments where you want to deploy the package.After you’ve created your deployment package and specified the target environments, you can deploy applications to those environments. Automating deployments in this way is the first step in getting ready to migrate applications to the cloud. But to really make your cloud transition smooth, you need to standardize your deployments. This is where an ARA solution with model-based deployment comes in.
Model-based ARA Solutions Remove the Complexity of Moving to the CloudA model-based ARA solution decouples applications from target environments, removing the requirement to manually script each deployment step in every single workflow for every single application. Instead, you specify each component file or “ingredient” that makes up your application along with the environment you want to deploy those components onto. That environment contains the container platforms, cloud-based instances, servers, or middleware required to run your application. As long as the application and environment components are supported, the ARA tool determines the steps that are needed to deploy the application and knows the order in which to run them.Model-based deployments let you easily create and reuse deployment models and change them on the fly without having to rescript. The ability to model your deployments is critical for scaling DevOps across an enterprise, which typically includes hundreds or thousands of applications, multiple teams, and a mix of old and new technologies.To put it bluntly, if you want to expand DevOps enterprise-wide, you must have ARA in place. (See what top analysts Gartner and Forrester have to say about why ARA is so important for scaling DevOps.)
Watch the video below to see what model-based deployment looks like in XL Deploy.
ARA Gives You the Flexibility to Choose and Change Your Cloud StrategyTransitioning to the cloud requires that you to decide how you want to do it—all at once, or piece by piece. Model-based ARA supports a number of different use cases; for example, if you don’t want to jump in head first, you can start small by moving parts of an application, such as static web content and front-end web servers to the cloud. Or you can go big bang and move the whole app to the cloud if you want. Having the choice matters. A model-based ARA solution doesn't care if the targets in an environment are on premise or in the cloud. You just need to be able to interact with the target somehow, so SSH, WinRM, or any web service flavor will do. You don't even need to define a new workflow or deployment steps because the ARA tool evaluates the changes and figures out the new deployment plan for you. Deployment issues are one of the things you need to solve on the journey to the cloud, among many others. But solving deployment issues shouldn't be difficult; implementing the right solution will provide benefits that go beyond your cloud move, such as faster and more reliable deployments, the ability to keep full audit trails and maintain compliance, better visibility into and control of the release process, and intelligence about the entire delivery pipeline so you can continually improve.
Check Out the XebiaLabs DevOps Platform for ARAThe XebiaLabs DevOps Platform is an ideal ARA solution to help you transition to the cloud thanks to its model-based approach and the many features it offers for release orchestration. With the XebiaLabs DevOps Platform, you can change an environment or application without having to change a workflow. Once you can do that, you can see the cloud simply as a different environment and not a scary new world that's only for new applications.
- Shift to the Cloud with XebiaLabs
- 8 Things to Know Before Starting Application Release Automation
- XL Deploy: Enterprise-scale Application Release Automation for any environment
- 2-minute Tip: Provision Cloud Environments with XebiaLabs
- Go Prime Time with Kubernetes: Scale Deployments with XebiaLabs
- The Secret Behind Model-based Deployments