Вы находитесь на странице: 1из 36

PRODUCTIVITY WITH CONTINUOUS

INTEGRATION & DELIVERY


Exploring Deep Learning AI Services in the Cloud

Tara E. Walker
Principal Software Engineer
Microsoft
@taraw

#ITDEVCONNECTIONS | ITDEVCONNECTIONS.COM
AGENDA
WHY AND WHAT OF DEVOPS
WHAT IS CI/CD?
ENABLING DEVOPS: AZURE DEVOPS
CI/CD IN PRACTICE
SUMMARY

#ITDEVCONNECTIONS | ITDEVCONNECTIONS.COM
WHAT IS DEVOPS?
People. Process. Technology.


DevOps is the union of
people, process, and
technology to enable Continuous
Delivery
continuous delivery of
value to your end users.
DEVOPS CONSISTS OF CULTURE, PRACTICES, &
TOOLS
Culture Practices Tools
• Dev & ops coming • Microservices based • Help you automate the
together architecture major DevOps phases
No more “silos”
to support faster,
• • CI/CD – Continuous
smaller releases
• Shared responsibility integration and
continuous delivery • Source
• Ownership • Build
• Infrastructure as code
• Visibility and • Test
communication • Monitoring and logging • Deploy
• Monitor
DEVOPS PRACTICES
Microservices

Moving away from monolithic application architecture to many individual services


DEVOPS PRACTICES
Infrastructure as code
IaC is a key DevOps practice and is used in conjunction with continuous delivery.
Model your resources using Azure Resource Manager.
HIGH PERFORMANCE DEVOPS COMPANIES ACHIEVE…

46x Deployment 440x Faster Lead


Frequency Time For Changes

20% Faster 20% Increase


DevOps $ Revenue
Time to Market

5x Lower Change 96x Faster Mean


Failure Rate Time to Recover
Source: 2017 State of DevOps Report: Presented by Puppet and DORA
WITHOUT DEVOPS, DEVELOPERS WASTE TIME WAITING….
Weeks

Write
Code Wait Build
Code Wait Deploy
to Test Wait Deploy
to Prod

Mins Days Mins Days Mins Days Mins


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

 https://azure.com/devops

2.8m >4m 5m
Pull requests Builds per month Work items viewed per
day

>15m 500m 500k


Git Pushes Test executions per day Work items updated
per day
42,000
Deployments per day

Data: Internal Microsoft engineering system activity during calendar year 2017
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
WHAT IS CI/CD?

#ITDEVCONNECTIONS | ITDEVCONNECTIONS.COM
WHAT TECHNOLOGIES DO I NEED TO SUPPORT DEVOPS?
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.

Continuous integration (CI) Continuous Deployment (CD) Continuous Learning & Monitoring

• Improve software development quality and • By combining continuous integration and • With Azure Application Insights you can
speed. infrastructure as code (IaC), you’ll achieve identify how your applications are
• When you use Azure Pipeliens or Jenkins identical deployments and the confidence performing and test if the recent
to build apps in the cloud and deploy to to deploy to production at any time. deployment made things better or worse.
Azure, each time you commit code, it’s • With continuous deployment, you can • Using CI/CD practices, paired with monitoring
automatically built and tested and bugs are automate the entire process from code tools, you’ll be able to safely deliver features
detected faster. commit to production if your CI/CD tests to your customers as soon as they’re
are successful. ready.
MAJOR PHASES OF RELEASE AND MONITOR

Source Build Test Deploy Monitor

• Check-in • Compile code • Integration • Deployment to • Monitor code


source code • Unit tests tests with production in production
such as .cs • Style checkers other systems environments to quickly
files. • Code metrics • Load testing detect unusual
• Peer review • Create • UI tests activity or
new code container • Penetration errors
images testing
RELEASE PROCESS LEVELS

Source Build Test Deploy


RELEASE PROCESS LEVELS

Source Build Test Deploy

Continuous integration
RELEASE PROCESS LEVELS

Source Build Test Deploy

Continuous integration

Continuous delivery
RELEASE PROCESS LEVELS

Source Build Test Deploy

Continuous integration

Continuous delivery
RELEASE PROCESS LEVELS

Source Build Test Deploy

Continuous integration

Continuous delivery

Continuous deployment
Azure DevOps
AZURE DEVOPS SUCCEEDS VSTS

Azure DevOps

Visual Studio
Team Services
INTRODUCING AZURE DEVOPS

 https://azure.com/devops
DEVOPS ON AZURE

Azure Application
Log
Monitor Insights
Analytics

Azure Azure Key


Automation Vault
AZURE PIPELINES
Cloud-hosted pipelines for Linux, Windows and
macOS, with unlimited minutes for open source

Any language, any platform, any cloud


Build, 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

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

Containers and Kubernetes


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

Best-in-class for open source


Fast 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
Integrated with GitHub

Azure Pipelines available now to


any developer from the GitHub
Marketplace
Azure Boards
Flexible work tracking with Kanban boards,
backlogs, team dashboards, and custom reporting

Connected from idea to release


All 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 ready
Use built-in scrum boards and planning 
tools to help
your teams run sprints, stand-ups, and planning
meetings.

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

 https://azure.com/devops
Azure Repos
Unlimited private Git repo hosting and support for
TFVC that scales from a hobby project to the
world’s largest Git repositories

Works with your Git client


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

Web hooks and API integration


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

Semantic code search


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

 https://azure.com/devops
Azure Test Plans
Get end-to-end traceability. Run tests and log
defects from your browser. Track and assess quality
throughout your testing lifecycle.

Capture rich data


Make 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 testing
Test 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 testing


Leverage 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
Azure Artifacts
Share Maven, npm, and NuGet packages from
public and private sources with your team –fully
integrated into CI/CD pipelines

For all package types


Universal artifact management for Maven, npm, and
NuGet

For any DevOps pipeline


Built-in CI/CD, versioning, and testing for your
packages

For teams of any size


Leverage 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
SUMMARY

#ITDEVCONNECTIONS | ITDEVCONNECTIONS.COM
Azure DevOps: Choose the tools and clouds you love
DevOps Pipelines in Minutes
Self-Service Dev/Test Environments
Deploy repeatedly & reliably
Continuous Security

Gain full visibility and control of


your cloud security state

Leverage ML to Proactively
identify and mitigate risks to
reduce exposure to attacks

Quickly detect and respond


to threats with advanced
analytics
Smarter Insights, Faster
Thank You!
Tara E. Walker
@taraw

#ITDEVCONNECTIONS | ITDEVCONNECTIONS.COM

Вам также может понравиться