This post is from the XebiaLabs blog and has not been updated since the original publish date.
AWS Quick Start: A New User’s First-Hand Experience
AWS Quick Starts help users quickly and securely deploy various technologies in the AWS cloud. Scott Erlanger, Senior Product Marketing Manager at XebiaLabs, provides his first-hand experience with the XebiaLabs Quick Start.
Where to begin?Having only joined XebiaLabs three months ago––and with limited AWS experience––I decided to use the AWS Quick Start to deploy the XebiaLabs DevOps Platform to AWS. If the claims are true, I'll have a fully-functioning release orchestration and deployment automation platform up and running in the cloud in just 40 minutes. Deploying to the cloud is often a complicated process fraught with challenges and pitfalls. After all, many companies hire dedicated cloud experts. I now take my first step into the unknown to experience this firsthand. I decide to start at the most logical place, the Deployment Guide. The Deployment Guide acts like a user manual, containing an overview of the deployment architecture, steps for configuring your AWS account and XebiaLabs licenses, and a step-by-step guide to walk you through the Quick Start process. I highly recommend reading the Deployment Guide cover to cover to develop a game plan before you start. As for me, I needed both an AWS account and a XebiaLabs license before I could begin. If you already have a XebiaLabs DevOps Platform license, you may use it for the Quick Start. If you do not yet have a license, you can get one by signing up for a free trial of the XebiaLabs DevOps Platform.
Launching to the CloudIn the Deployment Guide Quick Links, I push the big blue “Launch (for new VPC)” button to create my environment from scratch. Fortunately, the Quick Start template and many of the form fields are pre-populated with sensible default values. As I’m trying to complete all of the needed fields to launch the stack, my journey comes to an abrupt halt before it even begins. SCREECH…CRASH…an error message indicates that I have not provisioned enough elastic IP addresses. In my excitement to move to the cloud, I made the rookie mistake of moving forward before correctly provisioning my AWS environment. I decide to go back to review all of my parameters, and it turns out that not only was my networking incorrectly provisioned, I also needed to adjust my EC2 instance types. After fixing my AWS configuration, I relaunch my deployment. Figuring that this might take a while and it’s likely I will have more debugging in my future, I decide to take a quick break to grab lunch. I return already wearing my debug hat, fully expecting to begin digging through another error. But to my delight, the installation had successfully completed! I load up the URLs provided by AWS and confirm that both XL Release and XL Deploy are up and running on AWS and ready for use. I have successfully (and quite literally) launched the XebiaLabs DevOps Platform to the cloud in the time it takes to grab a slice of pizza.
Philosophical Musings, Sage Wisdom, AdviceThe promise of deploying to the cloud in 40 minutes was true. Below are some best practices and tips from my learning experience to help you along your journey.
- The Deployment Guide is your friend…read it –– Resist the temptation to start before reading the manual. The tidbits and guidance will help you along your way, and moving too fast is a recipe for failure.
- Provision, provision, provision –– Before deploying to the cloud, you must determine your infrastructure requirement. This includes system computes and networking. Neglecting this preparation ensures errors during deployment or later on. For reference, I configured my environment with xlarge EC2 and RDS database instance types.
- Watch your progress –– It is easy to track the progress of your deployment within AWS CloudFormation, making it easy to tell when and where a failure occurs.
Potential PitfallsI also want to highlight some specific pitfalls I encountered that you should look to avoid.
- Use a meaningful stack name –– When you encounter a deployment error in AWS, a meaningful name greatly simplifies both debug and clean-up.
- Create a key pair (for the specific region) in advance –– Create a key pair and specific for the region using EC2.
- XL Release License and XL Deploy License fields –– You must enter a Base64 encoded license string into the license fields. The Base64 string is provided with a trial license. If you have an existing license file, you must convert its contents using a Base64 encoder. Also, make sure that there are no extraneous spaces within the string.