This is a guest post by Krishnan Badrinarayanan – product marketing manager for LiveRebel. A Java geek turned product marketer, Krishnan is well versed with issues that plague IT teams and is passionate about applying technology to solve their challenges.
As a SaaS vendor, provider of online apps, or online retailer you already understand how important, although challenging, it is to meet constantly evolving user needs, and offer around-the-clock, worldwide availability. This especially holds true when users have a range of products and services from different vendors to choose from. Great products give you a competitive edge and most importantly, lead to happy customers.
How do Dev and Ops teams rise to the challenge?
Development teams create products and features rapidly as users demand more, and operations teams work on delivering them to users quickly, without interrupting service or compromising stability. This usually means calling for a maintenance window at 3AM on a Sunday. And this still doesn’t ensure that no user is interrupted! Plus, if something were to go wrong, the folks that can help fix it are usually sound asleep at home during these midnight deployments.
Enter Continuous Delivery
How do you continuously deliver cool features to your users, proactively, seamlessly and reliably? And during business hours without impacting user experience? The answer: AUTOMATION.
With the right tools, you can implement a single application deployment pipeline – from developer to user – with all the checks to ensure that no bugs find their way to users. Your team should be able to develop, safely test and deploy updates seamlessly and as frequently as required, with zero downtime and no impact on users. This is more or less known as Continuous Delivery.
Tooling for Continuous Delivery with Bamboo and LiveRebel
Our tools of choice – Atlassian’s Bamboo and ZeroTurnaround’s LiveRebel, a deployment automation and server management tool – will help build an application deployment pipeline. Once implemented, the diagram below shows how code updates go from developers, through QA and staging, into production, and in front of your users. We will go over each stage one by one.
- Developers, based on user needs and feedback, develop features and check them into source control. When source control detects a change in the code base, it requests Bamboo to generate a build.
- Atlassian’s Bamboo CI server generates a build using the latest code. If the build fails, it immediately sends feedback to the developers who then proceed to fix it. This goes on until a build is successfully generated, which is then ready for testing. It passes the build over to LiveRebel to deploy to the testing environment.
- ZeroTurnaround’s LiveRebel deploys the build with required database and configuration changes on servers of your choice. Based on the Bamboo plan, the build is tested automatically or manually. After it passes all tests, LiveRebel then deploys the build into the staging environment and runs smoke tests. If successful, the build is ready to be deployed into production.
- LiveRebel finally deploys the build into production, with zero downtime and no impact on users or ongoing processes.
The benefit: Reduced risk, more user feedback, happy customers!
Practicing Continuous Delivery enables software teams to automatically release features, however small, regularly. Users get to use them right away and provide feedback immediately via social media, forums, email or other channels you can listen into. You are also exposed to a lot less risk since you avoid making massive updates that could run successfully in testing but fail in production (dang!). With LiveRebel, if a deployment were to fail in production, it will automatically rollback to the previous state without impacting users.
Setting Up Your Own
You will need to first install both Bamboo and LiveRebel. As you proceed to do so, you will receive information on how you can configure them individually.
Now You’re Ready to Practice Continuous Delivery!
By integrating LiveRebel with Bamboo, you have now created a application deployment pipeline right from development, through QA and Ops, directly to your users. You and your team can now confidently practice Continuous Delivery methodologies and provide your users new features with 24/7 uptime. Plus, you and your colleagues will get to sleep soundly on deployment Sunday!