RODUCTIVITY WITH CONTINUOUS & DELIVERYfiles.informatandm.com/uploads/2018/10/Introducing_the... ·...
Transcript of RODUCTIVITY WITH CONTINUOUS & DELIVERYfiles.informatandm.com/uploads/2018/10/Introducing_the... ·...
#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
#ITDEVCONNECTIONS | ITDEVCONNECTIONS.COM
AGENDAWHY AND WHAT OF DEVOPS
WHAT IS CI/CD?
ENABLING DEVOPS: AZURE DEVOPS
CI/CD IN PRACTICE
SUMMARY
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
• 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
DEVOPS PRACTICES
Moving away from monolithic application architecture to many individual services
Microservices
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.
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$
WITHOUT DEVOPS, DEVELOPERS WASTE TIME WAITING….
WaitWrite
Code WaitBuild
Code WaitDeploy
to Test
Deploy
to Prod
Weeks
Mins Days Mins Days Mins Days Mins
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
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
#ITDEVCONNECTIONS | ITDEVCONNECTIONS.COM
WHAT IS CI/CD?
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.
• 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
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
Continuous integration
Continuous delivery
Source Build Test Deploy
RELEASE PROCESS LEVELS
Continuous integration
Continuous delivery
Continuous deployment
Source Build Test Deploy
Azure DevOps
AZURE DEVOPS SUCCEEDS VSTS
Visual Studio Team Services
Azure DevOps
INTRODUCING AZURE DEVOPS
https://azure.com/devops
DEVOPS ON AZURE
Azure
Automation
Azure
MonitorLog
Analytics
Application
Insights
Azure Key
Vault
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.
Integrated with GitHub
Azure Pipelines available now to
any developer from the GitHub
Marketplace
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.
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.
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
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
#ITDEVCONNECTIONS | ITDEVCONNECTIONS.COM
SUMMARY
Azure DevOps: Choose the tools and clouds you love
DevOps Pipelines in Minutes
Self-Service Dev/Test Environments
Deploy repeatedly & reliably
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
Smarter Insights, Faster
#ITDEVCONNECTIONS | ITDEVCONNECTIONS.COM
Thank You!Tara E. Walker@taraw