Microsoft Ignite 2015 11/19/2018 12:53 AM Applying DevOps principals in applications integrated with Office 365 Evergreen Ben Parker ARC231B © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Agenda Overview Building it Running beside it Reacting to it
Overview POP3 Mailbox 25 Mb No… calendar sharing shared mailbox resource mailbox mobile device email in more than one place
Overview
Overview Scale Control + Simplicity O365.EXO Complexity + Cloud Service Broker Scale Control + Simplicity
Overview Identity Sync Cloud Broker Pipeline Delegated Administration Create Identity License Assignment Groups Update Identity Resource Mailboxes Group Membership Shared Mailboxes Address Book Policy Forward Mail Parallel Processing Obfuscate Throttling Permissions Retries and Fault Handling Audit
Overview End-user Self-Service Exchange Administrator Office 365 out-of-the-box Cloud Service Broker End-user Self-Service Exchange Administrator
Agenda Overview Building it Running beside it Reacting to it
Building it Iteration 0 / Ramp up Iteration 1 Iteration 2 Iteration 3 Requirement refinement Technical proof points Budgetary estimate for project Iteration 0 / Ramp up Iteration 1 Iteration 2 All technical components have been proven and can be deployed Refined estimates on delivery iterations provided to deliver the full solution Iteration 3 Reminder of solution developed and deployed Delivery Iteration 4 to n Priority driven bug and usability fixes Test deployments Final Stabilisation Deployment into production Transition team on-deck Support transition shadowing Production Transition S M T W F Planning Dev + Test Stabilisation & Review
Building it
Building it Its all about size 1 million objects 700,000 Accounts 200,000 Groups 100,000 Contacts & Shared and Resource Mailboxes 22 million events executed in 12 months Events = ~3 cmdlets ~66 million cmdlets executed ~40 million emails per month
Building it We don’t use the console! Azure AD = Graph API Exchange Online = PowerShell remoting Lync Online = PowerShell cmdlets+remoting SharePoint Online = REST API
Building it Throttling = Warnings > Backoff > Lockout
Building it Ok we will play nice Scale out with more accounts and session Detect the responses [Graph API] Built our own policy to track [PowerShell] usage Fail? Retry (in a bit), and maybe again
Building it 3,900 = 18 hours 3,400 = 8 hours
Building it 1 session vs 9 sessions 1,000 = 8 hours 1,000 = 30 mins
Building it 604,397 accounts in 16 days (elapsed, inc coffee)
Agenda Overview Building it Running beside it Reacting to it
Running beside it ?! ? :) Continuous updates make Heavy Impact Impact Notification Continuous updates make the transition easier. 18-36 month releases can be daunting… Impact ?! ? :) Skipped Update
Running beside it WORLDWIDE RING 0 RING 1 RING 2 RING 3 RING 4 ONCE VALIDATED BY FIRST RELEASE RING RING 0 RING 1 RING 2 RING 3 RING 4 FEATURE TEAMS OFFICE 365 TEAM MICROSOFT FIRST RELEASE ONCE VALIDATED BY MICROSOFT RING
Agenda Overview Building it Running beside it Reacting to it
Reacting to it DEV OPS
v0.0 – Solution Development Reacting to it v0.0 – Solution Development Incidents and Bugs v1.0 – Pilot v1.1 – Migration v1.2 – Run & Evergreen Business Requested Evergreen Train Framework Lifecycle
“DevOps is development and operations collaboration” “DevOps is treating your infrastructure as code” It’s DevOps! It’s DevOps! “DevOps is using automation” “DevOps is feature switches” It’s DevOps! It’s DevOps! “DevOps is small deployments” “Kanban for Ops?”
Reacting to it Business Development Operations DevOps People Process Products Business Development Operations
Continuous Improvement Reacting to it ITIL v2 Made up of Service Management Functions (SMFs) Incident Service Request Problem Management Change Management Release Management Configuration Management Knowledge Management ITIL v3, cyclical The service lifecycle Continuous Improvement Operations Transition Design Strategy
(Continuous Improvement) Reacting to it Plan (Service Strategy) (Service Design) Requirements (Continuous Improvement) Operate + learn (Service Operations) Collaboration Development Production Develop + test (Service Design) Release (Service Transition)
Reacting to it Business Product Management Development + Testing Word / Excel Team Foundation Server Team Foundation Server + Test Manager Team Foundation Server + Test Manager Exploratory Testing Envisioning Test Cases Business Requests Web Tests Automated Tests High Level Requirement Product Backlog Items (Stories) Test Tasks Draft Coded UI Tests Coded UI Tests Evergreen Train Iteration Backlog Items (Stories) Dev Tasks Code CI Build and Deploy Framework Lifecycle Unit Test Code Load Testing Nightly Deploy and Test Triage Technical Debt Defects Feature Requests
Running beside it Ignite Chicago BRK3186 - Behind the Curtain: Running Exchange Online BRK2121 - Managing Change in an Office 365 Rapid Release World
Running beside it
Thank you! POP3 Mailbox 25 Mb No… Office 365 2 GB (48 GB archive) Yes… calendar sharing shared mailbox resource mailbox mobile device email in more than one place Office 365 2 GB (48 GB archive) Yes… calendar sharing shared mailbox resource mailbox mobile device email in more than one place
Complete your session evaluation on My Ignite for your chance to win one of many daily prizes.
Continue your Ignite learning path Microsoft Ignite 2015 11/19/2018 12:53 AM Continue your Ignite learning path Visit Microsoft Virtual Academy for free online training visit https://www.microsoftvirtualacademy.com Visit Channel 9 to access a wide range of Microsoft training and event recordings https://channel9.msdn.com/ Head to the TechNet Eval Centre to download trials of the latest Microsoft products http://Microsoft.com/en-us/evalcenter/ © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.