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.
From Test to Live with Rex
Who am I?•   Jan Gehring•   Working @ inovex as System Architect•   Planing, Building and Operating of Linux    Infrastruc...
Who am I?•   Jan Gehring•   Working @ inovex as System Architect•   Planing, Building and Operating of Linux    Infrastruc...
Well, for me it works...
Fail early - Fail hard
Rex – Whats that?•   Rex is for "Remote Execution"•   Automating•   Server Orchestration•   Confiuration Management•   Dep...
Rex - History•   Project starts in 2010•   Was developed for Softwaredeployments•   Actively maintained and extended
Philosophy•   Getting Things Done    o   Fast    o   Reliable and Reproducible•   Compatibility breach = Bug
Philosophie•   Getting Things Done    o   Fast    o   Reliable and Reproducible•   Compatibility breach = Bug•   Feature F...
Yeah, a new project!
A new project•   2 Ways to start
Ein neues Projekt•   2 Ways to start    o   We just start without thinking...
http://www.terminus-notfallmedizin.de/blog/
A new Project•   2 Ways to start    o   We just start without thinking...    o   We ask for the requirements
A new Project•   2 Ways to start    o   We just start without thinking...    o   We ask for the requirements        ●     ...
The Development Environment
The Development Environment•   Normaly virtual•   Setup as close as possible to production•   Rex/Boxes for fast VM deploy...
Basics•   Make = Makefile•   Rex = Rexfile•   Based on tasks•   SSH•   Supports Key, Agent and Password authentication•   ...
The Beginning
Prepare the System•   Example Project    o   Webserver    o   Memcache    o   Database
The Development Environment
The Development Environment
The Development Environment
The Development Environment
The Development Environment
The Development Environment
The Development Environment
The Development Environment
bash# rex box
modules.rexify.org
The Development Environment
The Development Environment
The Development Environment
The Development Environment
The Development Environment
The Development Environment
The Development Environment
The Development Environment
The Development Environment
The Development Environment
The Development Environment
The Development Environment
The Development Environment
There is more...•   Environments•   Manage services    o   start    o   stop    o   Edit runlevels•   Working with files /...
Deployments
Deployments•   With Git•   With a paket manager (like dpkg, rpm)•   With Symlinks
Deployments•   With Git•   With a paket manager (like dpkg, rpm)•   With Symlinks•   Rex::Apache::Deploy
App Deployments
App Deployments
App Deployments
App Deployments
App Deployments
App Deployments
App Deployments   bash# rex deploy --commit=abcd1234
App Deployments
App Deployments
App Deployments
App Deployments
App Deployments
App Deployments
App Deployments
Environments
Environmentsbash# rex -E live deploy --commit=abcd1234
Thanks for listening!● http://rexify.org/● http://modules.rexify.org/● http://box.rexify.org/
Upcoming SlideShare
Loading in …5
×

From Test to Live with Rex

2,082 views

Published on

Published in: Technology
  • Be the first to comment

From Test to Live with Rex

  1. 1. From Test to Live with Rex
  2. 2. Who am I?• Jan Gehring• Working @ inovex as System Architect• Planing, Building and Operating of Linux Infrastructures• Mostly Web- and Mailcluster• Perl since 1998
  3. 3. Who am I?• Jan Gehring• Working @ inovex as System Architect• Planing, Building and Operating of Linux Infrastructures• Mostly Web- and Mailcluster• Perl since 1998• @jfried83• http://github.com/krimdomu
  4. 4. Well, for me it works...
  5. 5. Fail early - Fail hard
  6. 6. Rex – Whats that?• Rex is for "Remote Execution"• Automating• Server Orchestration• Confiuration Management• Deployments
  7. 7. Rex - History• Project starts in 2010• Was developed for Softwaredeployments• Actively maintained and extended
  8. 8. Philosophy• Getting Things Done o Fast o Reliable and Reproducible• Compatibility breach = Bug
  9. 9. Philosophie• Getting Things Done o Fast o Reliable and Reproducible• Compatibility breach = Bug• Feature Flags
  10. 10. Yeah, a new project!
  11. 11. A new project• 2 Ways to start
  12. 12. Ein neues Projekt• 2 Ways to start o We just start without thinking...
  13. 13. http://www.terminus-notfallmedizin.de/blog/
  14. 14. A new Project• 2 Ways to start o We just start without thinking... o We ask for the requirements
  15. 15. A new Project• 2 Ways to start o We just start without thinking... o We ask for the requirements ● Software Architecture ● Requirements regarding Perl- or Module Versions ● OS ● Do we need to support High Availbility or Cluster Solutions ● And much more...
  16. 16. The Development Environment
  17. 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 and later the Hardwarefor
  18. 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. 19. The Beginning
  20. 20. Prepare the System• Example Project o Webserver o Memcache o Database
  21. 21. The Development Environment
  22. 22. The Development Environment
  23. 23. The Development Environment
  24. 24. The Development Environment
  25. 25. The Development Environment
  26. 26. The Development Environment
  27. 27. The Development Environment
  28. 28. The Development Environment
  29. 29. bash# rex box
  30. 30. modules.rexify.org
  31. 31. The Development Environment
  32. 32. The Development Environment
  33. 33. The Development Environment
  34. 34. The Development Environment
  35. 35. The Development Environment
  36. 36. The Development Environment
  37. 37. The Development Environment
  38. 38. The Development Environment
  39. 39. The Development Environment
  40. 40. The Development Environment
  41. 41. The Development Environment
  42. 42. The Development Environment
  43. 43. The Development Environment
  44. 44. There is more...• Environments• Manage services o start o stop o Edit runlevels• Working with files / Config-Management o Templates• User Management• Filesystem Operations• Harddrive Operations• ...• http://rexify.org/api
  45. 45. Deployments
  46. 46. Deployments• With Git• With a paket manager (like dpkg, rpm)• With Symlinks
  47. 47. Deployments• With Git• With a paket manager (like dpkg, rpm)• With Symlinks• Rex::Apache::Deploy
  48. 48. App Deployments
  49. 49. App Deployments
  50. 50. App Deployments
  51. 51. App Deployments
  52. 52. App Deployments
  53. 53. App Deployments
  54. 54. App Deployments bash# rex deploy --commit=abcd1234
  55. 55. App Deployments
  56. 56. App Deployments
  57. 57. App Deployments
  58. 58. App Deployments
  59. 59. App Deployments
  60. 60. App Deployments
  61. 61. App Deployments
  62. 62. Environments
  63. 63. Environmentsbash# rex -E live deploy --commit=abcd1234
  64. 64. Thanks for listening!● http://rexify.org/● http://modules.rexify.org/● http://box.rexify.org/

×