Kernpunkte_Vortrag_Infrastruktur_Axel_Burghof_30.11.2018 - Archi-Lab/fae-team-3 GitHub Wiki

Kernaussagen aus Axel Burghofs Vortrag am 30.11.2018

  1. Die Infrastruktur stellt ein kritisches Thema dar und ist gerade im Kontext von Microservices interessant. Infrastruktur ermöglicht erst den Betrieb von Software.

  2. Im Kontext von Microservices ist Infrastruktur die „Luft zum atmen“, besonders bedeutend ist es, die Infrastruktur skalierbar zu gestalten um diese nach Bedarf einsetzen zu können.

  3. Skalierbarkeit von Infrastruktur ist, je nach Maßstab, nur noch automatisiert denkbar. Automatisierung ermöglicht erst die erforderliche Flexibilität für Microservices.

  4. Infrastruktur ist im Kontext von Microservices nicht nur für den Betrieb interessant, sondern es ist auch für die Entwicklung erforderlich mehr Infrastrukturaspekte zu berücksichtigen, als dies bei monolithischer Software der Fall wäre.

  5. Generell sind bei der Beschaffung und im Betrieb von Infrastruktur mehrere Ebenen zu berücksichtigen. Die unterste Ebene betrifft die Hardware, darüber ist die Softwareebene angesiedelt dazu kommen noch die Ebene „Monitoring & Alerting“, sowie noch eine Stufe darüber, die Ebene „Provisioning“, in der Beschaffung, Betrieb und Änderungsmanagement zusammengefasst sind.

  6. Die Bereitstellung von Infrastruktur hat sich im Laufe der Zeit weiterentwickelt. Von physischen Servern im eigenen Rechenzentrum, über den Einsatz von virtuellen Servern bei Cloud Providern, hin zu containeriesierten Anwendungen, welche von großen Cloud Providern gehostet werden (AWS, MS-Azure, usw.) und je nach aktuellem Bedarf zu einem Pool hinzugefügt oder aus diesem entfernt werden können und dabei sekundengenau abgerechnet werden.

  7. Vollständige virtuelle Maschinen und Container unterscheiden sich darin, dass virtuelle Maschinen einen kompletten Rechner mit virtueller Hardware simulieren, Container jedoch nur eien einzelnen Prozessbaum vom restlichen Betriebssystem abschotten. Dies jedoch vollständig, sie bieten eine komplett eigene Sicht auf Netzwerk, Dateisystem usw. Da durch Container nur ein Prozessbaum ausgeführt werden kann eignen diese sich jedoch nicht für alle Software.

  8. Container stellen dabei besonders bei MS ein wichtiges Element dar, weil die Entwickler die Softwareumgebung, in welcher der MS nachher läuft, mitgestalten können sollen.

  9. Dieses Konzept der DevOps stellt einen kulturellen Wandel dar. Für die Entwickler entsteht daraus eine große Verantwortung, da sie bei ihrer Arbeit nun auch die ihren Zielen (schnelle Weiterentwicklung/Releases, viele Änderungen) gegenläufigen Ziele des Betriebs berücksichtigen müssen (Stabilität, Wartbarkeit).

  10. Containerisierung, z. B. mit Docker, geht einher mit dem Prozess der „continuous integration“, in dem Quellcode automatisch kompiliert, getestet und falls gewünscht auch deployt werden kann (häufig benötigt dieser Schritt noch eine manuelle Bestätigung).

  11. Bei Updates auf neue Versionen von einzelnen Services gilt es zu beachten, dass es, um Downtimes zu vermeiden, unvermeidbar ist alte und neue Versionen von MS parallel zu Betreiben. Diese müssen daher für diese Zwecke ausgelegt sein.

  12. Um die für MS gewünschte Flexibilität und Skalierbarkeit von Infrastruktur zu erreichen ist es unerlässlich diese automatisiert zu orchestrieren. Dafür bietet sich die Software „kubernetes“ an, welche sich aktuell zum Industriestandard entwickelt.

  13. Kubernetes kann einzelne Container vollautomatisiert steuern und die Kommunikation zwischen diesen managen.

  14. Es sollte berücksichtigt werden, dass, trotz aller Vorteile welche die containerisierung mittels Dockercontainern bietet, diese nicht immer zum produktiven Betrieb eingesetzt werden können.

PDF Version

(Rechtsklick -> Ziel speichern unter)

Kernaussagen (PDF)

⚠️ **GitHub.com Fallback** ⚠️