DevOps: CI/CD to Azure through Codeship

Slides:



Advertisements
Similar presentations
It’s tough out there … Software delivery challenges.
Advertisements

Declarative Configuration Management with Azure Automation DSC and ARM Nathan Lasnoski Vice President of blog.concurrency.com Concurrency.
Solving Modern Day Business Problems Using Power Apps
Microsoft Virtual Academy
DevOps for the IT Pro with Azure and Visual Studio Team Services
1/27/2018 5:13 AM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Run Azure Services in your datacenter
The DevOps wave is rising Are you ready?
Modern lifecycle with DevOps
Accelerate your DevOps with OpenShift by Red Hat
What's new in Visual Studio 11 for Application Lifecycle Management
Microsoft Virtual Academy
Deployment Planning Services
Modern Application Lifecycle Management
Microsoft Virtual Academy
Microsoft Ignite /4/2018 8:46 AM
Microsoft Virtual Academy
Mobile DevOps Donovan Microsoft 2016
Modern application lifecycle with DevOps
Microsoft Virtual Academy
Владимир Гусаров Директор R&D, Dell Visual Studio ALM MVP ALM Ranger
Microsoft Ignite /18/2018 8:30 PM BRK2065
Azure Hybrid Use Benefit Overview
Microsoft Virtual Academy
Developing Drivers in Visual Studio
8/8/ :43 PM THR3079 Moving from application automation to true DevOps by including the database Tom Austin Head of Pre Sales Engineering © Microsoft.
DevOps Fundamentals Advanced DevOps Practices
Microsoft Virtual Academy
One Marketing Template
Zero to DevOps Louis Berman Cloud Solutions Architect
1. Define a Vision & Identify Business Scenarios
9/19/2018 5:55 AM How Microsoft does IT: Modern Cloud management with Operations Management Suite Seth Malcolm IT Showcase © Microsoft Corporation. All.
Release Management with Visual Studio Team Services
Dev and Test Environments in the Cloud
Microsoft Build /20/2018 5:17 AM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY,
DevOps Fundamentals Configuration Management
DevOps Two Sides of the Same Coin
Microsoft Virtual Academy
Microsoft Virtual Academy
Microsoft Ignite NZ October 2016 SKYCITY, Auckland.
Release Management with Visual Studio Team Services
11/29/2018 2:52 AM MDC317A Continuous Delivery - The Agile End to End Story for Developers & IT Pros! Morgan Webb Technical © 2013.
TFS from on-prem to the cloud with Azure DevOps Services
Build /2/ The future of Azure devops: Building and managing cloud applications lifecycle across your teams Bradley Millington Program.
Microsoft Virtual Academy
TechEd /3/2018 8:11 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
DevOps Fundamentals Automated Testing
Microsoft Virtual Academy
DevOps FTW! Addy Santo July 2017.
12/26/2018 1:44 AM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Release Management with Visual Studio Team Services
DevOps Fundamentals Continuous Integration
Microsoft Virtual Academy
2/25/2019.
Alex Kelly | Program Manager
The Ops side of DevOps Manager Microsoft
Microsoft Virtual Academy
TechEd /7/2019 1:14 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Microsoft Virtual Academy
What’s new in Visual Studio 2012
Microsoft Virtual Academy
Office 365 Development July 2014.
Microsoft Virtual Academy
Build /27/2019 © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION.
Mobile App Management David Alessi — Support Topic Owner for Enterprise Windows Phone, Microsoft Corporation Simon May — Enterprise Device Infrastructuralist,
What's new in Project Pro for Office365 and Sync to SharePoint Online
Microsoft Virtual Academy
Microsoft Virtual Academy
Azure DevOps Integration
Microsoft Virtual Academy
Presentation transcript:

DevOps: CI/CD to Azure through Codeship Jessica Deen Technical Evangelist - Microsoft www.jessicadeen.com | @jldeen Jessica.Deen@Microsoft.com

Agenda Review “DevOps,” what it is, and why it matters Azure Breakdown Codeship Breakdown Quick overview of the code and how it works Live demo Deeper dive into the code Questions

1 million/hour 12 years 60% computing Microsoft Envision 2016 12/16/2017 3:45 AM GOING DIGITAL 1 million/hour new devices coming online by 2020 12 years average age of S&P 500 corporations by 2020 60% computing in the public cloud by 2025 Why is this transformation important? Let’s take a look at the next few years before us… In 2020, 1 million new devices are expected to come online every hour. The connectivity between people and data is creating billions of new relationships that are driven not only by data but by algorithms that keep customers engaged and buying.* In 2020, the average age of a S&P 500 corporation is expected to be 12 years old. Compare that to the S&P 500 in 1960 when the average age was 60 years old.** By the year 2025, at least 60 percent of computing will be cloud-based, due to “everything-as-a-service” shifting fundamental changes in the IT industry.*** For digital transformation, mobility is the universal catalyst and cloud is the great enabler. How are you planning for digital transformation? Do you have the right people and the right technology in place to build your digital vision? How can you use technology to shape your future? *http://www.gartner.com/newsroom/id/3142917 **http://upstart.bizjournals.com/resources/author/2015/06/04/fortune-500-must-disrupt-or-die-writes-r-ray-wang.html?page=all ***http://www.emersonnetworkpower.com/en-US/Latest-Thinking/Data-Center-2025/Documents/002401_DataCenter2025Report_HR_INTERACTIVE.PDF © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

What is DevOps? “It’s a job title” “It’s automation” “It’s Development and Operations collaboration” “It means faster and smaller releases”

The DevOps conversation PEOPLE Collaborate more Share common goals Focus on improvement BRINGING PEOPLE TOGETHER The DevOps conversation PROCESS Eliminate waste Increase efficiency Streamline feedback DELIVERING VALUE FASTER TOOLS Enhance productivity Enable collaboration Facilitate experimentation EXECUTING A DEVOPS STRATEGY

DevOps habits and practices Application Performance Management Infrastructure as Code Continuous Deployment Release Management Configuration Management Automated Recovery PRACTICES Automated Testing Continuous Integration Continuous Deployment Release Management PRACTICES Usage Telemetry Monitoring Collection Testing in Production Stakeholder Feedback PRACTICES Code Reviews Automated Testing Continuous Measurement TEAM AUTONOMY & ENTERPRISE ALIGNMENT BACKLOG refined with LEARNING EVIDENCE gathered in PRODUCTION FLOW OF CUSTOMER VALUE MANAGED TECHNICAL DEBT PRODUCTION FIRST MINDSET INFRASTRUCTURE is a FLEXIBLE RESOURCE PRACTICES Application Performance Management Infrastructure as Code Continuous Delivery Release Management Configuration Management Automated Recovery PRACTICES Testing in Production Usage Monitoring User Telemetry Stakeholder feedback Feature flags PRACTICES Enterprise Agile Continuous Integration Continuous Deployment Release Management

DevOps: the three stage conversation S4 Solution Specialist Sales Summit 12/16/2017 3:45 AM DevOps: the three stage conversation DEV OPS People = Culture Fundamental 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 PROCESS Definition and design, compliance, and continuous improvement PEOPLE Responsibilities, management, skills development, and discipline Products Tools and infrastructure 1 People 2 Process 3 Products © 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.

<Event Name Here> 12/16/2017 DevOps Benefits Strong IT Performance is a competitive advantage Deploy code 30x faster Firms with high-performing IT organizations were 2x as likely to exceed their profitability, market share, and productivity goals and with 200x shorter lead time as compared to their lower-performing peers Have 60x fewer failures 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. DevOps Practices improve IT performance and recover from failure 168x faster as compared to their lower-performing peers Source: https://puppetlabs.com/ © 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.

4 1 3 2 End-to-end DevOps Development Production Monitor + learn Plan + track Development Production 3 2 Develop + test Release

Plan + track It starts with an idea - and a plan how to turn this idea into reality… Project starts Manage work Develop + test Track progress Plan 1

Develop + test After the iteration starts, developers turn great ideas into features and functionality … 2 Write code Unit testing Version control Build Build verification Release

Flexible version control Source code management All your code is linked directly to the story, bug, or task driving the work. Flexible version control Collaborate on code Any IDE, any code

Test management Test planning and tracking Developer testing Manual and exploratory testing

Continuous integration (CI) – a DevOps practice SOURCE REPOSITORY BUILD Issues Delivery delays Non-working/low-quality code Incomplete solutions Rework Value Frequent integration Higher quality Repeatability TEST DEV OPS

Release When all tests pass, the build is deployed to testing environments for each stage in the release process … Cloud load testing Integration testing environment Staging environment 3 Automated functional testing environment Pre-production environment Monitor + learn

Continuous delivery (CD) – a DevOps practice SOURCE REPOSITORY DEVELOPMENT Issues Slow delivery cadence Limited predictability when deploying Complexity when deploying Value Consistency Accelerated deployment Repeatability Human error reduction STAGING PRODUCTION DEV OPS

Continuous integration Continuous delivery Streamline and automate the workflow between development and IT ops and deliver higher quality software more frequently with less risk. Continuous integration Release management Continuous quality

Infrastructure as code (IAC) – a DevOps practice SOURCE REPOSITORY DEV Value Optimize resources Accelerate delivery STAGE Measure Deployment rate MTTR PRODUCTION DEV OPS

Monitor + learn When all tests pass, the build is deployed to testing environments for each stage in the release process Plan the next iteration Feedback Monitor 4

Monitor + learn Streamline and automate the workflow between development and IT ops and deliver higher quality software more frequently with less risk. Stakeholder feedback management Application telemetry Performance and load testing

CI / CD Process Code repository Build + deploy Automated testing User testing Backlog Monitor and improve

Why does this matter?

CONTINUOUS INTEGRATION CONTINUOUS DEPLOYMENT YOU CONTINUOUS INTEGRATION WEB APPS CONTINUOUS DEPLOYMENT INFRASTRUCTURE

AZURE BREAKDOWN HOW DO WE CONNECT? AUTHENTICATION EXAMPLE: az login \ --service-principal \ -u $spn \ -p $password \ --tenant $tenant NON-INTERACTION AUTHENTICATION METHOD SERVICE PRINCIPAL NAME SPN CREATION SCRIPT

CODESHIP BREAKDOWN CODESHIP.AES JET (LOCAL TOOL) SERVICES STEPS

Demo

CODESHIP BREAKDOWN DEFINE SERVICES - CODESHIP-SERVICES.YML (EXAMPLE) acsdeploy: image: azuresdk/azure-cli-python:latest encrypted_env_file: azure.env.encrypted environment: - Resource=LFNW-CS - Location=eastus - Servicename=ACSJDDemo - Orchestrator=Swarm - Dnsprefix=lfnwdemo - sshkey=/deploy/lfnw.pub volumes: - ./:/deploy sshtunnel: build: image: sshtunnel dockerfile_path: sshtunnel/Dockerfile add_docker: true encrypted_env_file: azure.env.encrypted environment: - Servicename=ACSJDDemo - Resource=LFNW-CS - Orchestrator=Swarm - local_port=2375 - remote_port=2375

CODESHIP BREAKDOWN DEFINE STEPS | CODESHIP-STEPS.YML (EXAMPLE) - name: Azure ACS Deploy service: acsdeploy command: bash /deploy/deployment/acs_deploy.sh - type: serial name: SSH Tunnel service: sshtunnel steps: - command: docker run -d --name docker-nginx -p 80:80 nginx - command: docker ps -a

AZURE ACS BREAKDOWN ACS Deployment Methods Via Portal (Manual) Azure CLI 2.0 (Manual) Deployment Bash script using AZ CLI 2.0 (DevOps IAC) SSH Tunnel to Docker Swarm Cluster ssh -fNL 2375:localhost:2375 -p 2200 [USERNAME]@[DNSPREFIX]mgmt.[REGION].cloudapp.azure.com Export DOCKER_HOST=:2375 End result: Pass Docker commands natively to Swarm cluster through newly created SSH tunnel

CONTINUOUS INTEGRATION CONTINUOUS DEPLOYMENT YOU CONTINUOUS INTEGRATION WEB APPS CONTINUOUS DEPLOYMENT INFRASTRUCTURE

Demo

The shift to DevOps OLD WORLD Focus on planning Compete, not collaborate Static hierarchies Individual productivity Efficiency of process Assumptions, not data NEW WORLD Focus on delivering Collaborate to win Fluent and flexible teams Collective value creation Effectiveness of outcomes Experiment, learn, and respond

RECAP HOW DO WE CONNECT? AUTHENTICATION NON-INTERACTION AUTHENTICATION METHOD SERVICE PRINCIPAL NAME USING THE SPN CREATION SCRIPT CODE IS SCALABLE! IT’S JUST IAC – BASH SCRIPTS. THIS CAN SCALE WITH VIRTUALLY ANY CI/CD TOOL!

QUESTIONS?

www.jessicadeen.com | @jldeen github.com/jldeen/ Thank you! www.jessicadeen.com | @jldeen github.com/jldeen/ Jessica.Deen@Microsoft.com Channel 9 - https://channel9.msdn.com/Niners/jldeen We’ve gone through a journey today, through the various capabilities of Azure that support your path toward digital transformation, from app innovation, to data and intelligence, to open and flexible deployments, to trust. We’re here to partner with you as you continue to innovate and transform. Thank you.