Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
DevOps by examples
Giulio Vian
http://blog.casavian.eu/
giulio.dev@casavian.eu
@giulio_vian
http://www.getlatestversion.it/
1990
1992 1999 2014
2010 2016
1995
freelance
2014 2015
TFS Aggregator
?
Most recent project
© 2016 IMG Universe, LLC.
All Rights Reserved
3
This Session
100/200-level
Grasp the essentials of the DevOps approach.
(well …, some essentials)
Leave open questions to ...
What we will talk about?
DevOps intro
Demos
Environment hosting the app
The Application itself
Deployment
Dynamic configur...
Your turn
Azure
Visual Studio Team
Services (VSTS)
ASP.NET
Linux (Ubuntu)
Developers
Infra Engineers
Architects
Managers
6
«Appetizer»
7
DevOps is a job?
8
DevOps is a product?
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 docu...
«Main course»
Where? Infrastructure-as-Code
What? Build & Package
How? Deploy
13
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)
16
Infrastructure-as-
Code
Azure Resource Manager
• Code
• Automation
17
Infrastructure-as-Code – Comments
Declarative vs. Imperative
Version Control
Continuous Integration
Dynamic vs. Static
Azu...
Application
Web page showing DB data
• Environment
• Configuration
19
Build & Packaging
Collect everything
20
Build & Packaging – Comments
Version Control
Continuous Integration
Semantic Versioning
Artifacts
Images (Docker, AMI, Azu...
Deploy
VSTS Release Management
• Controlled Automation
22
Secrets
Build time
Signing
Deploy time
Credentials
Run time
Tokens
Avoid exposures
git push hook
Static analysis
.gitignor...
Deploy – Comments
Category
Dev / QA / Prod
Integrated (dynamic)
Release cadence
Feature toggles
24
Source: Pete Hodgson
Dynamic
Configuration
Feature Toggle
25
So far
26
OpsDev
Application Monitoring
Errors
Performance
Availability
Scalability
Analytics
App Insight
HockeyApp
ELK
ElasticSearch+LogSt...
Monitoring
App Insight
28
Troubleshooting & Feedback loop
Access to production
Read-only
Debug
Sensitive production data
Design/architecture
Quality...
More VSTS – Azure Links
DevTest labs
Deployment
Load testing
30
«Dessert»
31
People
(Photo: DoD)
32
Automation
(Photo: Alexander Dummer)
33
Resources
34
(Photo: Elya)
Call to action
35
(Photo: Francesco Canu)
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...
Partial checklist
Where is configuration stored?
How is configuration updated?
Is production configuration isolated and se...
End of transmission
40
Demo Screenshots
41
Infrastructure-as-Code
Azure Portal
Resource Groups
Resulting Resource Group
Visual Studio Team Services – Project home
46
Visual Studio Team Services Release Management
Create/Update Resource Group
Install packages
Environment creation in progress
Resulting Environment
51
Application
52
Version Control
Home page
54
Query “C”
55
Build & Packaging
56
Continuous Integration
Semantic Versioning
App build script
Deploy
60
App deploy script – Database
App deploy script – Copy files to Target
App deploy script – Run final setup script
App deploy – configuration data
App deploy – source packages
Deploying the app
Deploying the app – pick a version
App deploy log
App deployed
69
Dynamic Configuration
70
Toggle feature script – generate new config files
Toggle feature deploy script – deploy config changes
New configuration data
Prochain SlideShare
Chargement dans…5
×

DevOps by examples - Azure Meetup Frankfurt 06-2017

137 vues

Publié le

"DevOps by examples" session at Azure Meetup Frankfurt June 2017
https://www.meetup.com/Azure-Meetup-Frankfurt/events/239850328/
English includes screenshots

Publié dans : Technologie
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

DevOps by examples - Azure Meetup Frankfurt 06-2017

  1. 1. DevOps by examples Giulio Vian http://blog.casavian.eu/ giulio.dev@casavian.eu @giulio_vian http://www.getlatestversion.it/
  2. 2. 1990 1992 1999 2014 2010 2016 1995 freelance 2014 2015 TFS Aggregator ?
  3. 3. Most recent project © 2016 IMG Universe, LLC. All Rights Reserved 3
  4. 4. This Session 100/200-level Grasp the essentials of the DevOps approach. (well …, some essentials) Leave open questions to the end Something Olde, Something New, Something Borrowed, Something Blue 4
  5. 5. What we will talk about? DevOps intro Demos Environment hosting the app The Application itself Deployment Dynamic configuration Monitoring Wrap-up 5 OpsDev
  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 job? 8
  9. 9. DevOps is a product? 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. «Main course» Where? Infrastructure-as-Code What? Build & Package How? Deploy 13
  14. 14. Execution environment Operating System O.S. Modules Local Services, Libraries Application Network & External Services Data 14
  15. 15. Execution environment (alt) Base container Custom Container Application (in container) Network & External Services (e.g. Kubernetes) Data 15
  16. 16. Execution environment – Comments Setup times vs. launch times Capacity planning Running costs (Buy vs. Make) 16
  17. 17. Infrastructure-as- Code Azure Resource Manager • Code • Automation 17
  18. 18. 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, … 18
  19. 19. Application Web page showing DB data • Environment • Configuration 19
  20. 20. Build & Packaging Collect everything 20
  21. 21. Build & Packaging – Comments Version Control Continuous Integration Semantic Versioning Artifacts Images (Docker, AMI, Azure VM images) 21
  22. 22. Deploy VSTS Release Management • Controlled Automation 22
  23. 23. 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. 23
  24. 24. Deploy – Comments Category Dev / QA / Prod Integrated (dynamic) Release cadence Feature toggles 24 Source: Pete Hodgson
  25. 25. Dynamic Configuration Feature Toggle 25
  26. 26. So far 26 OpsDev
  27. 27. Application Monitoring Errors Performance Availability Scalability Analytics App Insight HockeyApp ELK ElasticSearch+LogStash+Kibana Splunk BugSense Fabric Firebase New Relic … 27
  28. 28. Monitoring App Insight 28
  29. 29. Troubleshooting & Feedback loop Access to production Read-only Debug Sensitive production data Design/architecture Quality of data Those Precious PDBs 29
  30. 30. More VSTS – Azure Links DevTest labs Deployment Load testing 30
  31. 31. «Dessert» 31
  32. 32. People (Photo: DoD) 32
  33. 33. Automation (Photo: Alexander Dummer) 33
  34. 34. Resources 34 (Photo: Elya)
  35. 35. Call to action 35 (Photo: Francesco Canu)
  36. 36. 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/ 36
  37. 37. 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/ 37
  38. 38. 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/ Continuous Delivery with Visual Studio ALM 2015 — M.Olausson, J.Ehn (Apress) http://www.amazon.com/Continuous- Delivery-Visual-Studio-2015/dp/1484212738/ 38
  39. 39. 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? 39
  40. 40. End of transmission 40
  41. 41. Demo Screenshots 41
  42. 42. Infrastructure-as-Code
  43. 43. Azure Portal
  44. 44. Resource Groups
  45. 45. Resulting Resource Group
  46. 46. Visual Studio Team Services – Project home 46
  47. 47. Visual Studio Team Services Release Management
  48. 48. Create/Update Resource Group
  49. 49. Install packages
  50. 50. Environment creation in progress
  51. 51. Resulting Environment 51
  52. 52. Application 52
  53. 53. Version Control
  54. 54. Home page 54
  55. 55. Query “C” 55
  56. 56. Build & Packaging 56
  57. 57. Continuous Integration
  58. 58. Semantic Versioning
  59. 59. App build script
  60. 60. Deploy 60
  61. 61. App deploy script – Database
  62. 62. App deploy script – Copy files to Target
  63. 63. App deploy script – Run final setup script
  64. 64. App deploy – configuration data
  65. 65. App deploy – source packages
  66. 66. Deploying the app
  67. 67. Deploying the app – pick a version
  68. 68. App deploy log
  69. 69. App deployed 69
  70. 70. Dynamic Configuration 70
  71. 71. Toggle feature script – generate new config files
  72. 72. Toggle feature deploy script – deploy config changes
  73. 73. New configuration data

×