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.

Wie nutzen wir Cloud-Infrastruktur @ VSHN.ch

288 views

Published on

Gastvortrag an der HSR Rapperswil 17.10.2017

Published in: Software
  • Be the first to comment

Wie nutzen wir Cloud-Infrastruktur @ VSHN.ch

  1. 1. VSHN AG I Neugasse 10 I 8005 Zürich I T 044 545 53 00 www.vshn.ch HSR Gastvortrag CloudInf 17.10.2017 Wie nutzen wir Cloud Infrastruktur Aarno Aukia VSHN AG
  2. 2. VSHN AG I Neugasse 10 I 8005 Zürich I T 044 545 53 00 www.vshn.ch Agenda ● Wer ist Aarno / VSHN ? ● Was machen wir und für wen ? ● Wie nutz(t)en wir Cloud Infrastruktur bisher ? ● 'Herausforderungen' ● Container/Docker ? ● Cloud Native Computing ● Container Orchestration ● Aufbau Container Plattform APPUiO.ch
  3. 3. VSHN AG I Neugasse 10 I 8005 Zürich I T 044 545 53 00 www.vshn.ch Wer bist Du ? Aarno Aukia, CTO & co-founder ETH → Google → Atrila → VSHN @aarnoaukia http://about.me/aarno VSHN - the DevOps Company Seit 2014, aktuell 22 Personen in Zürich Wir helfen Software-Entwicklern ihre Applikationen agil und 24/7 auf beliebiger Infrastruktur zu betreiben. https://vshn.ch @vshn_ch
  4. 4. VSHN AG I Neugasse 10 I 8005 Zürich I T 044 545 53 00 www.vshn.ch Ops: Feuerwehr as a Service
  5. 5. VSHN AG I Neugasse 10 I 8005 Zürich I T 044 545 53 00 www.vshn.ch DevOps: people, processes & tools
  6. 6. VSHN AG I Neugasse 10 I 8005 Zürich I T 044 545 53 00 www.vshn.ch Philosophie
  7. 7. VSHN AG I Neugasse 10 I 8005 Zürich I T 044 545 53 00 www.vshn.ch Warum Cloud Infrastruktur ● Fokus auf DevOps: Automatisierung, Deployment ● Software, nicht Hardware ● Infrastructure-as-a-Service weltweit verfügbar ● Cloud-Unabhängigkeit
  8. 8. VSHN AG I Neugasse 10 I 8005 Zürich I T 044 545 53 00 www.vshn.ch Wie nutz(t)en wir Cloud Infrastruktur bisher 1 ● Ca 800 managed Server ● Ca 32000 monitored Services ● Weltweit verteilt ● Alle Konfiguration in GIT ● Standardmässig in Backup & Monitoring
  9. 9. VSHN AG I Neugasse 10 I 8005 Zürich I T 044 545 53 00 www.vshn.ch Wie nutz(t)en wir Cloud Infrastruktur bisher 2 ● Virtuelle Server auf beliebiger infrastruktur ● Erstellt (je nach Anbieter/Technologie): ● Manuell ● Via API (Ansible oder Terraform) ● Via API (control.vshn.net) ● Bootstrapping ● Cloudinit → Hostname, Zertifikat → Puppet ● Manuell → Hostname, Zertifikat → Puppet
  10. 10. VSHN AG I Neugasse 10 I 8005 Zürich I T 044 545 53 00 www.vshn.ch Wie nutz(t)en wir Cloud Infrastruktur bisher 3 ● Puppet ● Basic config ● Users/keys/hashes/groups/sudoers/ssh/ntp/dns/r epos/tzconfig/puppet/partitions/mounts/dhcp/ip tables/Monitoring/Backup ● Services ● MySQL/PostgreSQL/MongoDB/Nginx/Varnish/etc ● Inkl IPtables, Monitoring, Backup ● Appservers ● PHP/Python/Ruby/Java/Javascript/Golang/Rust/E rlang/Elixir/etc ● Inkl IPtables, Monitoring, Backup
  11. 11. VSHN AG I Neugasse 10 I 8005 Zürich I T 044 545 53 00 www.vshn.ch Wie nutz(t)en wir Cloud Infrastruktur bisher 4 ● Puppet ● Applikationen ('Profile') ● Jira/Confluence/Bitbucket/ELK/BGP/Gitlab/Postfi x/DNS/DHCP/Jenkins/Nextcloud/LDAP etc ● Mit den Services die die App benötigt (DB etc) ● Inkl IPtables, Monitoring, Backup
  12. 12. VSHN AG I Neugasse 10 I 8005 Zürich I T 044 545 53 00 www.vshn.ch Wie nutz(t)en wir Cloud Infrastruktur bisher 5 ● Ansible ● Maintenance ● Updates ● Cluster-Orchestrierung
  13. 13. VSHN AG I Neugasse 10 I 8005 Zürich I T 044 545 53 00 www.vshn.ch Wie nutz(t)en wir Cloud Infrastruktur bisher 6 ● Integration mit Cloud-Anbietern ● Erstellen neue VMs/Services über API ● Compute ● Storage ● Private/public Networks ● BGP für HA auf IP-Ebene (Failover, Anycast) ● Loadbalancer (zB AWS ELB)
  14. 14. VSHN AG I Neugasse 10 I 8005 Zürich I T 044 545 53 00 www.vshn.ch Beispiel Kundenapplikation
  15. 15. VSHN AG I Neugasse 10 I 8005 Zürich I T 044 545 53 00 www.vshn.ch Herausforderungen ● Server Skalierung benötigt Minuten bis Stunden, ggf manuelles Eingreifen nötig ● Configuration Management auf Server-Level, nicht auf Projekt/Deployment-Level ● Dependencies in separatem GIT, separates Koordinieren von Versionen etc ● Hinzufügen von Services ist komplex, betrifft mehrere Komponenten, viele bewegliche Teile & Risiko ● Abhängigkeiten zwischen Services zur Laufzeit ● Skaliert OK nach oben, schlecht nach unten
  16. 16. VSHN AG I Neugasse 10 I 8005 Zürich I T 044 545 53 00 www.vshn.ch Soll-Zustand: Weihnachtswunschliste ● Löst den build-ship-run Workflow, integriert in CI/CD, DevOps und Self-Service-Portal ● Isolierung von verschiedenen Projekten/Services/Kunden untereinander ● Löst die alltäglichen Software-Plattform Probleme: unterbruchsfrei deployen, skalieren, Monitoring, Backup, Logs, Metriken, etc ● Offene Standards: 100% Open Source ● Kein Anbieter Lock-In, cloud-native nicht cloud- only, funktioniert auf beliebiger Infrastruktur ● Erweiterbar via API
  17. 17. VSHN AG I Neugasse 10 I 8005 Zürich I T 044 545 53 00 www.vshn.ch Docker Container Laufzeitumgebung Tools für Container Image Erstellung 'Dockerfile' beschreibt Umgebung, kann automatisch erstellt und schnell gestartet werden Verpackt Applikationscode, Applikationsserver, Plugins, Module, Libraries bis zur Libc 'Motiviert' zum sauberen Umsetzen des 12-Factor- App-Pattern https://blog.vshn.ch/2016/11/docker https://github.com/docker/docker-ce/blob/maste r/components.conf
  18. 18. VSHN AG I Neugasse 10 I 8005 Zürich I T 044 545 53 00 www.vshn.ch 12 Factor App Patterns: https://12factor.net/de/ ● deklarative Formate benutzen für die Automatisierung der Konfiguration ● einen sauberen, portablen Vertrag mit dem zugrundeliegenden Betriebssystem ● sich für das Deployment auf modernen Cloud- Plattformen eignen ● die Abweichung minimieren zwischen Entwicklung und Produktion, um Continuous Deployment zu ermöglichen ● Parallel/horizontal skalieren können
  19. 19. VSHN AG I Neugasse 10 I 8005 Zürich I T 044 545 53 00 www.vshn.ch From container to production ?
  20. 20. VSHN AG I Neugasse 10 I 8005 Zürich I T 044 545 53 00 www.vshn.ch Cloud Native Computing 1/2 Software-Patterns und 'best practice' Erfahrung für (verteilte) Software Applikationen ● Containerisiert ● Dynamisch orchestriert ● Microservice-orientiert
  21. 21. VSHN AG I Neugasse 10 I 8005 Zürich I T 044 545 53 00 www.vshn.ch Cloud Native Computing 2/2 ● Open Source Software implementation von diesen Software-Patterns ● Erfahrung & Code Austausch für die 'generischen' Probleme ● Infra unabhängig
  22. 22. VSHN AG I Neugasse 10 I 8005 Zürich I T 044 545 53 00 www.vshn.ch The Cloud Native Computing Foundation ● https://www.cncf.io/ ● Unter-Stiftung der Linux Foundation ● Gegründet 2015 ● https://www.cncf.io/about/members/ ● Cisco, CoreOS, Docker, Google, IBM, RH, SUSE, Netapp, Dell, Fujitsu, Huawei, Intel, Samsung, ATT, Canonical, Twitter, ebay, Zalando, etc
  23. 23. VSHN AG I Neugasse 10 I 8005 Zürich I T 044 545 53 00 www.vshn.ch https://www.cncf.io/projects/ 1/3 Kubernetes container/service orchestration Prometheus metrics aggregation & alerting OpenTracing distributed service call tracing Fluentd log data collector Linkerd service call framework (discovery, routing, failure handling, visibility)
  24. 24. VSHN AG I Neugasse 10 I 8005 Zürich I T 044 545 53 00 www.vshn.ch https://www.cncf.io/projects/ 2/3 gRPC multi-language service call framework (data serialization, streaming, auth) CoreDNS DNS server for service discovery Containerd container runtime daemon (OCI runtime (runC), OCI image spec) Rkt container runtime (App Container (appc) spec)
  25. 25. VSHN AG I Neugasse 10 I 8005 Zürich I T 044 545 53 00 www.vshn.ch https://www.cncf.io/projects/ 3/3 CNI Container Network Interface - networking for Linux containers Envoy Service Proxy Jaeger Distributed Tracing
  26. 26. VSHN AG I Neugasse 10 I 8005 Zürich I T 044 545 53 00 www.vshn.ch
  27. 27. VSHN AG I Neugasse 10 I 8005 Zürich I T 044 545 53 00 www.vshn.ch Warum Cloud Native Computing? ● Software-Patterns lösen high-level Probleme anstatt 'einfach Tool X nehmen' ● Open Source && Open Standards ● Support von breitem Konsortium ● Läuft auf jeder Infrastruktur → cloud- native nicht cloud-only ● Applikations-Infrastruktur als Code ● DevOps Philosophie
  28. 28. VSHN AG I Neugasse 10 I 8005 Zürich I T 044 545 53 00 www.vshn.ch Kubernetes Container Orchestrator ● Wieviele Container Instanzen sollen laufen pro Service? ● Auf welchen IP/Port/Server befinden sie sich? ● Wie finden sie sich? ● Was passiert wenn ein Container/Server verschwindet? ● Skalierung, Load Balancing, rollende Deployments, Persistent Storage, etc
  29. 29. VSHN AG I Neugasse 10 I 8005 Zürich I T 044 545 53 00 www.vshn.ch Kubernetes Beispiel
  30. 30. VSHN AG I Neugasse 10 I 8005 Zürich I T 044 545 53 00 www.vshn.ch Fluentd Log shipper ● Logs von verschiedenen Quellen zusammensammeln ● Logs an verschiedene Endpunkte weiterleiten ● 500+ Plugins, schlanker Core ● Plugins werden individuell und verteilt weiter entwickelt
  31. 31. VSHN AG I Neugasse 10 I 8005 Zürich I T 044 545 53 00 www.vshn.ch Prometheus Metriken und Alerting ● Time Series Datenbank ● Query Sprache ● Visualisierung/Graphen ● Alarmieren auf Schwellwerte
  32. 32. VSHN AG I Neugasse 10 I 8005 Zürich I T 044 545 53 00 www.vshn.ch Cloud Native Computing Cloud Native Computing Switzerland https://www.meetup.com/de-DE/Cloud-Nat ive-Computing-Switzerland/
  33. 33. VSHN AG I Neugasse 10 I 8005 Zürich I T 044 545 53 00 www.vshn.ch OpenShift Produkt aus den Open-Source Technologien Benutzt Docker, Kubernetes, Prometheus*, Fluentd, etc unter der Haube Zusätzlich: automatisiert den Container- Buildprozess Web-GUI, CLI client, REST-API https://blog.vshn.ch/2016/08/openshift https://github.com/openshift/origin
  34. 34. VSHN AG I Neugasse 10 I 8005 Zürich I T 044 545 53 00 www.vshn.ch OpenShift
  35. 35. VSHN AG I Neugasse 10 I 8005 Zürich I T 044 545 53 00 www.vshn.ch Warum wir dies einsetzen ● Volle Kontrolle über den Inhalt des Containers für den Entwickler ● Automatisierung des Container-Build- und Deployment-Prozesses, Interaktion via GUI/CLI/API ● Plattform macht und abstrahiert Deployment, Load Balancing, SSL, Skalierung, System- Updates, Monitoring, Backups, Hardware, Storage, Netzwerk, etc ● Effizienter Betrieb der standardisierten Plattform inkl. Docker, Kubernetes, etc
  36. 36. VSHN AG I Neugasse 10 I 8005 Zürich I T 044 545 53 00 www.vshn.ch APPUiO.ch ● Service-Produkt von VSHN ● Managed Docker, Kubernetes, OpenShift ● Shared Plattform in der Schweiz auf Cloudscale.ch ● Private Cluster auf beliebiger Infrastruktur weltweit (AWS, Azure, on- premises) ● Monatliche kostenlose halbtägige Schulungen: TechLabs ● Ab Fr. 40/Mt
  37. 37. VSHN AG I Neugasse 10 I 8005 Zürich I T 044 545 53 00 www.vshn.ch APPUiO.ch
  38. 38. VSHN AG I Neugasse 10 I 8005 Zürich I T 044 545 53 00 www.vshn.ch Demotime Links: https://github.com/arska/python-helloworld https://github.com/openshift/django-ex https://github.com/arska/nodejs-helloworld https://github.com/arska/springdemo https://github.com/arska/phpinfo
  39. 39. VSHN AG I Neugasse 10 I 8005 Zürich I T 044 545 53 00 www.vshn.ch Danke! Tönt das alles spanned? Wir suchen Leute! https://stackoverflow.com/jobs/143639/sit e-reliability-engineer-sre-and-devops-eng ineer-vshn https://blog.vshn.ch → Jobs @vshn_ch @aarnoaukia

×