emc world 2016 - mioaitl.08 infrastructure as code: not your parent's data center
TRANSCRIPT
1© Copyright 2016 EMC Corporation. All rights reserved. 1© Copyright 2016 EMC Corporation. All rights reserved.
INFRASTRUCTURE AS CODE: NOT YOUR PARENT’S DATA CENTERJONAS ROSLAND, EMC {CODE}DEVELOPER ADVOCATE & COMMUNITY MANAGER
4© Copyright 2016 EMC Corporation. All rights reserved.
• What are we trying to solve?• How our customers are looking at the problem• Enable yourselves with smart tools• DevOps is not Dev+Ops• Business results
AGENDA
5© Copyright 2016 EMC Corporation. All rights reserved.
Treat your Infrastructure as Code
6© Copyright 2016 EMC Corporation. All rights reserved.
• Inefficient workflows• Admin errors• Misspeled infromation adn configruations
WHAT ARE WE TRYING TO FIX?
7© Copyright 2016 EMC Corporation. All rights reserved.
BANE OF MY EXISTENCE
8© Copyright 2016 EMC Corporation. All rights reserved.
How long would it take your organization to deploy a
change that involves just a single line of code?
- Mary Poppendieck
9© Copyright 2016 EMC Corporation. All rights reserved.
• It’s lazy and time consuming• Non-repeatable• Breaks automation patterns
STOP CLICKING!
10© Copyright 2016 EMC Corporation. All rights reserved.
If you do one thing10 times in a month,
automate it
11© Copyright 2016 EMC Corporation. All rights reserved.
• Modern tools and workflows• Testable and repeatable patterns• Better planning when rolling out new app versions• Happier colleagues
WHAT IS THERE TO GAIN?
12© Copyright 2016 EMC Corporation. All rights reserved.
What are our customers doing?
13© Copyright 2016 EMC Corporation. All rights reserved.
Infrastructure As Code
14© Copyright 2016 EMC Corporation. All rights reserved.
Everything As Code
16© Copyright 2016 EMC Corporation. All rights reserved.
Storage Network Compute
17© Copyright 2016 EMC Corporation. All rights reserved.
Storage – Network - Compute
OS DNSDHCP DB
18© Copyright 2016 EMC Corporation. All rights reserved.
Storage – Network - Compute
OS – DNS – DHCP - DB
Apps Services Toolsets
19© Copyright 2016 EMC Corporation. All rights reserved.
RackHD
20© Copyright 2016 EMC Corporation. All rights reserved.
• Containers (Docker, Rkt, LXC)– Puts application and its requirements in a container, then
runs it for you• PaaS systems (Cloud Foundry, Deis, Heroku)
– Takes your code and automatically adds the needed requirements, then runs it for you
• Configuration management systems– Puppet, Chef, Ansible, Salt– Manages your app and its requirements based on your
explicit configurations
TOOLS - APPLICATIONS
21© Copyright 2016 EMC Corporation. All rights reserved.
APPLICATIONS RUN IN CONTAINERS
Code Code andrequirements Container
22© Copyright 2016 EMC Corporation. All rights reserved.
FROM php:7.0-fpm# install the PHP extensions we needRUN apt-get update && apt-get install -y libpng12-dev libjpeg-dev libpq-dev && rm -rf /var/lib/apt/lists/* && docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr && docker-php-ext-install gd mbstring opcache pdo pdo_mysql pdo_pgsql zipWORKDIR /var/www/htmlENV DRUPAL_VERSION 8.1.0ENV DRUPAL_MD5 a6bf3c366ba9ee5e0af3f2a80e274240RUN curl -fSL "http://ftp.drupal.org/files/projects/drupal-${DRUPAL_VERSION}.tar.gz" -o drupal.tar.gz && echo "${DRUPAL_MD5} *drupal.tar.gz" | md5sum -c - && tar -xz --strip-components=1 -f drupal.tar.gz && rm drupal.tar.gz && chown -R www-data:www-data sites
EXAMPLE – APPLICATIONS
23© Copyright 2016 EMC Corporation. All rights reserved.
• Deployment (RackHD, Terraform, Vagrant)– Deploying an OS is now seen as standard fare, not
something just done once• Configuration management systems
– Make sure services and OS settings are correctly applied
TOOLS – BASIC SUPPORT INFRASTRUCTURE
24© Copyright 2016 EMC Corporation. All rights reserved.
resource "vsphere_virtual_machine" ”mysql" { name = “database-01“ domain = “corp.local“ datacenter = “DC-02" cluster = “Cluster-03" vcpu = 2 memory = 8192 disk { datastore = “XTREMIO-04" template = "templates/centos-7.0-x86_64” iops = 10000 } gateway = “192.168.1.1" network_interface { label = “CORP-LAN" ip_address = “192.168.1.150" subnet_mask = “255.255.255.0" }}
EXAMPLE – BASIC SUPPORT INFRASTRUCTURE
25© Copyright 2016 EMC Corporation. All rights reserved.
node 'database-01.corp.local' { class { '::mysql::server': root_password => 'strongpassword', override_options => { 'mysqld' => { 'max_connections' => '1024' } } } mysql::db { 'mydb': user => 'admin', password => 'secret', host => 'database-01.corp.local', } }
EXAMPLE – BASIC SUPPORT INFRASTRUCTURE
26© Copyright 2016 EMC Corporation. All rights reserved.
• Deployment– RackHD, Puppet, Chef, Ansible– VMware Auto Deploy, Arista Zero Touch Provisioning
• Monitoring– Sensu, Prometheus, Zabbix, Nagios
• Logging– Logstash, Splunk, Fluentd
TOOLS – SOFTWARE-DEFINED INFRA
27© Copyright 2016 EMC Corporation. All rights reserved.
• Developer or outsourcer creates a new app• The application’s functionality is verified by
automated testing• The app is bundled into a Docker container• The container image is marked for release
AN EXAMPLE WORKFLOW – STEP 1
28© Copyright 2016 EMC Corporation. All rights reserved.
• Power on server• RackHD deploys your tested and verified OS• Puppet then deploys the needed software and
configures logging and monitoring
AN EXAMPLE WORKFLOW – STEP 2
29© Copyright 2016 EMC Corporation. All rights reserved.
• The server is now part of a larger resource cluster• The application gets rolled out by pushing the
container to the platform• Then we start again
Planning and coordination between the responsible teams is vital
AN EXAMPLE WORKFLOW – STEP 3
30© Copyright 2016 EMC Corporation. All rights reserved.
DevOps is an operations model where software
development principles are applied to operations
31© Copyright 2016 EMC Corporation. All rights reserved.
32© Copyright 2016 EMC Corporation. All rights reserved.
• No manual packaging• No manual configurations• No manual deployments• Configurable, testable and reliable• Executable documentation
END RESULT
33© Copyright 2016 EMC Corporation. All rights reserved.
• Roles and responsibilities mostly stay the same• Application developers will not roll out infrastructure
changes• Operations teams will not create new business
generating apps
The thing that’ll change is HOW you do you job
HOW WILL MY JOB CHANGE?
34© Copyright 2016 EMC Corporation. All rights reserved.
Business results?
35© Copyright 2016 EMC Corporation. All rights reserved.
Metric Improvement
New software/services 21%
Increase in revenue 19%
Improved quality 19%
Reduced time to market 18%
IMPROVEMENTS
Source: Puppet Labs State of DevOps Report 2015
36© Copyright 2016 EMC Corporation. All rights reserved.
Metric Super High vs Low
Deployment Frequency 30x
Deployment Lead Time 200x
Mean Time To Recover 168x
Change Success Rate 60x
Source: Puppet Labs State of DevOps Report 2015
DEPLOYMENTS
37© Copyright 2016 EMC Corporation. All rights reserved.
88% of senior IT execs are planning to invest in
process change
Are you?Source: DevOps: The Worst-Kept Secret to Winning in the Application Economy
38© Copyright 2016 EMC Corporation. All rights reserved.
• Stop clicking, automate!• Invest time and money in your operations –
No one wants to fight fires every day• Focused groups that collaborate can accomplish
more• Executable documentation leads to less failures
SUMMARY
39© Copyright 2016 EMC Corporation. All rights reserved.
Before opening up for questions
41© Copyright 2016 EMC Corporation. All rights reserved.
Data Persistence in the New Container WorldWednesday 3PM
Joshua BernsteinVP of Technology for ETD
Tobi Knaup CEO & Co-Founder of Mesosphere
Guru Session
42© Copyright 2016 EMC Corporation. All rights reserved.
@EMCcode@jonasrosland
emccode.comcommunity.emccode.com
Come visit us at Booth #1044 or in the vLab!
Questions?
43© Copyright 2016 EMC Corporation. All rights reserved. 43© Copyright 2016 EMC Corporation. All rights reserved.