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

Enterprise Cloud Native ist das Neue Schwarz #DevOpsentials19

Enterprise Cloud Native ist das Neue Schwarz #DevOpsentials19

Der Einsatz Cloud nativer Technologien gehört in vielen deutschen Unternehmen mittlerweile
zur Normalität. Großartig! Doch bei aller Liebe zur Technologie beobachte ich momentan bei
vielen Teams und Kunden einen gewissen Grad an Ernüchterung bis hin zu Zweifeln und teilweise
immer noch großen Vorbehalten was den Einsatz moderner Tools und Techniken angeht.

Mit steigender Verbreitung gibt es naturgemäß vermehrt negative Erfahrungen und auch Fehlschläge.
Das ist ganz normal. Mit diesem Vortrag möchte ich die Teilnehmer dazu ermutigen das Gelernte in
ihre Unternehmen und Projekte zu tragen und sich von den Zweiflern nicht beirren zu lassen.
Nur so können die Prozesse, Tools und Technologien weiter reifen. Klar, es gibt viel Raum für
Verbesserungen. Das sieht auch die Community. Um so wichtiger ist es die aktuellen Trends und
Neuerungen kontinuerlich im Auge zu behalten.

Schlanke Entwickler-Tools und Ansätze wie Knative, Skaffold oder Jib bringen neue Abstraktionen
um die Entwicklung einfacher und schneller zu machen. Die zahlreichen FaaS und Serverless Frameworks
sowie das steigende Angebot an Managed Cloud Infrastruktur Services versuchen die Verbauungstiefe
von Software-Systemen deutlich zu reduzieren und den Betrieb zu vereinfachen. Don't do it yourself heißt in
Zukunft die Devise. Cloud-native Security und Governance gewinnen im Enterprise Umfeld und speziell
bei regulierten Unternehmen immer mehr an Bedeutung, die passenden Standards, Tools und Technologien
lassen nicht lange auf sich warten. Es bleibt also spannend und es gibt viel zu lernen.

M.-Leander Reimer

June 06, 2019
Tweet

More Decks by M.-Leander Reimer

Other Decks in Technology

Transcript

  1. ENTERPRISE CLOUD NATIVE IST DAS NEUE SCHWARZ | DevOps Essentials

    2019 | @LeanderReimer #cloudnativenerd #qaware
  2. | DevOps Essentials 2019 | Enterprise Cloud Native ist das

    neue Schwarz | @LeanderReimer #cloudnativenerd #qaware 22 Mario-Leander Reimer Cheftechnologe, QAware GmbH
  3. | DevOps Essentials 2019 | Enterprise Cloud Native ist das

    neue Schwarz | @LeanderReimer #cloudnativenerd #qaware 1996 23
  4. | DevOps Essentials 2019 | Enterprise Cloud Native ist das

    neue Schwarz | @LeanderReimer #cloudnativenerd #qaware 2000 24
  5. | DevOps Essentials 2019 | Enterprise Cloud Native ist das

    neue Schwarz | @LeanderReimer #cloudnativenerd #qaware 2009 25
  6. | DevOps Essentials 2019 | Enterprise Cloud Native ist das

    neue Schwarz | @LeanderReimer #cloudnativenerd #qaware 2015 26
  7. | DevOps Essentials 2019 | Enterprise Cloud Native ist das

    neue Schwarz | @LeanderReimer #cloudnativenerd #qaware 2019 27
  8. NOPE, IT'S ALL BAD. SO THIS IS CLOUD NATIVE? YOU

    KNOW WHAT? IT'S NOT HALF BAD.
  9. | DevOps Essentials 2019 | Enterprise Cloud Native ist das

    neue Schwarz | @LeanderReimer #cloudnativenerd #qaware Gartner Hype Cycle for Cloud Computing, 2018 30 https://www.computerwoche.de/i/detail/artikel/3546147/1/3245986/EL_mediaN1005C/
  10. | DevOps Essentials 2019 | Enterprise Cloud Native ist das

    neue Schwarz | @LeanderReimer #cloudnativenerd #qaware Nicht schön. Hat aber funktioniert. 31 Ein Monolith Komponente A Komponente T Komponente ?
  11. | DevOps Essentials 2019 | Enterprise Cloud Native ist das

    neue Schwarz | @LeanderReimer #cloudnativenerd #qaware Definitiv keine gute Idee! 32 Microservice A Microservice T Microservice ?
  12. | DevOps Essentials 2019 | Enterprise Cloud Native ist das

    neue Schwarz | @LeanderReimer #cloudnativenerd #qaware Fachlichkeit an erster Stelle 33
  13. | DevOps Essentials 2019 | Enterprise Cloud Native ist das

    neue Schwarz | @LeanderReimer #cloudnativenerd #qaware Hands-on Event Storming. Event storming is a workshop-based interactive method for rapidly identifying the key concepts and boundaries in a business domain and aligning a variety of stake- holders in the best way to slice potential solutions. The basic idea is to bring together software developers and domain experts and learn from each other. The business process is "stormed out" as a series of domain events which are denoted as sticky notes on a wide wall. It was invented by Alberto Brandolini in the context of domain- driven design (DDD). 34 https://www.thoughtworks.com/radar/techniques/event-storming
  14. | DevOps Essentials 2019 | Enterprise Cloud Native ist das

    neue Schwarz | @LeanderReimer #cloudnativenerd #qaware 35 Domain Event An event that occurs in the business process. Written in past tense. Issue An issue or question that needs to be clarified and resolved. Business Process Processes commands according to business rules. Creates 1..* domain events. Aggregate Cluster of domain objects that can be treated as a single unit. Command A command executed on an aggregate that results in the creation of a domain event. External System A third-party service provider such as a payment gateway or shipping company. View A view that users interacts with to carry out a task in the system. 1.Domain Event Storming Domain Events in Vergangenheitsform auf Post-Its schreiben. Chronologisch anordnen. 2.Story Telling Moderiert durch den Prozess führen. Post-Its neu anordnen, Duplikate entfernen. 3.Functional Refinement Suchen und finden von fachlichen Kontexten und Sollbruchstellen in den Prozessen 4.Technical Refinement Weitere Unterteilung. Mögliche Indikatoren: Size, Isolation, Speed, Redundanz
  15. picture alliance / United Archive 8 Fallacies of Distributed Systems

    1. The network is reliable 2. Latency is zero 3. Bandwidth is infinite 4. The network is secure 5. Topology doesn’t change 6. There is one administrator 7. Transport cost is zero 8. The networks is homogeneous
  16. | DevOps Essentials 2019 | Enterprise Cloud Native ist das

    neue Schwarz | @LeanderReimer #cloudnativenerd #qaware 1. The network is reliable Problem: Netzwerk-Aufrufe werden fehlschlagen. • Circuit Breaker und Retries sind eine Lösung, aber oft ein Pflaster. • Service Meshes können helfen, bringen aber zusätzliche Komplexität und Overhead. Istio, Linkerd, et.al. -> Service Mesh Interface (SMI) • Nutze Event-driven Architecture (EDA) für lose gekoppelte Systeme. Neue Herausforderungen: Protokolle, Delivery Garantien, Message-Codierung • Zahlreiche spannende CNCF Projekte z.B. CloudEvents, OpenMessaging 37 https://landscape.cncf.io/category=streaming-messaging&format=card-mode&license=open-source
  17. | DevOps Essentials 2019 | Enterprise Cloud Native ist das

    neue Schwarz | @LeanderReimer #cloudnativenerd #qaware 2. Latency is zero Problem: Netzwerk-Aufrufe haben eine Verzögerung. Das n+1 Problem. • Schicke alle benötigten Daten mit möglichst wenigen (1) Requests. • Es gibt Alternativen zu REST: GraphQL, effiziente Binärprotokolle, gRPC. • Umsetzung von B4F und API-Gateway Patterns zur Server-side Daten-Aggregation. • Inversion of Control: Nutzung von Pub/Sub Mechanismen, Server-sent Events, Web Sockets, Local Storage • Die Daten müssen näher zum Client. Nutzung von Availability Zones, Content Delivery Networks und intelligentes Caching. 38 https://landscape.cncf.io/category=remote-procedure-call&format=card-mode&license=open-source
  18. | DevOps Essentials 2019 | Enterprise Cloud Native ist das

    neue Schwarz | @LeanderReimer #cloudnativenerd #qaware 4. The network is secure Problem: Das Netzwerk ist unsicher. 
 „Running workloads in the cloud is easy - doing it securely and in a compliant way is hard.“ • Security by Design -> Continuous Security -> Continuous Compliance. • Layered-Security Ansatz: Absicherung auf Netzwerk, Infrastruktur, Plattform und Anwendungsebene. Free eBook. • 4C’s of Cloud Native Security: Cloud, Cluster, Container, Code.
 https://kubernetes.io/docs/concepts/security/overview/ • Nutzung von Distroless Images. https://github.com/GoogleContainerTools/distroless • Zero Trust per Default: mTLS zwischen Services per Service Mesh und SPIFFE. • Compliance per GitSec und Phylake -> Open Policy Agent (OPA), Kubernetes, Istio, Falco 39 https://landscape.cncf.io/category=security-compliance&format=card-mode&license=open-source
  19. | DevOps Essentials 2019 | Enterprise Cloud Native ist das

    neue Schwarz | @LeanderReimer #cloudnativenerd #qaware 5. Topology doesn’t change Problem: Netzwerk Topologien ändern sich ständig. • Abstraktion der physischen Netzwerk-Struktur. Nutzung von DNS oder Discovery Services. • Cloud-native API Gateways sorgen für zusätzliche Location Transparency. • Cattle, not pets. Treat Clusters Like Cattle. Immutable Infrastructure. • Regelmäßige Chaos-Tests zur Überprüfung der Robustheit: Netflix Chaos Monkey, kube-monkey, Chaos Toolkit, Gremlin, … 40 https://landscape.cncf.io/category=chaos-engineering&format=card-mode&license=open-source
  20. | DevOps Essentials 2019 | Enterprise Cloud Native ist das

    neue Schwarz | @LeanderReimer #cloudnativenerd #qaware 6. There is one administrator Problem: Diese 1 Person die alles weiß gibt es nicht. • Jeder im Team ist für den Release Prozess verantwortlich. Frühzeitiges involvieren aller beteiligten Stakeholder. DevOps. • Klare Definition der DevOps-Topologie, Rollen, Verantwortlichkeiten, SLOs und SLAs. • Manuelle Änderungen an der Infrastruktur sind tabu! GitOps heißt das Stichwort! • Weave Flux: https://github.com/weaveworks/flux • Automatisierte CI/CD Pipeline: Knative Build, Spinnaker, Drone, GitLab, JenkinsX, … • Seales Secrets: https://github.com/bitnami-labs/sealed-secrets 41 https://landscape.cncf.io/category=continuous-integration-delivery&format=card-mode&license=open-source
  21. | DevOps Essentials 2019 | Enterprise Cloud Native ist das

    neue Schwarz | @LeanderReimer #cloudnativenerd #qaware 42 
 DevOps Anti-Type, e.g. DevOps Team Topologies, e.g. https://web.devopstopologies.com DevOps Team Silo Dev Don’t Need Ops Rebranded SysAdmin Dev and Ops Collaboration Fully Shared Ops Responsibilities SRE Team (Google Model) DevOps Advocacy Team Ops as Infrastructure-as-a-Service DevOps as External Service
  22. | DevOps Essentials 2019 | Enterprise Cloud Native ist das

    neue Schwarz | @LeanderReimer #cloudnativenerd #qaware Optimiert die Cloud Native DevEx eurer Teams! 43
  23. | DevOps Essentials 2019 | Enterprise Cloud Native ist das

    neue Schwarz | @LeanderReimer #cloudnativenerd #qaware 44 vs. https://www.datawire.io/guide/development/development-environments-microservices/
  24. | DevOps Essentials 2019 | Enterprise Cloud Native ist das

    neue Schwarz | @LeanderReimer #cloudnativenerd #qaware Zahlreiche Tools versuchen den Inner Development Loop effizienter und einfacher zu machen. • The Rise of the IDE: Plugins, Plugins, Plugins. Beispiele: Cloud Code, OpenShift Extension • Squash ermöglicht das einfache Remote-Debugging von laufenden Microservices in Kubernetes und OpenShift aus der IDE heraus. • Skaffold für Continuous Development.
 Vereinfacht den Entwickler-Workflow und 
 kombiniert die einzelnen Phasen in einem 
 einfachen Kommando: skaffold dev 45
  25. | DevOps Essentials 2019 | Enterprise Cloud Native ist das

    neue Schwarz | @LeanderReimer #cloudnativenerd #qaware Telepresence verspricht schnelle lokale Entwicklung für Kubernetes und Openshift Microservices. 46 Laptop Source Code Lokaler Service Telepresence Client IDE Remote Kubernetes Cluster Telepresence Proxy Service A Service B Database Queue https://www.telepresence.io 2-way Network Proxy
  26. | DevOps Essentials 2019 | Enterprise Cloud Native ist das

    neue Schwarz | @LeanderReimer #cloudnativenerd #qaware Serverless ist die nächste logische Evolution im Cloud Native Software Engineering. 47
  27. | DevOps Essentials 2019 | Enterprise Cloud Native ist das

    neue Schwarz | @LeanderReimer #cloudnativenerd #qaware –https://landscape.cncf.io/ „Serverless computing refers to a new model of cloud native computing, enabled by architectures that do not require server management to build and run applications. It leverages a finer-grained deployment model where applications, bundled as one or more functions, are uploaded to a platform and then executed, scaled, and billed in response to the exact demand needed at the moment.“ 48
  28. | DevOps Essentials 2019 | Enterprise Cloud Native ist das

    neue Schwarz | @LeanderReimer #cloudnativenerd #qaware 49 Funktionen sind das bevorzugte Programmiermodell von Serverless Applikationen.
  29. | DevOps Essentials 2019 | Enterprise Cloud Native ist das

    neue Schwarz | @LeanderReimer #cloudnativenerd #qaware 50
  30. | DevOps Essentials 2019 | Enterprise Cloud Native ist das

    neue Schwarz | @LeanderReimer #cloudnativenerd #qaware Knative, Riff und Kyma auf den Radar. • Knative • Build für Cloud-native Source-to-Container Orchestrierung. • Serving für ein Scale-to-Zero Request Drive Compute Model auf Basis von Istio. • Eventing stellt Basisfunktionen für Event Sources und Consumer bereit • Project Riff • Integriert essentielle FaaS Plattform Infrastruktur Komponenten und stellt diese bereit. • Derzeit v0.3.0. Setzt auf Knative auf und kombiniert es mit Cloud Native Build Packs. • Kyma • Ausgewachsene Serverless Plattform mit vielen Komponenten. Derzeit v1.1.0 • Service Mesh, Knative, Service Broker, Event Bus, API Gateway, Diagnosability, Security, … 51
  31. • 1st und 2nd Generation Platforms. • Ermöglichen sanften Einstieg

    und Hybrid- Architekturen für ausgewählte Use Cases. • Fission ist eine schnelle, vollständige Plattform für viele Sprachen. • Nuclio ist super schnell, mit kleinem Footprint und vielen Triggern. • OpenFaaS ist super populär. Aktive Community. Schnell. ARM Support. • Kubeless ist sehr einfach und leichtgewichtig. https://github.com/lreimer/the-big-faas-lebowski
  32. | DevOps Essentials 2019 | Enterprise Cloud Native ist das

    neue Schwarz | @LeanderReimer #cloudnativenerd #qaware In a Nutshell … • Der saubere fachliche Schnitt von Cloud Nativen Anwendungen steht an erster Stelle. Event Storming hat sich als hilfreiche Methode bewährt. • Kenne die 8 Fallacies of Distributed Systems und ihre Implikationen. • Cloud native API Gateways und Service Meshes sind wichtige und hilfreiche Infrastruktur Bausteine. • Security by Design, Continuous Security und Continuous Compliance sind komplexe aber wichtige Themengebiete! • Optimiert die Cloud Native DevEx eurer Teams und den Inner Dev Loop für mehr Produktivität und glückliche Entwickler. • Serverless ist die nächste logische Evolution im Cloud Native Software Engineering. 53