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.
A Cloud Based Continuous
Delivery Implementation
Pavel Chunyayev
Amsterdam, 22-04-2015
Continuous Delivery in 2015
Development
• Commit
• Merge
• Trigger pipeline
Build
• Create artifact
• Assign version
Testi...
Continuous Delivery in 2015
Development
• Commit
• Merge
• Trigger pipeline
Build
• Create artifact
• Assign version
Infra...
Declarative vs Imperative
Declarative
• I want this server in this state
Imperative
• I want you to apply this sequence of...
Mutable (reusable) vs Immutable (disposable)
Reusable
• I want to use the same server during the life of the project.
Immu...
Configuration Management tools
Declarative
Imperative
Mutable Immutable
#!/bin/bash
Case 1
Declarative
Imperative
Mutable Immutable
Case 1
Challenges
• Projects require environments to be created
• A lot of environments are similar
• Takes time for admin...
Private cloud enables automation
What we did
• VMware vSphere to provide on-demand VMs
• Puppet to configure environments
...
Declarative
Imperative
Mutable Immutable
Case 2
Declarative
Imperative
Mutable Immutable
Case 2
Challenges
• Control the state of the environments
• Release new versions of applications safely
• Automate the pro...
Case 2
What we did
• Puppet to control the state of the servers
• Package artifact and assign version
• Deploy specific ve...
Declarative
Imperative
Mutable Immutable
Case 3
Declarative
Imperative
Mutable Immutable
Case 3
Challenge
• Software needs to be tested in different configurations
• Test environments are multi-server
• Environm...
Environments as a service
Solution
• Amazon Web Services to provision infrastructure
• Ansible to create procedures for ea...
Environments as a service
Declarative
Imperative
Mutable Immutable
Configuration Management Review
Declarative
Imperative
Mutable Immutable
Key takeaways
• Optimize for Continuous Delivery
• Automate infrastructure
pavel@levi9.com
@PavelChunyayev
Any questions?
Prochain SlideShare
Chargement dans…5
×
Prochain SlideShare
Configuration Management - Finding the tool to fit your needs
Suivant
Télécharger pour lire hors ligne et voir en mode plein écran

0

Partager

Télécharger pour lire hors ligne

Arch9 - A cloud based continuous delivery implementation

Télécharger pour lire hors ligne

Presentation shows the evolution of different configuration management tool from imperative cod on a mutable infrastructure through declarative code back to the imperative code with immutable infrastructure.

  • Soyez le premier à aimer ceci

Arch9 - A cloud based continuous delivery implementation

  1. 1. A Cloud Based Continuous Delivery Implementation Pavel Chunyayev Amsterdam, 22-04-2015
  2. 2. Continuous Delivery in 2015 Development • Commit • Merge • Trigger pipeline Build • Create artifact • Assign version Testing • Journey across environments • Quality criteria Production • Canary deployment • Release != deployment
  3. 3. Continuous Delivery in 2015 Development • Commit • Merge • Trigger pipeline Build • Create artifact • Assign version Infrastructure • Infrastructure as a code • Automated • On-demand Testing • Journey across environments • Quality criteria Production • Canary deployment • Release != deployment
  4. 4. Declarative vs Imperative Declarative • I want this server in this state Imperative • I want you to apply this sequence of actions
  5. 5. Mutable (reusable) vs Immutable (disposable) Reusable • I want to use the same server during the life of the project. Immutable • I want to provision a new server when I need to change something.
  6. 6. Configuration Management tools Declarative Imperative Mutable Immutable #!/bin/bash
  7. 7. Case 1 Declarative Imperative Mutable Immutable
  8. 8. Case 1 Challenges • Projects require environments to be created • A lot of environments are similar • Takes time for admins to provision and configure them
  9. 9. Private cloud enables automation What we did • VMware vSphere to provide on-demand VMs • Puppet to configure environments • Hiera to separate data from the code • Jenkins to control the lifecycle Continuous Delivery • Huge time savings and code reuse • Developers are enabled to create configurations • Deployments are scripted Apache New server Java Zabbix agent MySQL
  10. 10. Declarative Imperative Mutable Immutable
  11. 11. Case 2 Declarative Imperative Mutable Immutable
  12. 12. Case 2 Challenges • Control the state of the environments • Release new versions of applications safely • Automate the procedures to save time
  13. 13. Case 2 What we did • Puppet to control the state of the servers • Package artifact and assign version • Deploy specific version to specific environment • Rebuild the whole environment on deploy Continuous Delivery • Visibility • Repeatable process • Scripted deployments Production 1.3-127 Staging 1.3-140 Testing 1.3-156
  14. 14. Declarative Imperative Mutable Immutable
  15. 15. Case 3 Declarative Imperative Mutable Immutable
  16. 16. Case 3 Challenge • Software needs to be tested in different configurations • Test environments are multi-server • Environments take days to provision manually
  17. 17. Environments as a service Solution • Amazon Web Services to provision infrastructure • Ansible to create procedures for each configuration • REST API service to coordinate requests Continuous Delivery • Ready for both human and robots • 20 minutes to create any environment • Reduced feedback time REST API Ansible
  18. 18. Environments as a service Declarative Imperative Mutable Immutable
  19. 19. Configuration Management Review Declarative Imperative Mutable Immutable
  20. 20. Key takeaways • Optimize for Continuous Delivery • Automate infrastructure pavel@levi9.com @PavelChunyayev Any questions?

Presentation shows the evolution of different configuration management tool from imperative cod on a mutable infrastructure through declarative code back to the imperative code with immutable infrastructure.

Vues

Nombre de vues

368

Sur Slideshare

0

À partir des intégrations

0

Nombre d'intégrations

9

Actions

Téléchargements

2

Partages

0

Commentaires

0

Mentions J'aime

0

×