Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Infrastructure as Code - mainXchange

Infrastructure as Code - mainXchange

Thorsten Hoeger

March 07, 2018
Tweet

More Decks by Thorsten Hoeger

Other Decks in Technology

Transcript

  1. About me • Thorsten Höger • Cloud Evangelist - Taimos

    GmbH • AWS Community Hero • twitter: @hoegertn • web: www.taimos.de
  2. Leistungen o Cloud o Skalierbare Infrastruktur - Wir betreiben Ihre

    dynamische Infrastruktur auf den Schultern von Experten o Amazon Web Services, Docker, Microservices o Backend o Robuste Backends - Wir entwickeln Ihre Geschäftsanwendung mit Hilfe aktueller Technologien und Konzepte o Java, Spring, Serverless o Frontend o Mobile first - Wir entwickeln moderne Frontends für Ihre Applikation. Natürlich responsive und mit neuester Technik. o HTML5, AngularJS, Bootstrap
  3. CloudFormation: Infrastructure as Code AWS CloudFormation bietet Entwicklern und Systemadministratoren

    die Möglichkeit, ohne viel Aufwand eine Sammlung von zugehörigen AWS-Ressourcen zu erstellen und zu verwalten und in geordneter und transparenter Form bereitzustellen und zu aktualisieren. Template Stack AWS CloudFormation Engine § YAML/JSON-Format § Beschreibt die komplette Infrastruktur § Versionierbar § AWS Service § Verarbeitet AWS CloudFormation Templates und generiert Stacks § Von CloudFormation erstellte Infrastruktur- Ressourcen § Erstellen, aktualisieren und löschen
  4. Über ein Template lassen sich mehrere Versionen der Infrastruktur erstellen

    Public Availability Zone A Availability Zone B Route 53 Public Private Private Kunde.App.ISV.de Auto Scaling group Public Availability Zone A Availability Zone B Route 53 Public Private Private Kunde.App.ISV.de Auto Scaling group Template AWS CloudFormation Engine Stack Public Availability Zone A Availability Zone B Route 53 Public Private Private Kunde.App.ISV.de Auto Scaling group Stack Stack
  5. Die Templates sind parametrisierbar, erstellte Stacks updatefähig § Beispiele für

    Parameter: - IP-Adressbereiche - zu verwendende Instanztypen - Datenbank als Stand-Alone oder Multi-AZ (Failover)-Variante - Etc. § Erstellte Stacks sind updatefähig, d.h. vorhandene Infrastrukturen können über veränderte Parameter oder Änderungen am CloudFormation-Template aktualisiert werden § Darüber hinaus können komplette Stacks auch wieder abgebaut werden § Dies ist vor allem hilfreich zur temporären Bereitstellung von Test-, Schulungs- oder Demosystemen
  6. Deployment von Serverdiensten und Anwendungsversionen § Neben der Bereitstellung der

    Infrastruktur ist auch die Konfiguration der Server (Dienste und Bereitstellung der Programmversion) integrierbar § Verbindung mit Versionsverwaltung, Übergabe zu installierender Programmversion mittels Parameter § Alternativ: Deployment über Konfigurationsmanagement-Frameworks wie Chef, Puppet etc. in Kombination mit CloudFormation § Einfache Integration in Deploymentpipelines (Jenkins, etc.) § Integration von Docker möglich
  7. CloudFormation, Deployment per User-Data Public Availability Zone A Availability Zone

    B Route 53 Public www.wolkenkuckucksheim.de Auto Scaling group Logfiles Cloudwatch Logs S3 trc-meetup/ applications/ sample.war files/ jdk-8u60-linux-x64.tar.gz cloudwatchLogAgent.conf scripts/ webServer.sh Execute via Userdata 1 2 Download and configure
  8. Erstellung von Templates Es gibt eine Vielzahl von Beispielvorlagen für

    komplette Anwendungslandschaften. Text-Editor CF-Designer CloudFormer Text-Editor bzw. IDE-Integration Visuelle Drag- und Drag- Umgebung Erstellung auf Basis vorhandener Infrastrukturen
  9. Aufbau eines Templates - Funktionen • Fn::Base64 • Condition Functions

    • Fn::FindInMap • Fn::GetAtt • Fn::GetAZs • Fn::ImportValue • Fn::Join • Fn::Select • Fn::Split • Fn::Sub • Ref