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.

Provisioning environments. A simplistic approach

1,256 views

Published on

Provisioning environments demonstrating Vagrant and Puppet.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Provisioning environments. A simplistic approach

  1. 1. Provisioning Environments A simplistic approach
  2. 2. Who? Eder Roger @EderRoger https://github.com/EderRoger Wender Freese @WenderFreese https://github.com/wenderjean
  3. 3. Agenda ● Devops ● Vagrant ● Puppet ● A real example ● Questions?
  4. 4. What this presentation is not about? ● Configuring nginx or other servers ● Loadbalancing ● Configuring MongoDB or other DB's ● MongoDB replicaset
  5. 5. Devops Anything that makes interactions between development and operations, better. "Thomas Limoncelli"
  6. 6. #devops Automation at Flickr (2008) Patrick Debois (Belgium Sysadmin) Devops days - (30-31)/Oct/2009 Twitter
  7. 7. Devops = Agility + Cooperation #devops
  8. 8. Problem #1 (Deploy) More Changes More Commits More Deploys Less time
  9. 9. Interactions between devs and ops, why?
  10. 10. Interactions between devs and ops, why?
  11. 11. Solution Ops needs to think like devs Devs needs to think like ops
  12. 12. Problem #2 (New dev comes) Creating an environment Install Java Install Tomcat Install DB Start to code
  13. 13. What is Vagrant? Simple way to create virtualized environment… Yes, it’s a tool. It started in January 2010 by Mitchell Hashimoto https://www.vagrantup.com/
  14. 14. What problems are solved? ● Reproducible ● Portable ● Agility ● Automation ● no more "works on my machine"
  15. 15. Compatibility
  16. 16. How does it works?
  17. 17. All starts in a Vagrantfile
  18. 18. All starts in a Vagrantfile $ vagrant up $ vagrant ssh database Trust, that's all...
  19. 19. Is it just this?
  20. 20. No, we have more... Just an environment won't help you... Puppet
  21. 21. What is Puppet? Puppet is IT automation software that defines and enforces the state of your infrastructure. ● Is a language ● Is an infrastructure manager
  22. 22. Whaaaat!!!
  23. 23. Puppet flexibility If you have an available environment, you will probably installs some apps/services on it.
  24. 24. Shellcode X Puppet
  25. 25. Remember Vagrant file?
  26. 26. You need a manifest file Puppet language files are called "manifests" manifests/config.pp
  27. 27. Modules and Puppet community ● You don't need to make all by yourself ● Use modules available by community https://forge.puppetlabs.com/
  28. 28. Using a module
  29. 29. Price Just for use - $free
  30. 30. A real example APP SERVER 1 APP SERVER 2 APP SERVER 3 NGINX REPLICA SET MONGO 3 MONGO 1 MONGO 2 DRIVER DRIVER DRIVER LB https://github.com/EderRoger/nginx_loadbalancer
  31. 31. NGINX
  32. 32. APP SERVER 1 APP SERVER 2 APP SERVER 3
  33. 33. REPLICA SET MONGO 1 MONGO 2 MONGO 3

×