As part of the DevOps as Code feature set, XebiaLabs blueprints for Amazon Web Services (AWS) help you create declarative YAML files to simplify the AWS infrastructure provisioning process in XL Deploy. You can use blueprints to jumpstart migrating your applications from on-premise to the cloud, or to start new cloud native projects.

The XebiaLabs DevOps Platform already offers a mature set of infrastructure provisioning integrations with AWS. The blueprints feature provides an alternative to using the XL Deploy UI, enabling you to generate YAML files that you can store alongside your code. Blueprints are templates that streamline the provisioning process using standardized configurations built on best practices, allowing you to quickly define your AWS infrastructure provisioning parameters, customize them, and begin deploying your applications.

How blueprints work

The blueprints feature is part of the DevOps as Code feature set. You use the XL CLI blueprint command to select a blueprint. The XL CLI then walks you through questions and settings specific to the selected blueprint and creates declarative YAML files that you can store with your code and use to provision cloud resources, deploy applications and manage your release pipeline.

XebiaLabs AWS blueprints

You can choose from one of three XebiaLabs-provided blueprints for your AWS provisioning infrastructure:

  • microservice-ecommerce: Deploy a microservices-based container application to EKS (Elastic Kubernetes Service)
  • monolith: Deploy a monolithic container application to ECS (Elastic Container Service)
  • datalake: Deploy a big-data data lake solution (based on https://aws.amazon.com/answers/big-data/data-lake-solution/)

Note: A great way to get started is to experiment with a working tutorial based on the microservice e-commerce blueprint.

Run a blueprint using XL CLI

Run a blueprint using the following command:

xl blueprint

For each type of blueprint, the XL CLI prompts you to provide details such as a name for the group of instances you will deploy, your AWS credentials, an AWS region to deploy to, the instance sizes to use, and the base AMI images used on the instances. Executing the blueprint command will generate XL YAML files that you can apply to:

  1. Create the necessary configuration items in XL Deploy
  2. Create the relationships between these configuration items
  3. Apply defaults based on best practices
  4. Create a template in XL Release that you can use to manage your deployment pipeline.

You can adjust or customize specific details using the XL YAML files and then use the XL CLI apply command to provision your AWS infrastructure and deploy your application.

Apply the resulting YAML file

Applying YAML files generated by the blueprint results in:

  • Infrastructure, environment and application CIs being created in XL Deploy
  • Templates to manage your deployment pipeline in XL Release

Use case examples

Here are a few typical use cases that can be managed using blueprints.

Move from on-premises to the cloud

You want to move your application from an on-premises infrastructure to the cloud. You can use a blueprint to generate XL YAML files, check them into your source code management repository and deploy your application to AWS.

Manage cloud configurations “as code”

You already run an application in AWS and need a better way to manage configuration of your cloud instances. By defining the configuration in XL YAML files and checking them in alongside code in your repository, you can better control configuration specifications and maintain modifications over time.

Support audit requirements

Your company auditor wants to verify that changes to your infrastructure have been properly tracked over time. You can simplify this tracking by providing the commit history of the XL YAML file that defines the infrastructure.

Resources to get started