Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

DevOps in the Cloud with Microsoft Azure


Published on

By talking about Microsoft's journey to Cloud cadence, this talk goes through all the DevOps practices such as Infrastructure as Code, CI/CD, Release Management and Hypothesis Driven Development.
It also introduces the impact of Docker and PaaS in DevOps.

Published in: Software

DevOps in the Cloud with Microsoft Azure

  1. 1. Our own DevOps Journey… … or how we became agile and transformed a box software product into a cloud service with DevOps practices…
  2. 2. Planning M1 M2 Specs We knew exactly what to build, and we knew it was right!
  3. 3. Planning M1 M2 We had a perfect schedule and knew exactly when it would be ready!
  4. 4. Code Test & Stabilize Code Test & Stabilize We now had perfect estimates and we understood how it would all come together!
  5. 5. Code Test & Stabilize Code Test & Stabilize Code Complete Beta RTM
  6. 6. From Waterfall to Agile
  7. 7. Agile: Feature Team & Team Rooms • Cross-discipline • 10-12 people • Self managing • Autonomous backlog • Intact for 12-18 months
  8. 8. What we accomplished Week 1 Week 2 Week 3 Week 1 Week 2 Week 3Week 2 Week 3 Sprint 86Sprint 85 Sprint 87 The sprint plan Agile: 3 week sprints
  9. 9. Source Build Value • Accelerate Delivery • Repeatability • Optimized Resources Measure • More frequent releases • MTTR • MTTD cspkg Test
  10. 10. 3 weeks SpringFallSpring Fall “team chat” every 3 sprints Agile: Sprints, Team Chats, Seasons, Vision Vision
  11. 11. Sprint GROOMING Daily STANDUP ACCEPTANCE Testing Agile: Unintended Consequences
  12. 12. How do you gather customer feedback?
  13. 13. #1 Principle form the Agile Manifesto “Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.”
  14. 14. 3 weeks Shiproom Shiproom Our Journey: Cloud first, then Box releases
  15. 15. Microsoft Azure Overview Public, Global, Shared DatacentersMicrosoft Azure Stack & Cloud Platform System Security& Management SaaS (Software as a Service) O365, CRM, VSTS etc… + 3rd Party SaaS Solutions Public Cloud Platform Hybrid Operations Security& Management Hybrid Operations
  16. 16. Hyper scale Infrastructure is the enabler 28 Regions Worldwide, 22 ONLINE…huge capacity around the world…growing every year  100+ datacenters  Top 3 networks in the world  2.5x AWS, 7x Google DC Regions  G Series – Largest VM in World, 32 cores, 448GB Ram, SSD… Operational Announced/Not Operational Central US Iowa West US California East US Virginia US Gov Virginia North Central US Illinois US Gov Iowa South Central US Texas Brazil South Sao Paulo State West Europe Netherlands China North * Beijing China South * Shanghai Japan East Tokyo, Saitama Japan West Osaka India South Chennai East Asia Hong Kong SE Asia Singapore Australia South East Victoria Australia East New South Wales * Operated by 21Vianet ** Operated by Deutsche Telekom India Central Pune Canada East Quebec City Canada Central Toronto India West Mumbai Germany North East ** Magdeburg Germany Central ** Frankfurt North Europe Ireland East US 2 Virginia United Kingdom RegionsUnited Kingdom Regions
  17. 17. Platform Services Infrastructure Services Web Apps Mobile Apps API Management API Apps Logic Apps Notification Hubs Content Delivery Network (CDN) Media Services BizTalk Services Hybrid Connections Service Bus Storage Queues Hybrid Operations Backup StorSimple Azure Site Recovery Import/Export SQL Database DocumentDB Redis Cache Azure Search Storage Tables Data Warehouse Azure AD Health Monitoring AD Privileged Identity Management Operational Analytics Cloud Services Batch RemoteApp Service Fabric Visual Studio App Insights Azure SDK VS Online Domain Services HDInsight Machine Learning Stream Analytics Data Factory Event Hubs Mobile Engagement Data Lake IoT Hub Data Catalog Security & Management Azure Active Directory Multi-Factor Authentication Automation Portal Key Vault Store/ Marketplace VM Image Gallery & VM Depot Azure AD B2C Scheduler
  18. 18. The agile methodologies are accelerating the construction process ProductionDevelopment Collaboration Backlog Requirements Availability and performance issues are hard to troubleshoot in this fast-changing world with distributed applications Usage should determine the next set of priorities and learnings An automated release pipeline is needed to deliver at the pace of development with full traceability
  19. 19.
  20. 20.
  21. 21. TFS Develop Developer Workstation Team Collaboration Build&Test Build/CI Test Deploy Release Monitor&Learn Monitor Microsoft Ecosystem Workstations - On-Premises| Hybrid | Cloud Monitoring- On-Premises | Hybrid | CloudALMServices - On-Premises| Hybrid | Cloud DEV TEST QA Environments- On-Premises| Hybrid | Cloud
  22. 22. Develop Developer Workstation Team Collaboration Build&Test Build/CI Test Deploy Configuration Monitor&Learn Monitor This graphic shows OSS and partner products that are integrated with the Microsoft DevOps solution Mixed Ecosystem Release TFS Workstations - On-Premises| Hybrid | Cloud ALMServices - On-Premises| Hybrid | Cloud DEV TEST QA Environments- On-Premises| Hybrid | Cloud Monitoring- On-Premises | Hybrid | Cloud
  23. 23. Any language and any data source in any operating system Add value to your investments Embrace open source DevOps Bring the tools you use and love Build hyperscale at hyperspeed Azure is an Open Cloud
  24. 24. DEV Value • Optimized Resources • Accelerate Delivery Measure • Deployment Rate • MTTR STAGE PRODUCTION
  25. 25. What? • Source file, checked-in • Specifies resources, dependencies, and connections • Parameterized input/output Why? • Ensure Idempotency • Simplify Orchestration • Provide Cross-Resource Configuration and Update Support Instantiation of repeatable config. Configuration  Resource Group SQL - A Website Virtual Machines SQL-A Website [SQL CONFIG] VM (2x) DEPENDS ON SQLDEPENDS ON SQL SQL CONFIG Azure Resource Manager Templates
  26. 26. ARM Visualization and Editing Visual Studio Web Editor
  27. 27. Configuration Applied To: Node Configurations (.MOF config document) WebService Compiled Nodes 1…N of these 1…N of these per configuration (+ checksum files for each) 1…N of these per node configuration Via Push or Pull Desired State Configuration (PowerShell DSC)
  28. 28. Integrate with existing environments Provision environment with allocated quotas and policies Create templates once Share templates within your team Azure Dev/Test Lab
  29. 29. DEVSOURCE REPO Value • Optimized Resources • Accelerate Delivery Measure • Deployment Rate • MTTR • Availability STAGE PRODUCTION DevOps Practices: Continuous Delivery
  30. 30. Continuous Delivery vs Continuous Deploy
  31. 31.
  32. 32. VSO SU1 Chicago VSO SU0 San Antonio VSO SU7 Australia Shared Platform Services San Antonio Our Journey: introducing canary deployment
  33. 33. Developers build and test apps in containers, using development environment Containers pushed to central repository Operations automates deployment and monitors deployed apps from central repository Operations collaborates with developers to provide app metrics and insights Developers update, iterate, and deploy updated containers
  34. 34. Our Journey: Build-Measure-Learn
  35. 35. Our Journey: Before … Too many actions and distractions can prevent customers from taking the next natural step of creating a new project Previous project creation experience
  36. 36. Focused project creation experience – integrated into the IDE flow IDE Web Our Journey: After …
  37. 37. % of accounts creating projects the day of account creation January 22 to February 11 (all sources) A second experiment, running in parallel, invalidated results First project creation jumps from 15% to 50% First project creation from IDE jumps from 3% to 20% % of accounts creating projects the day of account creation January 22 to February 5 (IDE only) Our Journey: Validated learning…
  38. 38. Customer IntelligenceBusiness IntelligenceOperational Intelligence Activity Logging Traces KPI Metrics Job History Customer Intelligence Synthetic Perf Counters Dependent Services
  39. 39. Customer IntelligenceBusiness IntelligenceOperational Intelligence Activity Logging Traces KPI Metrics Job History Customer Intelligence Synthetic Perf Counters Dependent Services
  40. 40. Customer IntelligenceBusiness IntelligenceOperational Intelligence Activity Logging Traces KPI Metrics Job History Customer Intelligence Synthetic Perf Counters Dependent Services
  41. 41. • Manage Push Notifications and targeted user campaigns • Maximize conversion rates and app monetization • Personalize app experience based on user segments • Monitor availability, performance and usage of any application • Integral part of ALM lifecycle • Powerful insights and out-of- the-box reports • Set up management and reporting for servers & databases • Monitor availability of intranet applications • On-premises solution oriented towards performance monitoring • Collect, combine, correlate & visualize all your machine data • Manage data center capacity • Ensure server updates & track configuration changes Telemetry and Application Insights in Azure
  42. 42. Telemetry is collected at each tier: mobile applications, server applications and browser Telemetry arrives in the Application Insights service in the cloud where it is processed & stored Get a 360° view of the application including availability, performance and usage patterns What is Application Insights?
  43. 43. Identify & Triage issues. Availablity
  44. 44. ° view o Export data to manually correlate with external data sources
  45. 45. On-Prem, Azure, AWS, Google Cloud, App Stores… Log4Net, nLog, System.Diagnostics, Log4J, Logback
  46. 46. Demonstrating the value of Application Insights • Major European football team with a worldwide following • Engage 400 million+ fans through a digital platform and supporting cross platform mobile applications • Leveraging Application Insights in a complex, cross platform project to provide visibility into the performance of the solution and provide insight into their fans
  47. 47. Enables enterprise operations teams to transform machine data into near real-time operational intelligence Microsoft Azure Operational Insights Preview Servers forwarding data through SCOMWindows & Linux Server Windows & Linux Server Servers directly forwarding data Azure VMs Azure Operational Insights
  48. 48. And scales by cloning the app on multiple servers/VMs/Containers Traditional architecture approach Microservices architecture approach A microservice approach segregates functionality into separate services. And scales out by deploying independently and replicating these services across servers/VMs/containers A traditional application (web app or large service) usually has most of its functionality within a single process (Commonly internally layered, though). App 1 App 2App 1
  49. 49. “Organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations” Conway, Melvin E. (1968)
  50. 50. Service Fabric OpenShift Mesosphere Cloud Foundry Docker Swarm
  51. 51. Microservices Azure Windows Server Linux Hosted Clouds Windows Server Linux Service Fabric Private Clouds Windows Server Linux High Availability Hyper-Scale Hybrid Operations High Density Rolling Upgrades Stateful services Low Latency Fast startup & shutdown Container Orchestration & lifecycle management Replication & Failover Simple programming models Load balancing Self-healingData Partitioning Automated Rollback Health Monitoring Placement Constraints
  53. 53. Learn DevOps Practices hands-on with PartsUnlimited apps Technical resources for Practitioners: Get access to free online training: DevOps Maturity Self-Assessment See where your organization is at across 7 areas: From Box to Cloud: The Inside Story of Visual Studio Online
  54. 54. “Hope is not a design method.” Michael T. Nygard