EMC World 2016 - mioaITL.08 Infrastructure as Code: Not Your Parent's Data Center

40
1 © Copyright 2016 EMC Corporation. All rights reserved. 1 © Copyright 2016 EMC Corporation. All rights reserved. INFRASTRUCTURE AS CODE: NOT YOUR PARENT’S DATA CENTER JONAS ROSLAND, EMC {CODE} DEVELOPER ADVOCATE & COMMUNITY MANAGER

Transcript of EMC World 2016 - mioaITL.08 Infrastructure as Code: Not Your Parent's Data Center

Page 1: EMC World 2016 - mioaITL.08 Infrastructure as Code: Not Your Parent's Data Center

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

Page 2: EMC World 2016 - mioaITL.08 Infrastructure as Code: Not Your Parent's Data Center

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

Page 3: EMC World 2016 - mioaITL.08 Infrastructure as Code: Not Your Parent's Data Center

5© Copyright 2016 EMC Corporation. All rights reserved.

Treat your Infrastructure as Code

Page 4: EMC World 2016 - mioaITL.08 Infrastructure as Code: Not Your Parent's Data Center

6© Copyright 2016 EMC Corporation. All rights reserved.

• Inefficient workflows• Admin errors• Misspeled infromation adn configruations

WHAT ARE WE TRYING TO FIX?

Page 5: EMC World 2016 - mioaITL.08 Infrastructure as Code: Not Your Parent's Data Center

7© Copyright 2016 EMC Corporation. All rights reserved.

BANE OF MY EXISTENCE

Page 6: EMC World 2016 - mioaITL.08 Infrastructure as Code: Not Your Parent's Data Center

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

Page 7: EMC World 2016 - mioaITL.08 Infrastructure as Code: Not Your Parent's Data Center

9© Copyright 2016 EMC Corporation. All rights reserved.

• It’s lazy and time consuming• Non-repeatable• Breaks automation patterns

STOP CLICKING!

Page 8: EMC World 2016 - mioaITL.08 Infrastructure as Code: Not Your Parent's Data Center

10© Copyright 2016 EMC Corporation. All rights reserved.

If you do one thing10 times in a month,

automate it

Page 9: EMC World 2016 - mioaITL.08 Infrastructure as Code: Not Your Parent's Data Center

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?

Page 10: EMC World 2016 - mioaITL.08 Infrastructure as Code: Not Your Parent's Data Center

12© Copyright 2016 EMC Corporation. All rights reserved.

What are our customers doing?

Page 11: EMC World 2016 - mioaITL.08 Infrastructure as Code: Not Your Parent's Data Center

13© Copyright 2016 EMC Corporation. All rights reserved.

Infrastructure As Code

Page 12: EMC World 2016 - mioaITL.08 Infrastructure as Code: Not Your Parent's Data Center

14© Copyright 2016 EMC Corporation. All rights reserved.

Everything As Code

Page 13: EMC World 2016 - mioaITL.08 Infrastructure as Code: Not Your Parent's Data Center

16© Copyright 2016 EMC Corporation. All rights reserved.

Storage Network Compute

Page 14: EMC World 2016 - mioaITL.08 Infrastructure as Code: Not Your Parent's Data Center

17© Copyright 2016 EMC Corporation. All rights reserved.

Storage – Network - Compute

OS DNSDHCP DB

Page 15: EMC World 2016 - mioaITL.08 Infrastructure as Code: Not Your Parent's Data Center

18© Copyright 2016 EMC Corporation. All rights reserved.

Storage – Network - Compute

OS – DNS – DHCP - DB

Apps Services Toolsets

Page 16: EMC World 2016 - mioaITL.08 Infrastructure as Code: Not Your Parent's Data Center

19© Copyright 2016 EMC Corporation. All rights reserved.

RackHD

Page 17: EMC World 2016 - mioaITL.08 Infrastructure as Code: Not Your Parent's Data Center

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

Page 18: EMC World 2016 - mioaITL.08 Infrastructure as Code: Not Your Parent's Data Center

21© Copyright 2016 EMC Corporation. All rights reserved.

APPLICATIONS RUN IN CONTAINERS

Code Code andrequirements Container

Page 19: EMC World 2016 - mioaITL.08 Infrastructure as Code: Not Your Parent's Data Center

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

Page 20: EMC World 2016 - mioaITL.08 Infrastructure as Code: Not Your Parent's Data Center

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

Page 21: EMC World 2016 - mioaITL.08 Infrastructure as Code: Not Your Parent's Data Center

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

Page 22: EMC World 2016 - mioaITL.08 Infrastructure as Code: Not Your Parent's Data Center

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

Page 23: EMC World 2016 - mioaITL.08 Infrastructure as Code: Not Your Parent's Data Center

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

Page 24: EMC World 2016 - mioaITL.08 Infrastructure as Code: Not Your Parent's Data Center

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

Page 25: EMC World 2016 - mioaITL.08 Infrastructure as Code: Not Your Parent's Data Center

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

Page 26: EMC World 2016 - mioaITL.08 Infrastructure as Code: Not Your Parent's Data Center

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

Page 27: EMC World 2016 - mioaITL.08 Infrastructure as Code: Not Your Parent's Data Center

30© Copyright 2016 EMC Corporation. All rights reserved.

DevOps is an operations model where software

development principles are applied to operations

Page 28: EMC World 2016 - mioaITL.08 Infrastructure as Code: Not Your Parent's Data Center

31© Copyright 2016 EMC Corporation. All rights reserved.

Page 29: EMC World 2016 - mioaITL.08 Infrastructure as Code: Not Your Parent's Data Center

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

Page 30: EMC World 2016 - mioaITL.08 Infrastructure as Code: Not Your Parent's Data Center

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?

Page 31: EMC World 2016 - mioaITL.08 Infrastructure as Code: Not Your Parent's Data Center

34© Copyright 2016 EMC Corporation. All rights reserved.

Business results?

Page 32: EMC World 2016 - mioaITL.08 Infrastructure as Code: Not Your Parent's Data Center

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

Page 33: EMC World 2016 - mioaITL.08 Infrastructure as Code: Not Your Parent's Data Center

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

Page 34: EMC World 2016 - mioaITL.08 Infrastructure as Code: Not Your Parent's Data Center

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

Page 35: EMC World 2016 - mioaITL.08 Infrastructure as Code: Not Your Parent's Data Center

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

Page 36: EMC World 2016 - mioaITL.08 Infrastructure as Code: Not Your Parent's Data Center

39© Copyright 2016 EMC Corporation. All rights reserved.

Before opening up for questions

Page 37: EMC World 2016 - mioaITL.08 Infrastructure as Code: Not Your Parent's Data Center

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

Page 38: EMC World 2016 - mioaITL.08 Infrastructure as Code: Not Your Parent's Data Center

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?

Page 39: EMC World 2016 - mioaITL.08 Infrastructure as Code: Not Your Parent's Data Center

43© Copyright 2016 EMC Corporation. All rights reserved. 43© Copyright 2016 EMC Corporation. All rights reserved.

Page 40: EMC World 2016 - mioaITL.08 Infrastructure as Code: Not Your Parent's Data Center