Von Test nach Live mit Rex
Wer bin ich?•   Jan Gehring•   Angestellt bei inovex als Systems Architect•   Design, Aufbau & Betrieb von    Serverlandsc...
Wer bin ich?•   Jan Gehring•   Angestellt bei inovex als Systems Architect•   Design, Aufbau & Betrieb von    Serverlandsc...
Also bei mir funktionierts...
Fail early - Fail hard
Rex - Was ist das?•   der Name steht für "Remote Execution"•   Automatisierung•   Serverorchestrierung•   Konfigurationsma...
Rex - Etwas Geschichte•   wird entwickelt seit 2010•   wurde entwickelt für Softwaredeployments•   wird seitdem kontinuier...
Philosophie•   Getting Things Done    o   Schnell    o   Zuverlässig bzw. Nachvollziehbar•   Bruch der Kompatibilität = Bug
Philosophie•   Getting Things Done    o   Schnell    o   Zuverlässig bzw. Nachvollziehbar•   Bruch der Kompatibilität = Bu...
Juhu ein neues Projekt
Ein neues Projekt•   2 Wege
Ein neues Projekt•   2 Wege    o   Wir fangen gleich an zu implementieren
http://www.terminus-notfallmedizin.de/blog/
Ein neues Projekt•   2 Wege    o   Wir fangen gleich an zu implementieren    o   Wir fragen nach den Anforderungen
Ein neues Projekt•   2 Wege    o   Wir fangen gleich an zu implementieren    o   Wir fragen nach den Anforderungen        ...
Die Entwicklungsumgebung
Die Entwicklungsumgebung•   im Normalfall virtuell•   so nah wie möglich an Produktion•   Rex/Boxes um schnell VMs zu erst...
Basics - der Aufbau•   Make = Makefile•   Rex = Rexfile•   Taskbasiert•   SSH•   Keine Vorgabe der Authentifizierung•   Pr...
Der Start
System vorbereiten•   Beispielprojekt    o   Webserver    o   Memcache    o   Datenbank
Die Entwicklungsumgebung
Die Entwicklungsumgebung
Die Entwicklungsumgebung
Die Entwicklungsumgebung
Die Entwicklungsumgebung
Die Entwicklungsumgebung
Die Entwicklungsumgebung
Die Entwicklungsumgebung
bash# rex box
modules.rexify.org
Die Entwicklungsumgebung
Die Entwicklungsumgebung
Die Entwicklungsumgebung
Die Entwicklungsumgebung
Die Entwicklungsumgebung
Die Entwicklungsumgebung
Die Entwicklungsumgebung
Die Entwicklungsumgebung
Die Entwicklungsumgebung
Die Entwicklungsumgebung
Die Entwicklungsumgebung
Die Entwicklungsumgebung
Die Entwicklungsumgebung
Es gibt mehr...•   Environments•   Verwaltung von Diensten    o   starten    o   stoppen    o   runlevel manipulation•   A...
Deployments
Deployments•   mittels Git•   mittels Paketmanager•   mittels Symlinks
Deployments•   mittels Git•   mittels Paketmanager•   mittels Symlinks•   Rex::Apache::Deploy
Deployment der Anwendung
Deployment der Anwendung
Deployment der Anwendung
Deployment der Anwendung
Deployment der Anwendung
Deployment der Anwendung
Deployment der Anwendung   bash# rex deploy --commit=abcd1234
Deployment der Anwendung
Deployment der Anwendung
Deployment der Anwendung
Deployment der Anwendung
Deployment der Anwendung
Deployment der Anwendung
Deployment der Anwendung
Environments
Environmentsbash# rex -E live deploy --commit=abcd1234
Vielen Dank fürs Zuhören.● http://rexify.org/● http://modules.rexify.org/● http://box.rexify.org/
Upcoming SlideShare
Loading in...5
×

Von Test nach live mit Rex

116

Published on

Rex ist ein Tool zur Automatisierung von Applikations- und Konfigurationsrollouts. Die gewünschte Umgebung wird mittels eines Script (Perl) beschrieben und kann somit auf unterschiedlichen Systemen ausgeführt werden. Rex verbindet sich per SSH auf das Zielsystem und führt die entsprechenden Arbeiten aus.
In diesem Vortrag wird zunächst auf die Basis von Rex eingegangen. Dann wird gezeigt, wie man mit Hilfe von Rex sich und seinem Team schnell eine Testumgebung mit VirtualBox zur Verfügung stellen kann, und wie man – in Zusammenarbeit mit den Systemadministratoren – die gleichen Scripte zum Aufbau und dem Deployment der Produktionsumgebung verwenden kann.

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
116
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Von Test nach live mit Rex

  1. 1. Von Test nach Live mit Rex
  2. 2. Wer bin ich?• Jan Gehring• Angestellt bei inovex als Systems Architect• Design, Aufbau & Betrieb von Serverlandschaften• Web- und Mailcluster• Perl seit 1998
  3. 3. Wer bin ich?• Jan Gehring• Angestellt bei inovex als Systems Architect• Design, Aufbau & Betrieb von Serverlandschaften• Web- und Mailcluster• Perl seit 1998• https://github.com/krimdomu• @jfried83
  4. 4. Also bei mir funktionierts...
  5. 5. Fail early - Fail hard
  6. 6. Rex - Was ist das?• der Name steht für "Remote Execution"• Automatisierung• Serverorchestrierung• Konfigurationsmanagement• Deployments
  7. 7. Rex - Etwas Geschichte• wird entwickelt seit 2010• wurde entwickelt für Softwaredeployments• wird seitdem kontinuierlich weiterentwickelt
  8. 8. Philosophie• Getting Things Done o Schnell o Zuverlässig bzw. Nachvollziehbar• Bruch der Kompatibilität = Bug
  9. 9. Philosophie• Getting Things Done o Schnell o Zuverlässig bzw. Nachvollziehbar• Bruch der Kompatibilität = Bug• Feature Flags
  10. 10. Juhu ein neues Projekt
  11. 11. Ein neues Projekt• 2 Wege
  12. 12. Ein neues Projekt• 2 Wege o Wir fangen gleich an zu implementieren
  13. 13. http://www.terminus-notfallmedizin.de/blog/
  14. 14. Ein neues Projekt• 2 Wege o Wir fangen gleich an zu implementieren o Wir fragen nach den Anforderungen
  15. 15. Ein neues Projekt• 2 Wege o Wir fangen gleich an zu implementieren o Wir fragen nach den Anforderungen  Software Architektur  Gibt es Vorgaben bzgl. Perl Versionen oder Modulversionen  Unter welchem OS soll es laufen?  Clusterbetrieb? Hochverfügbarkeit?  und vieles mehr...
  16. 16. Die Entwicklungsumgebung
  17. 17. Die Entwicklungsumgebung• im Normalfall virtuell• so nah wie möglich an Produktion• Rex/Boxes um schnell VMs zu erstellen• Rex zum provisionieren und deployen
  18. 18. Basics - der Aufbau• Make = Makefile• Rex = Rexfile• Taskbasiert• SSH• Keine Vorgabe der Authentifizierung• Protokollunabhängig• Es gibt auch einen HTTP/s Modus
  19. 19. Der Start
  20. 20. System vorbereiten• Beispielprojekt o Webserver o Memcache o Datenbank
  21. 21. Die Entwicklungsumgebung
  22. 22. Die Entwicklungsumgebung
  23. 23. Die Entwicklungsumgebung
  24. 24. Die Entwicklungsumgebung
  25. 25. Die Entwicklungsumgebung
  26. 26. Die Entwicklungsumgebung
  27. 27. Die Entwicklungsumgebung
  28. 28. Die Entwicklungsumgebung
  29. 29. bash# rex box
  30. 30. modules.rexify.org
  31. 31. Die Entwicklungsumgebung
  32. 32. Die Entwicklungsumgebung
  33. 33. Die Entwicklungsumgebung
  34. 34. Die Entwicklungsumgebung
  35. 35. Die Entwicklungsumgebung
  36. 36. Die Entwicklungsumgebung
  37. 37. Die Entwicklungsumgebung
  38. 38. Die Entwicklungsumgebung
  39. 39. Die Entwicklungsumgebung
  40. 40. Die Entwicklungsumgebung
  41. 41. Die Entwicklungsumgebung
  42. 42. Die Entwicklungsumgebung
  43. 43. Die Entwicklungsumgebung
  44. 44. Es gibt mehr...• Environments• Verwaltung von Diensten o starten o stoppen o runlevel manipulation• Arbeiten mit Dateien / Config-Management o Templates• Benutzerverwaltung• Filesystemoperationen• Partitionierung von Festplatten• ...• http://rexify.org/api
  45. 45. Deployments
  46. 46. Deployments• mittels Git• mittels Paketmanager• mittels Symlinks
  47. 47. Deployments• mittels Git• mittels Paketmanager• mittels Symlinks• Rex::Apache::Deploy
  48. 48. Deployment der Anwendung
  49. 49. Deployment der Anwendung
  50. 50. Deployment der Anwendung
  51. 51. Deployment der Anwendung
  52. 52. Deployment der Anwendung
  53. 53. Deployment der Anwendung
  54. 54. Deployment der Anwendung bash# rex deploy --commit=abcd1234
  55. 55. Deployment der Anwendung
  56. 56. Deployment der Anwendung
  57. 57. Deployment der Anwendung
  58. 58. Deployment der Anwendung
  59. 59. Deployment der Anwendung
  60. 60. Deployment der Anwendung
  61. 61. Deployment der Anwendung
  62. 62. Environments
  63. 63. Environmentsbash# rex -E live deploy --commit=abcd1234
  64. 64. Vielen Dank fürs Zuhören.● http://rexify.org/● http://modules.rexify.org/● http://box.rexify.org/
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×