DevOps at Scale: A True Story€¦ · DevOps at Scale: A True Story Davide Benvegnù Microsoft MVP...
Transcript of DevOps at Scale: A True Story€¦ · DevOps at Scale: A True Story Davide Benvegnù Microsoft MVP...
DevOps at Scale: A True Story
Davide BenvegnùMicrosoft MVP – Visual Studio ALMFounder, Director & CTO – DBTek Ltd
@bout Me
Davide BenvegnùDirector & CTO – DBTek Ltd
Former International Development Manager – Aruba.it
Microsoft MVP in Visual Studio ALM
Speaker - Trainer
Community Contributor (1 in HK, 2 in Italy)
13+ years experience in IT, 10+ years experience in ALM / DevOps
@davidebenvegnu – www.dbtek.com.hk – [email protected]
DevOps Framework
Environments
Dev/Test
Integration
Pre-Production
Production
Processes
Source and Version control Build
Test
Deploy Monitor and Learn
Manual Builds and Deploy
Source Build
Test
Deploy Monitor and Learn
cspkg
Environments
cspkg
Environments
Dev/Test
Integration
Pre-Production
Production
Continuous Integration and Deployment
Source Build
Test
Deploy Monitor and Learn
cspkg cspkg
cspkg
cspkg
cspkg
Microsoft’s Cloud Development Platform
Platform Services
Analytics
Application Platform
Application CodeDeveloper Tools
Azure Platform Services
Microsoft’s Cloud Development Platform
Application Code
More control
Max control
Azure App Service
CloudServices
ServiceFabric
Web Apps
MobileApps
APIApps
Batch
LogicApps
SQLDatabase
RedisCache
DocumentDB
SQL DataWarehouse
Search
Tables
HDInsight
DataFactory
StreamAnalytics
MachineLearning
EventHubs
MobileEngagement
ServiceBus
StorageQueues
BiztalkServices
ActiveDirectory
Application
Insights
Visual Studio
Visual Studio
Team Services
Pro
du
ctiv
ity
Co
ntr
ol
Application Platform
Platform Services
Enterprise Web & Mobile Dev Platform
The Microsoft DevOps solution
Overview
The Microsoft DevOps solution
Shorten cycle times
and deliver value faster
Improve quality
and availability
Optimize resources
and eliminate waste
Deliver mobile apps with
digital-era velocity
An integrated, end-to-end solution for teams of any size to design, build
and manage enterprise solutions and cross-platform mobile business apps.
End-to-end DevOps
Plan + Track1 Monitor + Learn
ReleaseDevelop + Test2
Development Production
4
3
Plan
Manage work
Track progress
Develop + Test 1
Project starts
It starts with an idea - and a plan how to turn this idea into reality…
Plan + Track
Write Code
Unit Testing
2
Build
Version Control
Build Verification
Release
After the iteration starts, developers turn great ideasinto features and functionality …
Develop + Test
CloudLoad Testing
Integration testingenvironment
Automated functional testing environment
3
Pre-production environment
Stagingenvironment
Monitor + Learn
When all tests pass, the build is deployedto testing environments for eachstage in the release process …
Release
4
Monitor
Feedback
Plan the next iteration
When all tests pass, the build is deployed to testing environments for each stage in the release process
Monitor + Learn
Real example: Aruba.it
• 6 developers teams: Italy, Czech Rep., Poland, Ukraine
• 1 QA team
• 4 main products: Cloud, Hosting, Email, VPS
Avg project time:Avg simultaneous projects:Successful deploys to Prod:Number of testers: Number of «deployers»:
Post MS DevOps~ 1 month
1088%
12 (Sprint + QA)2
Pre MS DevOps~ 3 months
543%
12 (QA)6
Real Example: HOW?
Environments
Dev/Test
Integration
Staging
Production
Processes
Source and Version control Build
Test
Deploy Monitor and Learn
cspkg
The Microsoft DevOps Solution
DevOps for the digital era
Code Repository
Backlog
Build + Deploy
Monitor and improve
Automated Testing User Testing
Mobile app CI and CD
Xamarin Test Cloud
2,000+ devicesAutomate your app testing and run them on over 2,000 different real devices. Test everything users do, as well as any performance problems with step-by-step memory and performance tracking.
Real devices, real quality• Ensure higher quality by testing on real devices
• Automate app testing on over 2,000 real devices
• Use C#, Ruby, or Cucumber to build automated tests
• Integrates with any continuous integration system
HockeyAppBeta DistributionIn-house App Store for testersUpload beta versions of your application to the HockeyAppstore to allow testers to install and test beta versions on actual devices.
Deployment made easyHockeyApp’s desktop application automatically tracks all necessary information about your latest build in orderto make uploading beta versions easy.
Beta test coverage
Real usage mattersAdvanced metrics to see which devices were used, howlong the app was used for, and which language wastested. No additional setup.
Detailed chartsHockeyApp features both raw data from analytics as well as live, interactive charts for the most important metrics.
User feedback managementA conversation with your usersAll feedback is handled as discussions. You can managediscussions in the web interface or through email. Search discussions, mark them as completed or create workitems based on them. Give your users a voice outside of the app store.
For all development phasesYou can use the feedback feature for all builds of your app or just beta versions. Either way, HockeyApp makesit easy for users to tell you what's what. Let them post ideas right from within your app.
HockeyAppCrash AnalyticsNo additional codeBy integrating HockeyApp’s open source SDK forAndroid, iOS, Mac, and Windows your apps can send crash reports directly to HockeyApp, no additionalcode needed.
Powerful crash analyticsHockeyApp processes and symbolicates all crash reports.This gives you meaningful stack traces with friendly classnames, methods, and accurate line numbers.
Summary
Davide BenvegnùMicrosoft MVP Visual Studio ALM
© 2015 Microsoft Corporation. All rights reserved.