Infrastructure As Code In Practice - OSAD 2021

1y ago
14 Views
2 Downloads
4.88 MB
55 Pages
Last View : 16d ago
Last Download : 3m ago
Upload by : Maleah Dent
Transcription

Infrastructure as Code in PracticeÜberblick und Praxis-Beispiele

Ihr Weg zu unswhoamiCHRISTIAN STANKOWICSenior System EngineerGeschäftsstelle MitteMobil: 49 151 18025982Tel.: 49 6122 536 0Fax: 49 6122 536 399christian.stankowic@sva.deBorsigstraße 1465205 WiesbadenInfrastructure as Code in Practice14.10.20192https://cstan.io

Ihr Weg zu unswhoamiKatzenbilder, Memes und BloggenMonitoringVirtualisierungConfiguration ManagementInfrastructure as Code in Practice14.10.2019Enterprise Linux3Automatisierung

Agenda1SVA2Motivation und Workflow3Configuration Management4Packer5Terraform6Compliance as CodeInfrastructure as Code in Practice14.10.20194

SVA

Über unsProfil und UnternehmenszielGrößter landsStarkes Wachstum mit mehrals 1.200 Mitarbeiternin �t &IntegritätBetreuungEntwicklungUnsere Kunden begleitenwir langfristig in allenProzessschritten.Infrastructure as Code in PracticeMotivierendeUmgebung fürMitarbeiter &PartnerWertschätzungdes Kunden

Über unsUnternehmen196 nMaschinen &AnlagenbauInfrastructure as Code in Practice14.10.20197Finance &InsuranceTelekommunikation

ProdukteProduktportfolio auf einen BlickDatacenterInfrastructure Storage- & ServerSysteme IP-Netzwerk-Infrastruktur Software Defined DataCenter / Container Cloud & Automation Services / Consulting zHosting zBusiness Services IBM System z Hardware Managed Services Big Data Plattformen SAP Infrastruktur Virtual Workspace &Mobility IT Operations Analytics SAP Technologieberatung Business Analytics und IoT SAP Solution Manager SAP Analytics Application, Information& Device ManagementServiceManagement Software Asset Management Backup und Recovery Enterprise Asset Management Disaster Recovery IT Service Management High Availability Enterprise Service Management Betriebsunterstützung/Managed ServicesIT Security14.10.20198SVA Produkte Information Security undCompliance Consulting BVQ IT-Security-Architekturund -Integration Liberyse Penetration Testing IT-Security Managed Services Security Incident ResponseInfrastructure as Code in PracticeSAP Application & Desktop(CAD/E) Virtualization Archivierung NotfallplanungBig Data Analytics& IoT Unified EndpointManagement HyperconvergedBusinessContinuityEnd UserComputingMainframe IDR medPower

Motivation

Motivation- Systeme und Applikationen werden stetig komplexer- Es muss immer mehr Infrastruktur in kürzerer Zeitgewartet werden- Manuelle Administration nahezu unmöglich- Resultate:-Entwickler und Administratoren verwachsen immer mehr(und nennen sich dann Senior DevOps Engineer )-Infrastruktur-Themen bedienen sich Technologien derSoftware-Entwicklung um Automatisierung voranzutreiben Infrastructure as CodeInfrastructure as Code in Practice14.10.201910

Legacy vs. Hipster-StuffInfrastructure as Code (IaC)- Skripte als Hilfsmittel – quasi „Vorform“ von IaC- Nachteile:-Sequentielle Abarbeitung-Eventuelle Fehler bei erneuter Ausführung-Versionierung-Messbarkeit-Jedes Soll-Ergebnis muss manuell getestet werden (ifAbfrage)Reproduzierbarkeit-Eventuelle Fehler auf Systemen mit anderer Shell(version)Infrastructure as Code in Practice14.10.201911- Komplexe Infrastruktur-Setups werden inmaschinenlesbaren Code abgebildet-Dieser definiert den Soll-Zustand- Code kann versioniert werden (z.B. über Git)- IaC-Software setzt Code in native Ressourcen (Server,Software, Konfigurationsdateien, )- Nachträgliche Änderungen können kontrolliert aufallen Systemen ausgerollt werden

Shell-Skript vs. IaCInfrastructure as Code (IaC)#!/bin/shyum install –y httpd Paket wird ungewollt aktualisiertsed –i "s/OptionXYZ/NoOptionXYZ/g" Ähnliche Optionen werden ebenfalls ersetzt/etc/http/httpd.confecho "PermitRootLogin yes" /etc/ssh/sshd configsystemctl restart sshdInfrastructure as Code in Practice14.10.201912 Option wird mehrfach gesetzt und verursachtwomöglich Fehler Dienst-Status nicht klar definiert (Neustart einesgestoppten Dienstes könnte fehlschlagen)

Shell-Skript vs. IaCInfrastructure as Code (IaC)package 'httpd' Paket wird nur installiert, falls noch nicht installierttemplate '/etc/httpd/httpd.conf' do Datei wird aus Template erstellt, Makros möglichsource 'httpd.conf'donetemplate '/etc/ssh/sshd config' dosource 'sshd conf'doneservice 'sshd' doaction [ :enable, :start ]doneInfrastructure as Code in Practice14.10.201913 Dienst wird – falls nötig – aktiviert und gestartet

Workflowerstellt undkonfiguriertVM-TemplateunterDas gesamte Szenario ist auf GitHub Infrastructure as Code in Practice14.10.201914

Configuration Management

Welches Tool soll ich dennwählen, lieber Berater?PAULA PINKEPANK, MÖCHTE ANONYM BLEIBEN

It depends.

Qual der Wahl: Configuration ManagementAnsibleErscheinungsjahr 2012ChefSaltStackPuppet20052011Ja (Client)Jein (Minion SSH-only) Ja (Agent)PullPushPullRuby DSLYAML und PythonPuppet (abgewandeltes Ruby)Ressourcen (2019) 2800 Module280 Ressourcen1200 Module50 RessourcenAnsible GalaxyCommunity (2019) 1.600 Mitglieder22.000 RollenChef Supermarket78.000 Mitglieder3.800 CookbooksSalt Stack Formulas50 Mitglieder300 FormulasPuppetforgeAgent Nein (SSH)Funktionsweise PushSprache YAML und Python(Administratorfreundlich)Client-Support (Auszug)Alles, was SSH oderWinRM kann20056.300 ModuleAIX, Debian/Ubuntu, RHEL/CentOS, openSUSE/SLES, Microsoft Windows,Oracle SolarisHochverfügbarkeit siveEnterprise-Version Ansible TowerChef InfraSaltStack EnterprisePuppet EnterpriseApacheChef EULA (ab 2020)ApacheApacheLizenz GPLInfrastructure as Code in Practice14.10.201919

EULA, MLSA, Apache 2.0Neues Chef-LizenzierungsmodellIm Mai 2019 wurde das Chef EULA verabschiedet:- Kommerzielle Nutzung erfordert nun immer eine Lizenz-„Einsatz im Unternehmen, das direkt oder indirekt aufGewinn ausgerichtet ist“- Nicht-kommerzielle Nutzung nur noch für private undLernzwecke-Experimental Use schließt (Pre-)Production aus- Anpassen der Software ist untersagt- Teile der Software können als Source Codeveröffentlicht werden, in diesem Fall gelten dieentsprechenden Lizenzen (Apache 2.0)- Für kommerzielle Kunden aufgrund vonLizenzabkommen keine Veränderung der LageInfrastructure as Code in Practice14.10.201921- Automatische Zustimmung der Erfassunganonymisierter Daten- Bisherige Software erreicht EOL im April 2020-Angebot von Binärpaketen danach derzeit unklar, eventuellmanuelle Quellcode-Übersetzung notwendig

Forrester Marketingstudie 2018Qual der Wahl: Configuration ManagementZusammenfassung:- Puppet und Chef sind altbekannte Player- Puppet ist aufgrund Stabilität und Governance sehrweit verbreitet, aber nicht leicht zu erlernen- Chef bietet sehr ausgefeilte Security-Auditingtools(InSpec, RSpec), die auch von anderen Produktenverwendet werden- SaltStack und Ansible sind neuere Player, die den Marktjedoch stark beeinflussen- Ansible ist aufgrund seiner Einfachheit und demagentenlosen Design sehr beliebt- SaltStack verfügt über einen Event-Bus und kann aufInfrastruktur-Änderungen in Echtzeit reagierenInfrastructure as Code in Practice14.10.201922Quelle: 43273/reports

Packer

Packer- Packer ist ein Tool zur automatisierten Erstellung vonGolden Images- Geschrieben in Go, open-source: https://packer.io- Zahlreiche Plugins liefern zusätzliche Funktionalität- Kompletter Prozess wird in zentraler YAMLKonfigurationsdatei definiert-Erstellen der VM-Einlegen der CD/DVD-Durchführen der Installation-Installieren von Updates und Paketen-Anwenden von Konfiguration-Aufräumen- Infrastructure as Code in Practice14.10.201924

PackerErstellen von VMs/Container via:-VMwareMarkieren als Template,Upload in Cloud:-VirtualBox-AWS-XEN / KVM-GCE-Docker-Docker-.- BuilderProvisionerKonfiguration via Skripte oderConfiguration Management:Infrastructure as Code in pet-SaltPost-Processor

Terraform

Deploy me if you canTerraform- Tool zum Verwalten komplexer InfrastrukturLandschaften- Definition von Infrastruktur-Ressourcen in der eigenenMarkup-Sprache HCL* oder JSON- Sinnvoll für die zentrale Verwaltung mehrererunterschiedlicher Plattformen- Sehr große Anzahl verfügbarer Integrationen (Provider)-z.B. verschiedene On-Premise Hypervisor Cloud- Go, open-source: https://terraform.io-Derzeit ca. 100 Erweiterungen- Integration in gängiges Configuration Management(Provisioner)*HashiCorp Configuration LanguageD.R.Y.Don‘t repeat yourselfInfrastructure as Code in Practice14.10.201935

ProviderTerraformCloud AWS Azure Azure Stack Google CloudPlatform Oracle CloudInfrastructure Oracle CloudPlatform Oracle Public Cloud VMware NSX-T Vmware vSphere VMware vCloudDirector DigitalOceanInfrastructure as Code in Practice14.10.201936 Hetzner Cloud Nutanix OpenStack 1&1Infrastruktur Docker Kubernetes Helm Terraform Consul Rancher Vault Chef CobblerNetzwerkMonitoring Cisco ASA FortiOS Palo Alto F5 BIG-IP PowerDNS UltraDNS DNS DNSimple Icinga2 Datadog RunscopeDatenbanken MySQL PostgreSQL InfluxDB GrafanaCommunity Active Directory Artifactory Azure DevOps CouchDB Elasticsearch ElephantSQL GitHub / GitLab IBM Cloud Infoblox Atlassian Jira Apache Kafka Kibana VMware NSX-V oVirt Proxmox Sensu VMware vRealizeAutomation Win DNS Microsoft SCVMM

101Terraform- Eine oder mehrere aufeinander aufbauendeRessourcen werden in Konfiguration referenziert- Terraform-Konfiguration besteht aus:- main.tf und weiteren .tf-Dateien Ressourcen-z.B. VM Compute Resource, Netzwerk, Storage, -Variablen in .tfvars-Dateien Konfiguration-z.B. Netzwerk-Konfiguration Hostname, IP, Netzmaske, -Konfigurationen lassen sich als Module wiederverwenden- Um die Wiederverwendung zu Erleichtern gilt esRessourcenblöcke durch Variablen modular zu halten-z.B. Standard-Einstellungen, Netzwerk-Konfiguration- Terraform hat immer Kenntnis über den Soll- und IstStand der zu verwaltenden Ressourcen terraform.tfstate- Workflow1. Konfiguration validieren: terraform validate2. Eventuell benötigte Plugins installieren: terraform init-Bei späteren Änderungen wird nicht alles neu konfiguriert3. Simulation / Auswirkungen zeigen: terraform plan-In der Zwischenzeit manuell durchgeführte Änderungenwerden überschrieben4. Änderungen übernehmen: terraform apply5. Objekte verwerfen: terraform destroyInfrastructure as Code in Practice14.10.201937

Compliance as Code

MotivationSecurity-Auditing- Eine regelmäßige Auditierung der Systemlandschaft istunabdingbar-Ständige Software-Updates bringen neue Fehler-Veränderungen bei Verschlüsselungs-Best Practiceserfordern schnelles Handeln (Heartbleed)- Ein System muss bei der Bereitstellung möglichst sichersein, nachträgliches Absichern erfolgt i.d.R. nicht- Das Absichern von Systemen muss weitestgehendautomatisiert werden, um eine praktikable undeffiziente Lösung darzustellen- Verschiedene Open-Source-Tools können hier helfen!Infrastructure as Code in Practice14.10.201945

OpenSCAPSecurity-Auditing- OpenSCAP ist eine freie Implementation von SCAP (Security Content Automation Protocol)- Protokoll zur automatisierten Vulnerability- und Compliance-Messung und Auswertung- Ziel: System-Verwundbarkeit darstellen- Katalog-Quellen:-OpenSCAP-Projekt: ng-policy/-GitHub-Projekt „ComplianceAsCode“: al Vulnerability Database des NIST*: https://nvd.nist.gov/ncp/repository- Gängige System-Management-Tools wie Foreman und Spacewalk/Uyuni unterstützen das Abfragenvon Sicherheitskatalogen gemäß XCCDF (Entensible Configuration Checklist Description Format)*National Institute of Standards and TechnologyInfrastructure as Code in Practice14.10.201946

Was ist InSpec?- Framework für Audits und automatisierte Tests-Compliance-Security-Unit-Tests- Beispiel:describe package('telnetd') doit { should not be installed }end- Selbstsprechende Definition von Anforderungen- Einfach zu verstehen (im Vergleich zu XML)- Open-Source: https://github.com/inspec/inspec-describe sshd config doits('PermitRootLogin') {Teil von Chef Automateshould not cmp 'yes‘}endInfrastructure as Code in Practice14.10.201950

Dev-Sec- Dev-Sec ist ein Framework zur automatischenAbsicherung von Servern und Applikationen:- Überprüfung der Systeme via InSpec- Derzeit unterstützt:-Microsoft Windows / Linux-Ubuntu 14.04, 16.04, 18.04-SSH / SSL-Debian 8, 9-Docker / Kubernetes-Enterprise Linux 6, 7, 8-Apache / NGINX-OpenSUSE 42.x / SLES 12.x-MySQL / PostgreSQL- Integriert sich in Puppet, Chef und Ansible-Neue und bestehende Systeme können so automatisiertangepasst werden- Grundlagen für Dev-Sec-Kataloge:-CIS-Benchmarks (Center for Internet Security)-Hersteller Best-Practices und Security Hardening GuidesInfrastructure as Code in Practice14.10.201951- Open-Source: https://dev-sec.io

Image Source: AdobeStockAny questions?Wir stellen uns vor14.10.201955

Danke für die Aufmerksamkeit!CHRISTIAN STANKOWICSenior System EngineerGeschäftsstelle MitteMobil: 49 151 18025982Tel.: 49 6122 536 0Fax: 49 6122 536 399christian.stankowic@sva.deBorsigstraße 1465205 WiesbadenInfrastructure as Code in Practice14.10.201956https://cstan.io

Application, Information & Device Management Unified Endpoint Management End User Computing . Microsoft Windows, Oracle Solaris Hochverfügbarkeit Active/Active Active/Passive Active/Active Active/Passive Enterprise-Version Ansible Tower Chef Infra SaltStack Enterprise Puppet Enterprise Lizenz GPL Apache Chef EULA (ab 2020)

Related Documents:

cpt code:11740-2 94.14 cpt code:11750-2 541.06 cpt code:11755-2 123.03 cpt code:11760-2 128.26 cpt code:11762-2 571.07 cpt code:11765-2 581.10 cpt code:11770-2 861.67 cpt code:11771-2 1,092.11 cpt code:11772-2 1,703.29 cpt code:11900-2 56.09 cpt code:11901-2 162.31 cpt code:11920-2 116.23 cpt code

cpt code:11740-2 88.80 cpt code:11750-2 510.36 cpt code:11755-2 116.05 cpt code:11760-2 120.98 cpt code:11762-2 538.68 cpt code:11765-2 548.14 cpt code:11770-2 812.78 cpt code:11771-2 1,030.15 cpt code:11772-2 1,606.65 cpt code:11900-2 52.91 cpt code:11901-2 153.10 cpt code:11920-2 109.63 cpt code

Acreage Code equals "C" or "I" and Type Practice Use Code in the Type Practice ICE is not equal to Implemented "I". Practice code must be empty when Type Practice Use Code equals "I". Practice Coe must be valid; edit with Practice ADM, "A00510" Practice Code must match the Practice Cod

4 Rig Veda I Praise Agni, the Chosen Mediator, the Shining One, the Minister, the summoner, who most grants ecstasy. Yajur Veda i̱ṣe tvo̱rje tv ā̍ vā̱yava̍s sthop ā̱yava̍s stha d e̱vo v a̍s savi̱tā prārpa̍yat u̱śreṣṭha̍tam āya̱

Winder, GA 30680 Paradigm Construction Company 770-867-4939 n/a ASAP TBD by Seller per code per code per code per code per code per code per code per code per code per code per code per code Angela Eavenson

Code means this Smart Energy Code (including its Schedules and the SEC Subsidiary Documents). Code Administration Code of Practice means the document of that name as approved by the Authority from time to time. Code Administration Code of Practice Principles means the principles set out as such in the Code Administration Code of Practice.

Cloud computing has made scalable infrastructure a commodity. Un-fortunately, current trends towards infrastructure-as-code hinder the adop-tion of cloud resources by an audience beyond nerds. In this paper, we thus present Infrastructure-as-PowerPoint, leveraging tools that are al-ready being used to share infrastructure speci cations. Our .

Why Composable Infrastructure? Composable Infrastructure helps IT to respond to the challenges laid down by new organizations. It can be considered as the next phase of hyper-converged infrastructure or the next version of on-premise infrastructure. Composable Infrastructure consists of multiple resources including, but not limited to, compute,