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.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
You can also read