From Test to Live with Rex

download From Test to Live with Rex

If you can't read please download the document

Transcript of From Test to Live with Rex

  • 1. From Test to Live with Rex

2. Who am I? Jan Gehring Working @ inovex as System Architect Planing, Building and Operating of LinuxInfrastructures Mostly Web- and Mailcluster Perl since 1998 3. Who am I? Jan Gehring Working @ inovex as System Architect Planing, Building and Operating of LinuxInfrastructures Mostly Web- and Mailcluster Perl since 1998 @jfried83 http://github.com/krimdomu 4. Well, for me it works... 5. Fail early - Fail hard 6. Rex Whats that? Rex is for "Remote Execution" Automating Server Orchestration Confiuration Management Deployments 7. Rex - History Project starts in 2010 Was developed for Softwaredeployments Actively maintained and extended 8. Philosophy Getting Things Doneo Fasto Reliable and Reproducible Compatibility breach = Bug 9. Philosophie Getting Things Doneo Fasto Reliable and Reproducible Compatibility breach = Bug Feature Flags 10. Yeah, a new project! 11. A new project 2 Ways to start 12. Ein neues Projekt 2 Ways to starto We just start without thinking... 13. http://www.terminus-notfallmedizin.de/blog/ 14. A new Project 2 Ways to starto We just start without thinking...o We ask for the requirements 15. A new Project 2 Ways to starto We just start without thinking...o We ask for the requirementsSoftware ArchitectureRequirements regarding Perl- or Module VersionsOSDo we need to support High Availbility or ClusterSolutionsAnd much more... 16. The Development Environment 17. The Development Environment Normaly virtual Setup as close as possible to production Rex/Boxes for fast VM deployments Rex to provision and deploy the VMs andlater the Hardwarefor 18. Basics Make = Makefile Rex = Rexfile Based on tasks SSH Supports Key, Agent and Password authentication Protocol independant There is also a HTTP Transport Protocol 19. The Beginning 20. Prepare the System Example Projecto Webservero Memcacheo Database 21. The Development Environment 22. The Development Environment 23. The Development Environment 24. The Development Environment 25. The Development Environment 26. The Development Environment 27. The Development Environment 28. The Development Environment 29. bash# rex box 30. modules.rexify.org 31. The Development Environment 32. The Development Environment 33. The Development Environment 34. The Development Environment 35. The Development Environment 36. The Development Environment 37. The Development Environment 38. The Development Environment 39. The Development Environment 40. The Development Environment 41. The Development Environment 42. The Development Environment 43. The Development Environment 44. There is more... Environments Manage serviceso starto stopo Edit runlevels Working with files / Config-Managemento Templates User Management Filesystem Operations Harddrive Operations ... http://rexify.org/api 45. Deployments 46. Deployments With Git With a paket manager (like dpkg, rpm) With Symlinks 47. Deployments With Git With a paket manager (like dpkg, rpm) With Symlinks Rex::Apache::Deploy 48. App Deployments 49. App Deployments 50. App Deployments 51. App Deployments 52. App Deployments 53. App Deployments 54. App Deployments bash# rex deploy --commit=abcd1234 55. App Deployments 56. App Deployments 57. App Deployments 58. App Deployments 59. App Deployments 60. App Deployments 61. App Deployments 62. Environments 63. Environmentsbash# rex -E live deploy --commit=abcd1234 64. Thanks for listening! http://rexify.org/ http://modules.rexify.org/ http://box.rexify.org/