RODUCTIVITY WITH CONTINUOUS & DELIVERYfiles.informatandm.com/uploads/2018/10/Introducing_the... ·...

36
#ITDEVCONNECTIONS | ITDEVCONNECTIONS.COM P RODUCTIVITY WITH C ONTINUOUS I NTEGRATION & D ELIVERY Exploring Deep Learning AI Services in the Cloud #ITDEVCONNECTIONS | ITDEVCONNECTIONS.COM Tara E. Walker Principal Software Engineer Microsoft @taraw

Transcript of RODUCTIVITY WITH CONTINUOUS & DELIVERYfiles.informatandm.com/uploads/2018/10/Introducing_the... ·...

Page 1: RODUCTIVITY WITH CONTINUOUS & DELIVERYfiles.informatandm.com/uploads/2018/10/Introducing_the... · 2018-10-18 · DevOps brings together people, processes, and technology, automating

#ITDEVCONNECTIONS | ITDEVCONNECTIONS.COM

PRODUCTIVITY WITH CONTINUOUS

INTEGRATION & DELIVERYExploring Deep Learning AI Services in the Cloud

#ITDEVCONNECTIONS | ITDEVCONNECTIONS.COM

Tara E. WalkerPrincipal Software Engineer

Microsoft

@taraw

Page 2: RODUCTIVITY WITH CONTINUOUS & DELIVERYfiles.informatandm.com/uploads/2018/10/Introducing_the... · 2018-10-18 · DevOps brings together people, processes, and technology, automating

#ITDEVCONNECTIONS | ITDEVCONNECTIONS.COM

AGENDAWHY AND WHAT OF DEVOPS

WHAT IS CI/CD?

ENABLING DEVOPS: AZURE DEVOPS

CI/CD IN PRACTICE

SUMMARY

Page 3: RODUCTIVITY WITH CONTINUOUS & DELIVERYfiles.informatandm.com/uploads/2018/10/Introducing_the... · 2018-10-18 · DevOps brings together people, processes, and technology, automating

People. Process. Technology.

WHAT IS DEVOPS?

DevOps is the union of

people, process, and

technology to enable

continuous delivery of

value to your end users.

ContinuousDelivery

Page 4: RODUCTIVITY WITH CONTINUOUS & DELIVERYfiles.informatandm.com/uploads/2018/10/Introducing_the... · 2018-10-18 · DevOps brings together people, processes, and technology, automating

• Microservices based

architecture

• CI/CD – Continuous

integration and

continuous delivery

• Infrastructure as code

• Monitoring and logging

• Help you automate the

major DevOps phases

to support faster,

smaller releases

• Source

• Build

• Test

• Deploy

• Monitor

• Dev & ops coming

together

• No more “silos”

• Shared responsibility

• Ownership

• Visibility and

communication

DEVOPS CONSISTS OF CULTURE, PRACTICES, & TOOLS

Culture Practices Tools

Page 5: RODUCTIVITY WITH CONTINUOUS & DELIVERYfiles.informatandm.com/uploads/2018/10/Introducing_the... · 2018-10-18 · DevOps brings together people, processes, and technology, automating

DEVOPS PRACTICES

Moving away from monolithic application architecture to many individual services

Microservices

Page 6: RODUCTIVITY WITH CONTINUOUS & DELIVERYfiles.informatandm.com/uploads/2018/10/Introducing_the... · 2018-10-18 · DevOps brings together people, processes, and technology, automating

DEVOPS PRACTICES

Infrastructure as codeIaC is a key DevOps practice and is used in conjunction with continuous delivery.

Model your resources using Azure Resource Manager.

Page 7: RODUCTIVITY WITH CONTINUOUS & DELIVERYfiles.informatandm.com/uploads/2018/10/Introducing_the... · 2018-10-18 · DevOps brings together people, processes, and technology, automating

HIGH PERFORMANCE DEVOPS COMPANIES ACHIEVE…

46x Deployment

Frequency

5x Lower Change

Failure Rate

440x Faster Lead

Time For Changes

96x Faster Mean

Time to Recover

DevOps

Source: 2017 State of DevOps Report: Presented by Puppet and DORA

20% Faster

Time to Market

20% Increase

Revenue$

Page 8: RODUCTIVITY WITH CONTINUOUS & DELIVERYfiles.informatandm.com/uploads/2018/10/Introducing_the... · 2018-10-18 · DevOps brings together people, processes, and technology, automating

WITHOUT DEVOPS, DEVELOPERS WASTE TIME WAITING….

WaitWrite

Code WaitBuild

Code WaitDeploy

to Test

Deploy

to Prod

Weeks

Mins Days Mins Days Mins Days Mins

Page 9: RODUCTIVITY WITH CONTINUOUS & DELIVERYfiles.informatandm.com/uploads/2018/10/Introducing_the... · 2018-10-18 · DevOps brings together people, processes, and technology, automating

DEVOPS AT MICROSOFT

Data: Internal Microsoft engineering system activity during calendar year 2017

2.8mPull requests

>15m Git Pushes

42,000Deployments per day

>4m Builds per month

500mTest executions per day

500kWork items updated

per day

5mWork items viewed per

day

Azure DevOps is the toolchain of choice for Microsoft engineering with over 80,000 internal users

https://azure.com/devops

Page 10: RODUCTIVITY WITH CONTINUOUS & DELIVERYfiles.informatandm.com/uploads/2018/10/Introducing_the... · 2018-10-18 · DevOps brings together people, processes, and technology, automating

CI/CD BEST PRACTICES DEVELOPERS

Embracing Automation

Continuous Integration/Continous Delivery is a Essential!

Everything is code & Everything goes into a repository

Application, Infrastructure, Documentation

Start with Continuous Delivery (“Gated” Promotion) &

build up to Continuous Deployment

Once clear evidence of a high level of excellence in testing

Deploy small at first, then more broadly

Deploy to canaries; Test

Deploy to a Region; Test

Page 11: RODUCTIVITY WITH CONTINUOUS & DELIVERYfiles.informatandm.com/uploads/2018/10/Introducing_the... · 2018-10-18 · DevOps brings together people, processes, and technology, automating

#ITDEVCONNECTIONS | ITDEVCONNECTIONS.COM

WHAT IS CI/CD?

Page 12: RODUCTIVITY WITH CONTINUOUS & DELIVERYfiles.informatandm.com/uploads/2018/10/Introducing_the... · 2018-10-18 · DevOps brings together people, processes, and technology, automating

DevOps brings together people, processes, and technology, automating software delivery to provide continuous

value to your users. Using Azure DevOps, you can deliver software faster and more reliably - no matter how big

your IT department or what tools you’re using.

WHAT TECHNOLOGIES DO I NEED TO SUPPORT DEVOPS?

Continuous integration (CI)

• Improve software development quality and

speed.

• When you use Azure Pipeliens or Jenkins

to build apps in the cloud and deploy to

Azure, each time you commit code, it’s

automatically built and tested and bugs are

detected faster.

Continuous Deployment (CD)

• By combining continuous integration and

infrastructure as code (IaC), you’ll achieve

identical deployments and the confidence

to deploy to production at any time.

• With continuous deployment, you can

automate the entire process from code

commit to production if your CI/CD tests

are successful.

Continuous Learning & Monitoring

• With Azure Application Insights you can

identify how your applications are

performing and test if the recent

deployment made things better or worse.

• Using CI/CD practices, paired with monitoring

tools, you’ll be able to safely deliver features

to your customers as soon as they’re

ready.

Page 13: RODUCTIVITY WITH CONTINUOUS & DELIVERYfiles.informatandm.com/uploads/2018/10/Introducing_the... · 2018-10-18 · DevOps brings together people, processes, and technology, automating

• Integration

tests with

other systems

• Load testing

• UI tests

• Penetration

testing

MAJOR PHASES OF RELEASE AND MONITOR

Source Build Test Deploy Monitor

• Check-in

source code

such as .cs

files.

• Peer review

new code

• Compile code

• Unit tests

• Style checkers

• Code metrics

• Create

container

images

• Deployment to

production

environments

• Monitor code

in production

to quickly

detect unusual

activity or

errors

Page 14: RODUCTIVITY WITH CONTINUOUS & DELIVERYfiles.informatandm.com/uploads/2018/10/Introducing_the... · 2018-10-18 · DevOps brings together people, processes, and technology, automating

RELEASE PROCESS LEVELS

Source Build Test Deploy

Page 15: RODUCTIVITY WITH CONTINUOUS & DELIVERYfiles.informatandm.com/uploads/2018/10/Introducing_the... · 2018-10-18 · DevOps brings together people, processes, and technology, automating

RELEASE PROCESS LEVELS

Source Build Test Deploy

Continuous integration

Page 16: RODUCTIVITY WITH CONTINUOUS & DELIVERYfiles.informatandm.com/uploads/2018/10/Introducing_the... · 2018-10-18 · DevOps brings together people, processes, and technology, automating

RELEASE PROCESS LEVELS

Source Build Test Deploy

Continuous integration

Continuous delivery

Page 17: RODUCTIVITY WITH CONTINUOUS & DELIVERYfiles.informatandm.com/uploads/2018/10/Introducing_the... · 2018-10-18 · DevOps brings together people, processes, and technology, automating

RELEASE PROCESS LEVELS

Continuous integration

Continuous delivery

Source Build Test Deploy

Page 18: RODUCTIVITY WITH CONTINUOUS & DELIVERYfiles.informatandm.com/uploads/2018/10/Introducing_the... · 2018-10-18 · DevOps brings together people, processes, and technology, automating

RELEASE PROCESS LEVELS

Continuous integration

Continuous delivery

Continuous deployment

Source Build Test Deploy

Page 19: RODUCTIVITY WITH CONTINUOUS & DELIVERYfiles.informatandm.com/uploads/2018/10/Introducing_the... · 2018-10-18 · DevOps brings together people, processes, and technology, automating

Azure DevOps

Page 20: RODUCTIVITY WITH CONTINUOUS & DELIVERYfiles.informatandm.com/uploads/2018/10/Introducing_the... · 2018-10-18 · DevOps brings together people, processes, and technology, automating

AZURE DEVOPS SUCCEEDS VSTS

Visual Studio Team Services

Azure DevOps

Page 21: RODUCTIVITY WITH CONTINUOUS & DELIVERYfiles.informatandm.com/uploads/2018/10/Introducing_the... · 2018-10-18 · DevOps brings together people, processes, and technology, automating

INTRODUCING AZURE DEVOPS

https://azure.com/devops

Page 22: RODUCTIVITY WITH CONTINUOUS & DELIVERYfiles.informatandm.com/uploads/2018/10/Introducing_the... · 2018-10-18 · DevOps brings together people, processes, and technology, automating

DEVOPS ON AZURE

Azure

Automation

Azure

MonitorLog

Analytics

Application

Insights

Azure Key

Vault

Page 23: RODUCTIVITY WITH CONTINUOUS & DELIVERYfiles.informatandm.com/uploads/2018/10/Introducing_the... · 2018-10-18 · DevOps brings together people, processes, and technology, automating

Cloud-hosted pipelines for Linux, Windows and

macOS, with unlimited minutes for open source

AZURE PIPELINES

Any language, any platform, any cloudBuild, test, and deploy Node.js, Python, Java, PHP, Ruby, C/C++, .NET, Android, and iOS apps. Run in parallel on Linux, macOS, and Windows. Deploy to Azure, AWS, GCP or on-premises

ExtensibleUse a range of build, test, and deployment tasks –hundreds of extensions from Slack to SonarCloud. Support for YAML, reporting and more

Best-in-class for open sourceFast CI/CD for every open source project. Azure Pipelines gives 10 free concurrent jobs with unlimited build minutes to all open source projects.

https://azure.com/pipelines

Containers and KubernetesBuild and push images to container registries like Docker Hub and Azure Container Registry. Deploy containers to individual hosts or Kubernetes.

Page 24: RODUCTIVITY WITH CONTINUOUS & DELIVERYfiles.informatandm.com/uploads/2018/10/Introducing_the... · 2018-10-18 · DevOps brings together people, processes, and technology, automating

Integrated with GitHub

Azure Pipelines available now to

any developer from the GitHub

Marketplace

Page 25: RODUCTIVITY WITH CONTINUOUS & DELIVERYfiles.informatandm.com/uploads/2018/10/Introducing_the... · 2018-10-18 · DevOps brings together people, processes, and technology, automating

Flexible work tracking with Kanban boards,

backlogs, team dashboards, and custom reporting

Azure Boards

https://azure.com/devops

Connected from idea to releaseAll your code changes are linked directly to your work items, so you can track all your ideas at every stage in the development process to keep your team aligned.

Scrum readyUse built-in scrum boards and planning tools to help your teams run sprints, stand-ups, and planning meetings.

Project insightsUse our analytics tools and dashboard widgets to bring you and your team new insights into the health and status of your project.

Page 26: RODUCTIVITY WITH CONTINUOUS & DELIVERYfiles.informatandm.com/uploads/2018/10/Introducing_the... · 2018-10-18 · DevOps brings together people, processes, and technology, automating

Unlimited private Git repo hosting and support for

TFVC that scales from a hobby project to the

world’s largest Git repositories

Azure Repos

https://azure.com/devops

Works with your Git clientSecurely connect with, and push code into, unlimited free private Git repos from any IDE, editor or Git client

Web hooks and API integrationAdd validations and extensions from the marketplace or build your own using web hooks and REST APIs.

Semantic code searchQuickly get to what you’re looking for with code-aware search that understands classes and variables.

Page 27: RODUCTIVITY WITH CONTINUOUS & DELIVERYfiles.informatandm.com/uploads/2018/10/Introducing_the... · 2018-10-18 · DevOps brings together people, processes, and technology, automating

Get end-to-end traceability. Run tests and log

defects from your browser. Track and assess quality

throughout your testing lifecycle.

Azure Test Plans

Capture rich dataMake your defects actionable by capturing rich scenario data as you execute tests. Explore user stories without test cases or test steps. You can create test cases directly from your exploratory test sessions.

Hybrid testingTest your application where it lives. Complete scripted tests across desktop or web scenarios. Test on-premises application from the cloud and vice-versa

On demand user acceptance testingLeverage the same test tools across your engineers and user acceptance testing stakeholders. Pay for the tools only when you need them.

https://azure.com/devops

Page 28: RODUCTIVITY WITH CONTINUOUS & DELIVERYfiles.informatandm.com/uploads/2018/10/Introducing_the... · 2018-10-18 · DevOps brings together people, processes, and technology, automating

Share Maven, npm, and NuGet packages from

public and private sources with your team –fully

integrated into CI/CD pipelines

Azure Artifacts

For all package typesUniversal artifact management for Maven, npm, and NuGet

For any DevOps pipelineBuilt-in CI/CD, versioning, and testing for your packages

For teams of any sizeLeverage the same test tools across your engineers and user acceptance testing stakeholders. Pay for the tools only when you need them.

https://azure.com/devops

Page 29: RODUCTIVITY WITH CONTINUOUS & DELIVERYfiles.informatandm.com/uploads/2018/10/Introducing_the... · 2018-10-18 · DevOps brings together people, processes, and technology, automating

#ITDEVCONNECTIONS | ITDEVCONNECTIONS.COM

SUMMARY

Page 30: RODUCTIVITY WITH CONTINUOUS & DELIVERYfiles.informatandm.com/uploads/2018/10/Introducing_the... · 2018-10-18 · DevOps brings together people, processes, and technology, automating

Azure DevOps: Choose the tools and clouds you love

Page 31: RODUCTIVITY WITH CONTINUOUS & DELIVERYfiles.informatandm.com/uploads/2018/10/Introducing_the... · 2018-10-18 · DevOps brings together people, processes, and technology, automating

DevOps Pipelines in Minutes

Page 32: RODUCTIVITY WITH CONTINUOUS & DELIVERYfiles.informatandm.com/uploads/2018/10/Introducing_the... · 2018-10-18 · DevOps brings together people, processes, and technology, automating

Self-Service Dev/Test Environments

Page 33: RODUCTIVITY WITH CONTINUOUS & DELIVERYfiles.informatandm.com/uploads/2018/10/Introducing_the... · 2018-10-18 · DevOps brings together people, processes, and technology, automating

Deploy repeatedly & reliably

Page 34: RODUCTIVITY WITH CONTINUOUS & DELIVERYfiles.informatandm.com/uploads/2018/10/Introducing_the... · 2018-10-18 · DevOps brings together people, processes, and technology, automating

Gain full visibility and control of

your cloud security state

Continuous Security

Leverage ML to Proactively

identify and mitigate risks to

reduce exposure to attacks

Quickly detect and respond

to threats with advanced

analytics

Page 35: RODUCTIVITY WITH CONTINUOUS & DELIVERYfiles.informatandm.com/uploads/2018/10/Introducing_the... · 2018-10-18 · DevOps brings together people, processes, and technology, automating

Smarter Insights, Faster

Page 36: RODUCTIVITY WITH CONTINUOUS & DELIVERYfiles.informatandm.com/uploads/2018/10/Introducing_the... · 2018-10-18 · DevOps brings together people, processes, and technology, automating

#ITDEVCONNECTIONS | ITDEVCONNECTIONS.COM

Thank You!Tara E. Walker@taraw