ms insights brazil 2015 containers and devops

25
Container … peace in the house with DevOps MDC304

Upload: damien-caro

Post on 15-Apr-2017

507 views

Category:

Software


0 download

TRANSCRIPT

Apresentao do PowerPoint

Container peace in the house with DevOps

MDC304

Special thanks toAleksandar Djordjevic @Alex_ZZ_ Srdjan Bozovic @zmajcekbojelila

@[email protected] Caro

Curious about DevOps Tech savvyGlobe trotterTechnical evangelist manager

2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.9/30/2015 9:26 AM2

Traditional development approachSoftware goes from development to production Software release often tossed between development teams and operationDeployment scripts created by operations team or hackedDivergence between production and QABuild once, run anywhere

Taken from What is DevOps http://dev2ops.org/2010/02/what-is-devops/

Development kicks things off by tossing a software release over the wall to Operations. Operations picks up the release artifacts and begins preparing for their deployment. Operations manually hacks the deployment scripts provided by the developers or creates their own scripts. They also hand edit configuration files to reflect the production environment, which is significantly different than the Development or QA environments. At best they are duplicating work that was already done in previous environments, at worst they are about to introduce or uncover new bugs.Operations then embarks on what they understand to be the currently correct deployment process, which at this point is essentially being performed for the first time due to the script, configuration, process, and environment differences between Development and Operations. Of course, somewhere along the way a problem occurs and the developers are called in to help troubleshoot. Operations claims that Development gave them faulty artifacts. Developers respond by pointing out that it worked just fine in their environments, so it must be the case that Operations did something wrong. Developers are having a difficult time even diagnosing the problem because the configuration, file locations, and procedure used to get into this state is different then what they expect (if security policies even allow them to access the production servers!).Time is running out on the change window and, of course, there isnt a reliable way to roll the environment back to a previously known good state. So what should have been an eventless deployment ended up being an all-hands-on-deck fire drill where a lot of trial and error finally hacked the production environment into a usable state.

3

Software delivery challenges Frustration

Delays

Lack of insights

?

But how is it that some companies like Netflix, Amazon, Etsy, and Facebook regularly deliver new features and innovation to their customers while other companies must wait weeks or months to release software updates?Today, we see continual frustration on all sides:

Business, customers and IT all suffer from a lack of collaboration and communication between development and operations in software projectsThis increases time and labor involved in delivering and maintaining software systems not a good thing in a world where fast time to market is keyAdd to that the problem that much of what we build is based on assumptions instead of hard data and you can see how this could easily lead a team to build the wrong thing

The inability to deliver software efficiently and react quickly to changes can lead to much more than just frustration in the long run, this can threaten your entire business!

Build 2015 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.9/30/2015 9:26 AM4

DevOps Benefits Source: https://puppetlabs.com/

Deploy code 30x fasterand with 200xshorter lead time as compared to their lower-performing peersDevOps Practices improve IT performanceStrong IT Performance is a competitive advantageFirms with high-performing IT organizations were 2x as likely to exceed their profitability, market share, and productivity goalsHave 60x fewer failuresand recover from failure 168x faster as compared to their lower-performing peers

2014 Report collected in December 2013 had over 9,200 survey respondents across 110 countries with companies of ALL sizes and verticals.2015 Report had 4,976 respondents with companies of ALL sizes and verticals.

2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.9/30/20155

DevOps: the three stage conversation2Process3Products1People

DEV

OPS

People = CultureFundamental attributes of successful cultures: Shared mission and incentives: infrastructure as code, apps as services, DevOps/all as teams You need to consider your hardware as a commodity, (don't give your servers names) , servers are like farm animals, it is just harder if you let theids name them Build deep instrumentation into services, push complexity up the stack Rally around agile, shared metrics, CI, service owners on call, etc. Changing the culture: any change takes time, changing culture is no exception and you can't do it alone, exploit compelling events to change culture: downtimes, cloud adoption, devops buzz

PROCESSDefinition and design, compliance, and continuous improvementPEOPLEResponsibilities, management, skills development, and disciplineProductsTools and infrastructure

S4 Solution Specialist Sales Summit 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.9/30/2015 9:26 AM6

List of DevOps PracticesInfrastructure as Code (IaC)Continuous IntegrationAutomated TestingContinuous DeploymentRelease ManagementApp Performance MonitoringLoad Testing & Auto-ScaleAvailability MonitoringChange/Configuration ManagementAutomated Environment De-ProvisioningSelf Service EnvironmentsAutomated Recovery (Rollback & Roll-Forward)Hypothesis Driven Development Testing in ProductionFault InjectionUsage Monitoring/User Telemetry

One Marketing Template

2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.9/30/20157

List of DevOps PracticesInfrastructure as Code (IaC)Continuous IntegrationAutomated TestingContinuous DeploymentRelease ManagementApp Performance MonitoringLoad Testing & Auto-ScaleAvailability MonitoringChange/Configuration ManagementAutomated Environment De-ProvisioningSelf Service EnvironmentsAutomated Recovery (Rollback & Roll-Forward)Hypothesis Driven Development Testing in ProductionFault InjectionUsage Monitoring/User Telemetry

One Marketing Template

2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.9/30/20158

Transportation in 1927

https://en.wikipedia.org/wiki/Break_bulk_cargo#/media/File:Queens_Wharf,_Port_Adelaide,_before_1927.jpeg

This image is of Australian origin and is now in the public domain because its term of copyright has expired. According to the Australian Copyright Council (ACC), ACC Information Sheet G023v16 (Duration of copyright) (Feb 2012).

9

Transportation in 2015Largest cargo container in the word

From https://commons.wikimedia.org/wiki/File:Estelle_Maersk_(6953651598).jpg?uselang=fr

This file is licensed under the Creative Commons Attribution-Share Alike 2.0 Generic license.

10

AppA

Containers vs. VMs Hypervisor (Type 2)Host OSServer

GuestOS

Bins/Libs

AppA

GuestOS

Bins/Libs

AppB

GuestOS

Bins/Libs

App ADocker Host OSServer

Bins/Libs

App A

Bins/Libs

App BApp BApp BApp B

VM

ContainerContainers are isolated,but share OS and, whereappropriate, bins/libraries

GuestOS

GuestOS

result is significantly faster deployment, much less overhead, easier migration, faster restart

11

Linux vs. Windows Containers

2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.9/30/2015 9:26 AM12

Build once, run anywhereApplication codeInfrastructure code

Deployable unit

staging

Dev

production

Test

Azure Virtual MachineMVC 4

Mono + nginx

DebianDemonstration - ApplicationWeb application Web Frontend running on mono + nginx MySQL database

Infrastructure platformDeployment: Azure Resource Manager (ARM) templateAutomation engine: Azure automation Docker containers to simplify the deployment

Integration piecesApplication build : Visual Studio OnlineContainer build : DockerHub

MySql

Debian

2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.9/30/2015 9:26 AM14

Automation Architecture

Code repositorySource control

Continuous IntegrationHosted Build

Docker Build triggeredBuild order send to GitHub

Container onDockerHub

Fully automated deployment

Automation Continuous Integration

Code repositorySource control

Continuous IntegrationVSO Hosted Build

Automation Continuous Integration

Code repositorySource control

Continuous IntegrationVSO Hosted Build

Docker Build triggeredBuild order send to GitHub

Container onDockerHub

Automation Infrastructure as Code

Code repositorySource control

Continuous IntegrationVSO Hosted Build

Docker Build triggeredBuild order send to GitHub

Container onDockerHub

Fully automated deployment

Automation Architecture

Code repositorySource control

Continuous IntegrationHosted Build

Docker Build triggeredBuild order send to GitHub

Container onDockerHub

Fully automated deployment

Final thoughtsContainers bring agilityand complexityIts one of the tool that DevOps can leverage.Tools and TechnologiesLearning new tools and technologies Develop new skills Dont be afraid to restart from the beginningPeople and ProcessWilling to take risksAccept failureCulture shift

Q&AVisite o espao Ask the Experts, prximo dos expositores

TechReady 16 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.9/30/201521

Continue sua capacitao

Microsoft Virtual Academyhttp://aka.ms/ch9http://aka.ms/mva

TechReady 16 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.9/30/201522

Azure Build definition argumentsVS Build/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.stagingDirectory)"

File copy arguments-connectedServiceName -package '$(build.stagingDirectory)\**\*.zip' -storageAccount -destination AzureBlob -containerName drop

Docker Hub Trigger-triggerToken

Enable Continuous Integration