A talk on how Rackspace is trying to simplify DevOps for their customers, deploying infrastructure through the code via Slack, how chatops has benefited the customer experience, using NewRelic to drive autoscaling and Blue / green deployments.
Video: https://www.youtube.com/watch?v=6HYGHx6pHxY
Join DevOps Exchange London here: http://www.meetup.com/DevOps-Exchange-London
Follow DOXLON on twitter http://www.twitter.com/doxlon
From: http://www.rackspace.co.uk/devops/automation-service
Our vision / aspirational statement. Bold ambition.
Go as close to the application as possible.
What does this mean?
Ease of use – visibility.
How far can we go to make DevOps easy?
Reactiveness in to loads and peaks. POC use case, impacting our customer base.
Trialling in beta with DevOps customers
Combining DevOps with Fanatical support, exploring with customers.
Allowed fast collaborative working with customers during their onboarding when high touch engineering is required.
Plugins for everything, but also being able to create your own plugins / bots
User story of building to deploy, high visibility of the entire release cycle, from development, through testing, release and APM.
Slack and a bot
Ruby
Interfaces with the user
External service hooks (new relic, github, chef)
New Relic:
Monitoring
Alerting
Drives auto scale behaviour
Rackspace:
Cloud Servers
Cloud database
Orchestration Stacks / HEAT
Not live: Monitoring data
With an APM, react to trends. Orchestrate workflows ahead of time.
What the audience will see
Customer’s application – Drupal 7
Bot functionality
Deploying in to the staging environment
Bot triggers build, connects to openstack
Don’t have to leave the chat, but can see the effect in the Rackspace control panel
Components defined in the HEAT template
Load balancer is configured, we’ve asked for SSL offloading
Database is getting created, restoring from a static file
The HEAT template has defined some information to be shown, in this case webhook information and the LB IP
Autoscale group is configured, nodes are built
Chef runs to configure the nodes with Apache, php-fpm
When they’ve been configured they become active in the load balancer pool
We can load the website as the DNS was also changed automatically
Applications are configured by the HEAT template to report in to newrelic
Good response times
Release version 2 (tag in github) that the developers have been working on
Chef loads over the top of the existing nodes to put the new application live
We can see the application deployment
We can see the specific change and that apdex has been negatively affected
Spike in transaction time
Apdex drops
We can see mysql is to blame
See the history of this transaction
Where it’s executed from in php
Even the SQL statement
Alert has fired as apdex has dropped
Force the application back to v1
Everything is back to normal following the second version release
Configure what is going to happen when there’s an alers
Alert on apdex, we can raise a support ticket for this too
Rudimentary load test
Can see that the load has risen and an alert has fired based on falling apdex
Channel is updated with newrelic alert and autoscale event
Returns to normal, alert is closed
Alert clears, downscale event happens
Explain the process of deploying infrastructure using blue / green deployments behind cloud load balancers.
Create a new production environment alongside the application, transfer user traffic to the new environment.
Heavy in investment but you can change in ms.
Database driven, when needing typically slower migrations
Create our production environment, but don’t switch DNS or create DB
Production stack built
No DNS / DB
Built and configured by chef
Can do the DNS change to put the production live from a mobile phone!
And the site is live
Call to action: See us at the pavilion, see the demo in action, discuss how we’re doing DevOps for customers.