PRODUCTIVITY WITH CONTINUOUS INTEGRATION & DELIVERY - Exploring Deep Learning AI Services in the Cloud
←
→
Page content transcription
If your browser does not render page correctly, please read the page content below
PRODUCTIVITY WITH CONTINUOUS
INTEGRATION & DELIVERY
Exploring Deep Learning AI Services in the Cloud
Tara E. Walker
Principal Software Engineer
Microsoft
@taraw
#ITDEVCONNECTIONS | ITDEVCONNECTIONS.COMAGENDA
WHY AND WHAT OF DEVOPS
WHAT IS CI/CD?
ENABLING DEVOPS: AZURE DEVOPS
CI/CD IN PRACTICE
SUMMARY
#ITDEVCONNECTIONS | ITDEVCONNECTIONS.COMWHAT 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
• MonitorDEVOPS 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 DORAWITHOUT 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 MinsDEVOPS 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 2017CI/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; TestWHAT 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 testingRELEASE PROCESS LEVELS Source Build Test Deploy
RELEASE PROCESS LEVELS
Source Build Test Deploy
Continuous integrationRELEASE PROCESS LEVELS Source Build Test Deploy Continuous integration Continuous delivery
RELEASE PROCESS LEVELS
Source Build Test Deploy
Continuous integration
Continuous deliveryRELEASE PROCESS LEVELS
Source Build Test Deploy
Continuous integration
Continuous delivery
Continuous deploymentAzure DevOps
AZURE DEVOPS SUCCEEDS VSTS
Azure DevOps
Visual Studio
Team ServicesINTRODUCING AZURE DEVOPS
https://azure.com/devopsDEVOPS ON AZURE
Azure Application
Log
Monitor Insights
Analytics
Azure Azure Key
Automation VaultAZURE 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/pipelinesIntegrated 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/devopsAzure 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/devopsAzure 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/devopsAzure 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/devopsSUMMARY #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
You can also read