Manageacloud at LinuxConf 2016
Several team members of Manageacloud joined LinuxConf 2016 at Melbourne. Manageacloud had presence in several talks as new emerging technology.
Managing Infrastructure as Code, by Allan Shone
Description of the different technologies available to automate the deployment of servers and infrastructures, by analising Ansible, Chef, Puppet, CloudFormation, Terraform and Manageacloud.
Continuous Delivery Using Blue-Green Deployments and Immutable Infrastructure, by Ruben Rubio Rey
I do realise that the Q&A could be enhanced, and I decided to rewrite the questions with more accurate answers.
1) When you are modifying a column on a table in the database, blue green deployments requires to create the new column name, synchronise the information between the old and the new column and then destroy the old column. What solutions are available for the data synchronisation while you are performing a blue green deployment ?
You can solve the data synchronisation problem in two different ways:
- From the database, using triggers to synchronise the information between two columns
- From the application, which requires an extra deployment. First, you need to deploy the version that works with both columns, and synchronise the data. Then you need to deploy the version that operates with the new column only, allowing to safely delete the old version from the table.
2) What do you recommend for backing up the database ?
If you have a backup strategy for your current deployments, blue green deployments doesn't require anything additional.
Please note that when you are working with blue green deployments you can deploy the database changes in advance from the code changes. This can be easily synchronised with a backup strategy to make sure that data won't be lost if things goes wrong when performing the upgrade.
3) In the Framework Approach, how do you cope if you change cloud providers ?
Service Wrappers, in theory, are able to find the common denominator between cloud suppliers, so swapping cloud supplier should be easy. In practice, cloud suppliers are so different that the code that you write is very specific for the given cloud supplier. Which means, that if you use the service wrapper, you need to customise the code depending on the cloud supplier that you are using.
The Framework Approach requires to update the CLI for the different actions, which, in practice, is not that different from the existing Service Wrappers.
4) If you use the Framework approach you need to keep up with the new updates from the cloud supplier yourself, while if you use the Service Wrappers those updates will be performed by the company which maintains the wrapper. What is the difference between the Service Wrapper and the Framework approach ?
Service Wrappers keeps up to date with the new features released by the cloud supplier by upgrading the wrapper. Therefore, you don't really know when the new features will be available for you.
The Framework Approach uses the Command Line Interface, and you need to maintain the different commands with subsequent versions. But please note that:
- Cloud Suppliers tends to be backwards compatible, therefore they add features rather than modifying existing ones.
- You have available of new features right away
- You can always define what version of the CLI is compatible with your existing infrastructure blueprint, which allows you to have control full control over upgrades.
There is no additional disadvantages, and potential advantages, if you decide to use the Framework Approach.
5) What you been burn before by a staging environment that was not able to capture the problems ?
The objective of Blue Green deployments is wider than just capturing problems on live deployments. You ensure zero downtime, it allows you to have an standard procedure to roll back and ensures complete documentation about of how the production infrastructure works.
Rolling back is not a matter of 'if' but a matter of 'when'. If you do a great job you won't have to roll back often. If you do a poor job the roll back ratio will be higher. Experience shows that the need of rolling back is a matter of time, that is why the smart thing is to be ready when you are required to do so.
For further questions don't hesitate to contact me at ruben at manageacloud dot com. For more information about the Framework Approach, please visit https://manageacloud.com