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.
Veranstalter:
DevOps by examples
Part I – Forward pipeline
Giulio Vian
This Session
100/200-level
Grasp the essentials of the DevOps approach.
(well …, some essentials)
Consider
Part II
“DevOps...
What we will talk about?
DevOps intro
Demos
Environment hosting the app
The Application itself
Deployment
Dynamic configur...
About me
4
Most recent
project
2M users
40,000 RPS
2Gbps
5
© 2016 IMG Universe, LLC.
All Rights Reserved
Your turn
Azure
Visual Studio Team
Services (VSTS)
ASP.NET
Linux (Ubuntu)
Developers
Infra Engineers
Architects
Managers
6
«Appetizer»
7
DevOps is a product
8
DevOps is a job
9
DevOps is a culture, movement or practice
DevOps is a term used to refer to a set of practices that
emphasizes the collabo...
Continuous Delivery evolution…
Source: Jez Humble © 2010
11
…rooted in Agile Principles…
Individuals and interactions
over processes and tools
Working software
over comprehensive doc...
…giving back
13
Source: Felice Pescatore
Value
Collaboration
Agile Development
Continous Integration
Continous Delivery
De...
«Main course»
Where? Infrastructure-as-Code
What? Build & Package
How? Deploy
14
Execution environment
Operating System
O.S. Modules
Local Services, Libraries
Application
Network & External Services
Data...
Execution environment (alt)
Base container
Custom Container
Application
(in container)
Network & External Services
(e.g. K...
Execution environment – Comments
Setup times vs. launch times
Capacity planning
Running costs (Buy vs. Make)
17
Infrastructure-as-
Code
Azure Resource Manager
• Code
• Automation
18
Infrastructure-as-Code – Comments
Declarative vs. Imperative
Version Control
Continuous Integration
Dynamic vs. Static
Azu...
A Comment on Version Control
Application
Web page showing DB data
• Environment
• Configuration
21
Build & Packaging
Collect everything
22
Build & Packaging – Comments
Version Control
Continuous Integration
Semantic Versioning
Artifacts
Images (Docker, AMI, Azu...
Deploy
VSTS Release Management
• Controlled Automation
24
Secrets
Build time
Signing
Deploy time
Credentials
Run time
Tokens
Avoid exposures
git push hook
Static analysis
.gitignor...
Deploy – Comments
Category
Dev / QA / Prod
Target-bound
Release cadence
Feature toggles
26
Source: Pete Hodgson
Database
Invest early
Improve
27
(Photo: Coonan, Inc.)
Dynamic
Configuration
Basic Feature Toggle
28
«Dessert»
29
People
(Photo: DoD)
30
Automation
(Photo: Alexander Dummer)
31
Resources
32
(Photo: Elya)
Partial checklist
Where is configuration stored?
How is configuration updated?
Is production configuration isolated and se...
Bibliografy & References
https://github.com/giuliov/DevOps-by-examples
http://www.slideshare.net/giuliov/presentations
htt...
To know more
Continuous Delivery: Reliable Software
Releases through Build, Test, and
Deployment Automation — J.Humble,
D....
To know more (cont’d)
The DevOps Handbook — G.Kim,
P.Debois, J.Willis, J.Humble (IT
Revolution Press)
https://www.amazon.c...
To know more (cont’d)
Continuous Delivery with Visual Studio
ALM 2015 — M.Olausson, J.Ehn (Apress)
http://www.amazon.com/C...
Call to action
38
(Photo: Francesco Canu)
Contacts
giulio@nolbej.com
@giulio_vian
http://blog.casavian.eu/
Veranstalter:
FRAGEN?
Veranstalter:
Vielen Dank!
Giulio Vian
Ich freue mich auf Ihr Feedback!
Database Updates
Diffing tools
Manual scripting
Code First migration
Database Updates: compare
Diffing tools Manual scripting Code First migration
Easy to automate Yes No Yes
Index / trigger ...
Upcoming SlideShare
Loading in …5
×

ADC 2017 - DevOps by examples part I – forward pipeline

107 views

Published on

Session at Advanced Developers Conference 2017

Published in: Software
  • Be the first to comment

ADC 2017 - DevOps by examples part I – forward pipeline

  1. 1. Veranstalter: DevOps by examples Part I – Forward pipeline Giulio Vian
  2. 2. This Session 100/200-level Grasp the essentials of the DevOps approach. (well …, some essentials) Consider Part II “DevOps mit .NET Core” seminar 2
  3. 3. What we will talk about? DevOps intro Demos Environment hosting the app The Application itself Deployment Dynamic configuration Wrap-up 3 OpsDev
  4. 4. About me 4
  5. 5. Most recent project 2M users 40,000 RPS 2Gbps 5 © 2016 IMG Universe, LLC. All Rights Reserved
  6. 6. Your turn Azure Visual Studio Team Services (VSTS) ASP.NET Linux (Ubuntu) Developers Infra Engineers Architects Managers 6
  7. 7. «Appetizer» 7
  8. 8. DevOps is a product 8
  9. 9. DevOps is a job 9
  10. 10. DevOps is a culture, movement or practice DevOps is a term used to refer to a set of practices that emphasizes the collaboration and communication of both software developers and other information- technology (IT) professionals while automating the process of software delivery and infrastructure changes. DevOps represents a change in IT culture, focusing on rapid IT service delivery through the adoption of agile, lean practices in the context of a system-oriented approach. DevOps emphasizes people (and culture), and seeks to improve collaboration between operations and development teams. DevOps implementations utilize technology — especially automation tools that can leverage an increasingly programmable and dynamic infrastructure from a life cycle perspective. DevOps is the union of people, process, and products to enable continuous delivery of value to our end users. Wikipedia (2017) Gartner Microsoft (Donovan Brown) 10
  11. 11. Continuous Delivery evolution… Source: Jez Humble © 2010 11
  12. 12. …rooted in Agile Principles… Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan http://agilemanifesto.org/
  13. 13. …giving back 13 Source: Felice Pescatore Value Collaboration Agile Development Continous Integration Continous Delivery DevOps
  14. 14. «Main course» Where? Infrastructure-as-Code What? Build & Package How? Deploy 14
  15. 15. Execution environment Operating System O.S. Modules Local Services, Libraries Application Network & External Services Data 15
  16. 16. Execution environment (alt) Base container Custom Container Application (in container) Network & External Services (e.g. Kubernetes) Data 16
  17. 17. Execution environment – Comments Setup times vs. launch times Capacity planning Running costs (Buy vs. Make) 17
  18. 18. Infrastructure-as- Code Azure Resource Manager • Code • Automation 18
  19. 19. Infrastructure-as-Code – Comments Declarative vs. Imperative Version Control Continuous Integration Dynamic vs. Static Azure Resource Manager Declarative Json-based Extensible (script, DSC) Entire infrastructure AWS CloudFormation Declarative Json-based Terraform Docker Not much declarative Single container Swarm, Kubernetes, Mesos, … Ansible, Puppet, Chef, CFEngine, … 19
  20. 20. A Comment on Version Control
  21. 21. Application Web page showing DB data • Environment • Configuration 21
  22. 22. Build & Packaging Collect everything 22
  23. 23. Build & Packaging – Comments Version Control Continuous Integration Semantic Versioning Artifacts Images (Docker, AMI, Azure VM images) 23
  24. 24. Deploy VSTS Release Management • Controlled Automation 24
  25. 25. Secrets Build time Signing Deploy time Credentials Run time Tokens Avoid exposures git push hook Static analysis .gitignore Centralized Version Control Distinct repositories Azure Key Vault, AWS Key Management Service, etc. 25
  26. 26. Deploy – Comments Category Dev / QA / Prod Target-bound Release cadence Feature toggles 26 Source: Pete Hodgson
  27. 27. Database Invest early Improve 27 (Photo: Coonan, Inc.)
  28. 28. Dynamic Configuration Basic Feature Toggle 28
  29. 29. «Dessert» 29
  30. 30. People (Photo: DoD) 30
  31. 31. Automation (Photo: Alexander Dummer) 31
  32. 32. Resources 32 (Photo: Elya)
  33. 33. Partial checklist Where is configuration stored? How is configuration updated? Is production configuration isolated and secured? Where are the secrets and who can access them? How versions are tracked? Who authorizes changes and how? How data is preserved on updates? How data schema and module interfaces updates? Using environment images or scripts? How big is the deploy window? How are the tracked activities and errors? How are operational data is collected from production? 33
  34. 34. Bibliografy & References https://github.com/giuliov/DevOps-by-examples http://www.slideshare.net/giuliov/presentations http://martinfowler.com/articles/feature-toggles.html https://leanpub.com/build https://launchdarkly.com/ http://agilemanifesto.org/ https://azure.microsoft.com/en-us/services/application-insights/ https://github.com/tfsaggregator/tfsaggregator https://github.com/aspnet https://azure.microsoft.com/en-us/services/key-vault/ https://aws.amazon.com/kms/ https://blogs.msdn.microsoft.com/buckh/2016/09/30/controlling-exposure-through-feature-flags-in-vs- team-services/ 34
  35. 35. To know more Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation — J.Humble, D.Farley (Addison-Wesley) https://www.amazon.com/Continuous- Delivery/dp/0321601912/ The Phoenix Project — G.Kim, K.Behr, G.Spafford (IT Revolution Press) https://www.amazon.com/Phoenix-Project- DevOps-Helping-Business/dp/0988262509/ 35
  36. 36. To know more (cont’d) The DevOps Handbook — G.Kim, P.Debois, J.Willis, J.Humble (IT Revolution Press) https://www.amazon.com/DevOps- Handbook-World-Class-Reliability- Organizations/dp/1942788002/ DevOps on the Microsoft Stack — Wouter de Kort (Apress) https://www.amazon.com/DevOps- Microsoft-Stack-Wouter- Kort/dp/1484214471/ 36
  37. 37. To know more (cont’d) Continuous Delivery with Visual Studio ALM 2015 — M.Olausson, J.Ehn (Apress) http://www.amazon.com/Continuous- Delivery-Visual-Studio-2015/dp/1484212738/ Continuous Delivery with Windows and .NET — Matthew Skelton and Chris O'Dell (O'Reilly) http://www.oreilly.com/webops- perf/free/continuous-delivery-with-windows- and-net.csp 37
  38. 38. Call to action 38 (Photo: Francesco Canu)
  39. 39. Contacts giulio@nolbej.com @giulio_vian http://blog.casavian.eu/
  40. 40. Veranstalter: FRAGEN?
  41. 41. Veranstalter: Vielen Dank! Giulio Vian Ich freue mich auf Ihr Feedback!
  42. 42. Database Updates Diffing tools Manual scripting Code First migration
  43. 43. Database Updates: compare Diffing tools Manual scripting Code First migration Easy to automate Yes No Yes Index / trigger aware Maybe Yes No Table population aware Maybe Yes No DBA review Add Yes Add

×