SlideShare une entreprise Scribd logo
1  sur  23
Télécharger pour lire hors ligne
Cloud-native Anwendungsentwicklung im
Jahr 2021
Cloud Native Day, 10. Februar 2021
Nico Meisenzahl
• Senior Cloud & DevOps Consultant at white duck
• GitLab Hero, Microsoft MVP & Docker Community
Leader
• Container, Kubernetes & Cloud-Native
© white duck GmbH 2021
Phone: +49 8031 230159 0
Email: nico.meisenzahl@whiteduck.de
Twitter: @nmeisenzahl
LinkedIn: https://www.linkedin.com/in/nicomeisenzahl
Blog: https://meisenzahl.org
Martin Brandl
• Head of Cloud Development & Operations, CSA
• Microsoft Azure MVP
• Cloud-Native, Azure
© white duck GmbH 2021
Phone: +49 8031 230159 0
Email: martin.brandl@whiteduck.de
Twitter: @martin_jib
LinkedIn: https://www.linkedin.com/in/mbrandl
Blog: https://about-azure.com
Agenda
• Microservices are great, but also challenging
• Distributed Application Runtime – Dapr
• Service Mesh interface – SMI
© white duck GmbH 2021
Microservices are great, but also challenging
• a microservice should mostly contain business code and
nothing further
• this is hard and mostly not the case
• polyglot microservices can help streamline your business
but will also introduce complexity
• different languages and therefore different implementations and
libraries
• service-to-service communication for example
• Observability & distributed tracing
© white duck GmbH 2021
Abstraction can help
• we abstracted our …
• communication/backend with libraries and SDKs
• relational database with object-relational mapping
• infrastructure with containers
• container management with Kubernetes
• why not abstracting even further?
• that said, abstraction can also introduce more complexity
© white duck GmbH 2021
Distributed Application Runtime – Dapr
© white duck GmbH 2021
Service-
to- service
invocation
State
management
Publish
and
subscribe
Resource
bindings
and triggers
Actors Distributed
tracing
Secrets Extensible
Any cloud or edge infrastructure
HTTP API gRPC API
Application code
Microservices written in
Any code or framework…
Sidecar &
components
State stores
Publish & subscribe
Bindings
Scanning
for events
Messaging
Load and
save state
Input/output
Dapr API
Dapr API
Service
code B
Service
code A
Application
Sidecar Sidecar
Secure communication with mTLS
Tracing, logs
and metrics
Tracing, logs
and metrics
Observability
Prometheus AppInsightts Jaeger
Capturing, querying
traces, logs and metrics
Service invocation
© white duck GmbH 2021
“frontend”
“cart”
Post
http://localhost:3500/v1.0/invoke/cart/method/checkout
{
"user":"johndoe",
"cart":"0001"
}
Post
http://10.0.0.2:8000/checkout
{
"user":"johndoe",
"cart":"0001"
}
State management
© white duck GmbH 2021
App
“myApp”
{
"name": "Tatooine"
}
Get
http://localhost:3500/v1.0/state/<store-name>/planet
Post
http://localhost:3500/v1.0/state/<store-name>
[{
"key": "weapon",
"value": "DeathStar"
}, {
"key": "planet",
"value": {
"name": "Tatooine"
}
}]
key value
myApp-weapon "DeathStar"
myApp-planet {
"name": "Tatooine"
}
State store of your choice
Publish and subscribe
© white duck GmbH 2021
Subscribe
Publish
Post
http://localhost:3500/v1.0/publish/
"topic":"order",
"data":{
"user":"johndoe",
"item":"ZeroDay"
},
“cart” “shipping”
Post
http://10.0.0.5:8005/order
"data":{
"user":"johndoe",
"item":"ZeroDay"
}
“email”
Post
http://10.0.0.4:8004/order
How Dapr is run
© white duck GmbH 2021
Kubernetes
apiVersion: apps/v1
kind: Deployment
…
spec:
selector:
matchLabels:
app: my-app
template:
metadata:
annotations:
dapr.io/enabled: "true"
dapr.io/app-id: "my-appr"
dapr.io/app-protocol: ”http"
dapr.io/app-port: ”8080”
…
Standalone (self-hosted)
dapr run --app-id my-app 
--app-protocol grpc 
--app-port 50105 
--components-path ./config 
go run main.go
dapr run --app-id my-app 
--app-protocol http 
--app-port 3000 
--components-path ./config 
dotnet run
DEMO
© white duck GmbH 2021
Service Meshes
• this talk is not about why you should or should not use a
Service Mesh
• it‘s more about how to abstract a Service Mesh in case
you decided to use one
© white duck GmbH 2021
The Service Mesh ecosystem (2019 vs 2020)
© white duck GmbH 2021
https://www.cncf.io/wp-content/uploads/2020/08/CNCF_Survey_Report.pdf
https://www.cncf.io/wp-content/uploads/2020/11/CNCF_Survey_Report_2020.pdf
Service Mesh interface – SMI
• „A standard interface (API spec) for service meshes
on Kubernetes.“
• like Open Container Initiative (OCI), Container Network
Interface (CNI), Container Storage Interface (CSI) just for
Services Meshes
© white duck GmbH 2021
Service Mesh interface – SMI
• a basic feature set for the most common mesh use cases
• flexibility to support new mesh capabilities over time
• allows abstractions for integrations
• Dashboards, canary release tools, …
• allows to change a Service Mesh implementation without
changing the configuration
• is a CNCF sandbox project
• https://smi-spec.io
© white duck GmbH 2021
SMI feature set
• traffic management – shift traffic between different
services
• traffic policy – apply policies like identity and transport
encryption across services
• traffic telemetry – capture key metrics like error rate and
latency between services
© white duck GmbH 2021
SMI Ecosystem
© white duck GmbH 2021
SMI spec in detail
• Traffic Split
• Traffic Specs
• Traffic Access Control
• Traffic Metrics
© white duck GmbH 2021
Things to keep in mind
• some things are in early stages…
• Istio requires an adapter
• https://github.com/servicemeshinterface/smi-adapter-istio
• does not yet support the latest Istio versions
• metrics requires extending the Kubernetes API
• https://github.com/servicemeshinterface/smi-metrics
• support for Istio and Linkerd (Consul and Open Service Mesh are
planed)
• be aware of the different API versions
© white duck GmbH 2021
SMI Community
• bi-weekly Community call
• Wednesday, 10 PST
• CNCF Slack
• #smi channel
• more details
• https://github.com/servicemeshinterface/smi-spec#communications
© white duck GmbH 2021
Questions?
• Slides
• https://www.slideshare.net/nmeisenzahl
© white duck GmbH 2021

Contenu connexe

Tendances

Tendances (20)

Continuous Lifecycle: Hijack Kubernetes
Continuous Lifecycle: Hijack KubernetesContinuous Lifecycle: Hijack Kubernetes
Continuous Lifecycle: Hijack Kubernetes
 
Virtual GitLab Meetup: How Containerized Pipelines and Kubernetes Can Boost Y...
Virtual GitLab Meetup: How Containerized Pipelines and Kubernetes Can Boost Y...Virtual GitLab Meetup: How Containerized Pipelines and Kubernetes Can Boost Y...
Virtual GitLab Meetup: How Containerized Pipelines and Kubernetes Can Boost Y...
 
Azure Zürich User Group: Azure Kubernetes Service – more than just a managed ...
Azure Zürich User Group: Azure Kubernetes Service – more than just a managed ...Azure Zürich User Group: Azure Kubernetes Service – more than just a managed ...
Azure Zürich User Group: Azure Kubernetes Service – more than just a managed ...
 
GitHub Actions 101
GitHub Actions 101GitHub Actions 101
GitHub Actions 101
 
FestiveTechCalendar2021 - Have Yourself An​ Azure Container Registry
FestiveTechCalendar2021 - Have Yourself An​ Azure Container RegistryFestiveTechCalendar2021 - Have Yourself An​ Azure Container Registry
FestiveTechCalendar2021 - Have Yourself An​ Azure Container Registry
 
Die Evolution von Container Image Builds
Die Evolution von Container Image BuildsDie Evolution von Container Image Builds
Die Evolution von Container Image Builds
 
DevOps Gathering - How Containerized Pipelines Can Boost Your CI/CD
DevOps Gathering - How Containerized Pipelines Can Boost Your CI/CDDevOps Gathering - How Containerized Pipelines Can Boost Your CI/CD
DevOps Gathering - How Containerized Pipelines Can Boost Your CI/CD
 
Hijack a Kubernetes Cluster - a Walkthrough
Hijack a Kubernetes Cluster - a WalkthroughHijack a Kubernetes Cluster - a Walkthrough
Hijack a Kubernetes Cluster - a Walkthrough
 
Continuous Lifecycle: Enhance Your Compliance and Governance With Policy-Base...
Continuous Lifecycle: Enhance Your Compliance and Governance With Policy-Base...Continuous Lifecycle: Enhance Your Compliance and Governance With Policy-Base...
Continuous Lifecycle: Enhance Your Compliance and Governance With Policy-Base...
 
Azure Saturday Hamburg: Containerize Your .NET Microservice - the Right Way!
Azure Saturday Hamburg: Containerize Your .NET Microservice - the Right Way!Azure Saturday Hamburg: Containerize Your .NET Microservice - the Right Way!
Azure Saturday Hamburg: Containerize Your .NET Microservice - the Right Way!
 
DevOpsCon London: How containerized Pipelines can boost your CI/CD
DevOpsCon London: How containerized Pipelines can boost your CI/CDDevOpsCon London: How containerized Pipelines can boost your CI/CD
DevOpsCon London: How containerized Pipelines can boost your CI/CD
 
Global Azure Virtual: Container & Kubernetes on Azure
Global Azure Virtual: Container & Kubernetes on AzureGlobal Azure Virtual: Container & Kubernetes on Azure
Global Azure Virtual: Container & Kubernetes on Azure
 
GitLab Commit: Enhance your Compliance with Policy-Based CI/CD
GitLab Commit: Enhance your Compliance with Policy-Based CI/CDGitLab Commit: Enhance your Compliance with Policy-Based CI/CD
GitLab Commit: Enhance your Compliance with Policy-Based CI/CD
 
AzDevCom2021 - Bicep vs Terraform
AzDevCom2021 - Bicep vs TerraformAzDevCom2021 - Bicep vs Terraform
AzDevCom2021 - Bicep vs Terraform
 
Hijack a Kubernetes Cluster - a Walkthrough
Hijack a Kubernetes Cluster - a WalkthroughHijack a Kubernetes Cluster - a Walkthrough
Hijack a Kubernetes Cluster - a Walkthrough
 
Policy & Governance für Kubernetes
Policy & Governance für KubernetesPolicy & Governance für Kubernetes
Policy & Governance für Kubernetes
 
Enhance Your Kubernetes CI/CD Pipelines With GitLab & Open Source
Enhance Your Kubernetes CI/CD Pipelines With GitLab & Open SourceEnhance Your Kubernetes CI/CD Pipelines With GitLab & Open Source
Enhance Your Kubernetes CI/CD Pipelines With GitLab & Open Source
 
GitLab Remote Meetup: Enhance Your Kubernetes CI/CD Pipelines with GitLab & ...
GitLab Remote Meetup:  Enhance Your Kubernetes CI/CD Pipelines with GitLab & ...GitLab Remote Meetup:  Enhance Your Kubernetes CI/CD Pipelines with GitLab & ...
GitLab Remote Meetup: Enhance Your Kubernetes CI/CD Pipelines with GitLab & ...
 
Was ist ein Service Mesh und wie funktioniert es?
Was ist ein Service Mesh und wie funktioniert es?Was ist ein Service Mesh und wie funktioniert es?
Was ist ein Service Mesh und wie funktioniert es?
 
GitLab Commit: Your Attackers Won't Be Happy! How GitLab Can Help You Secure ...
GitLab Commit: Your Attackers Won't Be Happy! How GitLab Can Help You Secure ...GitLab Commit: Your Attackers Won't Be Happy! How GitLab Can Help You Secure ...
GitLab Commit: Your Attackers Won't Be Happy! How GitLab Can Help You Secure ...
 

Similaire à Cloud Native Day: Cloud-native Anwendungsentwicklung im Jahr 2021

Similaire à Cloud Native Day: Cloud-native Anwendungsentwicklung im Jahr 2021 (20)

Azure Service Operator - Provision Your Resources in a Cloud-Native Way
Azure Service Operator - Provision Your Resources in a Cloud-Native WayAzure Service Operator - Provision Your Resources in a Cloud-Native Way
Azure Service Operator - Provision Your Resources in a Cloud-Native Way
 
GitLab Remote Meetup: Enhance Your Kubernetes CI/CD Pipelines with GitLab & O...
GitLab Remote Meetup: Enhance Your Kubernetes CI/CD Pipelines with GitLab & O...GitLab Remote Meetup: Enhance Your Kubernetes CI/CD Pipelines with GitLab & O...
GitLab Remote Meetup: Enhance Your Kubernetes CI/CD Pipelines with GitLab & O...
 
All Things Cloud Native Meetup: Azure Kubernetes Service Basics
All Things Cloud Native Meetup: Azure Kubernetes Service BasicsAll Things Cloud Native Meetup: Azure Kubernetes Service Basics
All Things Cloud Native Meetup: Azure Kubernetes Service Basics
 
Dude, Where's my Server?
Dude, Where's my Server?Dude, Where's my Server?
Dude, Where's my Server?
 
The Future of Service Mesh
The Future of Service MeshThe Future of Service Mesh
The Future of Service Mesh
 
KCD Munich 2022: How to Prevent Your Kubernetes Cluster From Being Hacked
KCD Munich 2022: How to Prevent Your Kubernetes Cluster From Being HackedKCD Munich 2022: How to Prevent Your Kubernetes Cluster From Being Hacked
KCD Munich 2022: How to Prevent Your Kubernetes Cluster From Being Hacked
 
How to Prevent Your Kubernetes Cluster From Being Hacked
How to Prevent Your Kubernetes Cluster From Being HackedHow to Prevent Your Kubernetes Cluster From Being Hacked
How to Prevent Your Kubernetes Cluster From Being Hacked
 
DACHNUG50 HCL Volt MX Go.pdf
DACHNUG50 HCL Volt MX Go.pdfDACHNUG50 HCL Volt MX Go.pdf
DACHNUG50 HCL Volt MX Go.pdf
 
Open Standards Enabling Digital Transformation
Open Standards Enabling Digital TransformationOpen Standards Enabling Digital Transformation
Open Standards Enabling Digital Transformation
 
2011.02. Ecosystème SaaS et Cloud 2011 - Enjeux et Perspectives - Point de Vu...
2011.02. Ecosystème SaaS et Cloud 2011 - Enjeux et Perspectives - Point de Vu...2011.02. Ecosystème SaaS et Cloud 2011 - Enjeux et Perspectives - Point de Vu...
2011.02. Ecosystème SaaS et Cloud 2011 - Enjeux et Perspectives - Point de Vu...
 
Check Point and Cisco: Securing the Private Cloud
Check Point and Cisco: Securing the Private CloudCheck Point and Cisco: Securing the Private Cloud
Check Point and Cisco: Securing the Private Cloud
 
IBM Think 2020 Openshift on IBM Z and LinuxONE
IBM Think 2020 Openshift on IBM Z and LinuxONEIBM Think 2020 Openshift on IBM Z and LinuxONE
IBM Think 2020 Openshift on IBM Z and LinuxONE
 
Pragmatic approach to Microservice Architecture: Role of Middleware
Pragmatic approach to Microservice Architecture: Role of MiddlewarePragmatic approach to Microservice Architecture: Role of Middleware
Pragmatic approach to Microservice Architecture: Role of Middleware
 
The Current And Future State Of Service Mesh
The Current And Future State Of Service MeshThe Current And Future State Of Service Mesh
The Current And Future State Of Service Mesh
 
Connectivity is here (5 g, swarm,...). now, let's build interplanetary apps! (1)
Connectivity is here (5 g, swarm,...). now, let's build interplanetary apps! (1)Connectivity is here (5 g, swarm,...). now, let's build interplanetary apps! (1)
Connectivity is here (5 g, swarm,...). now, let's build interplanetary apps! (1)
 
WSO2Con USA 2015: Planning Your Cloud Strategy
WSO2Con USA 2015: Planning Your Cloud StrategyWSO2Con USA 2015: Planning Your Cloud Strategy
WSO2Con USA 2015: Planning Your Cloud Strategy
 
"The Cloud Native Enterprise is Coming"
"The Cloud Native Enterprise is Coming" "The Cloud Native Enterprise is Coming"
"The Cloud Native Enterprise is Coming"
 
Schnellere Digitalisierung mit einer cloudbasierten Datenstrategie
Schnellere Digitalisierung mit einer cloudbasierten DatenstrategieSchnellere Digitalisierung mit einer cloudbasierten Datenstrategie
Schnellere Digitalisierung mit einer cloudbasierten Datenstrategie
 
CCCNA17 Introduction
CCCNA17 IntroductionCCCNA17 Introduction
CCCNA17 Introduction
 
Connections in AWS with cloud native services
Connections in AWS with cloud native servicesConnections in AWS with cloud native services
Connections in AWS with cloud native services
 

Plus de Nico Meisenzahl

Festive Tech Calendar: Festive time with AKS networking
Festive Tech Calendar: Festive time with AKS networkingFestive Tech Calendar: Festive time with AKS networking
Festive Tech Calendar: Festive time with AKS networking
Nico Meisenzahl
 
ContainerConf 2022: Hijack Kubernetes
ContainerConf 2022: Hijack KubernetesContainerConf 2022: Hijack Kubernetes
ContainerConf 2022: Hijack Kubernetes
Nico Meisenzahl
 
ContainerConf 2022: Kubernetes is awesome - but...
ContainerConf 2022: Kubernetes is awesome - but...ContainerConf 2022: Kubernetes is awesome - but...
ContainerConf 2022: Kubernetes is awesome - but...
Nico Meisenzahl
 

Plus de Nico Meisenzahl (11)

Cloud-Native & Sustainability: How and Why to Build Sustainable Workloads
Cloud-Native & Sustainability: How and Why to Build Sustainable WorkloadsCloud-Native & Sustainability: How and Why to Build Sustainable Workloads
Cloud-Native & Sustainability: How and Why to Build Sustainable Workloads
 
Container Day Security: How to Prevent Your Kubernetes Cluster From Being Hacked
Container Day Security: How to Prevent Your Kubernetes Cluster From Being HackedContainer Day Security: How to Prevent Your Kubernetes Cluster From Being Hacked
Container Day Security: How to Prevent Your Kubernetes Cluster From Being Hacked
 
Festive Tech Calendar: Festive time with AKS networking
Festive Tech Calendar: Festive time with AKS networkingFestive Tech Calendar: Festive time with AKS networking
Festive Tech Calendar: Festive time with AKS networking
 
ContainerConf 2022: Hijack Kubernetes
ContainerConf 2022: Hijack KubernetesContainerConf 2022: Hijack Kubernetes
ContainerConf 2022: Hijack Kubernetes
 
ContainerConf 2022: Kubernetes is awesome - but...
ContainerConf 2022: Kubernetes is awesome - but...ContainerConf 2022: Kubernetes is awesome - but...
ContainerConf 2022: Kubernetes is awesome - but...
 
KCD Munich 2022: Hijack a Kubernetes Cluster - a Walkthrough
KCD Munich 2022: Hijack a Kubernetes Cluster - a WalkthroughKCD Munich 2022: Hijack a Kubernetes Cluster - a Walkthrough
KCD Munich 2022: Hijack a Kubernetes Cluster - a Walkthrough
 
Cloud Love Conference: Kubernetes is awesome, but...
Cloud Love Conference: Kubernetes is awesome, but...Cloud Love Conference: Kubernetes is awesome, but...
Cloud Love Conference: Kubernetes is awesome, but...
 
Container Days: Hijack a Kubernetes Cluster - a Walkthrough
Container Days: Hijack a Kubernetes Cluster - a WalkthroughContainer Days: Hijack a Kubernetes Cluster - a Walkthrough
Container Days: Hijack a Kubernetes Cluster - a Walkthrough
 
Hijack a Kubernetes Cluster - a Walkthrough
Hijack a Kubernetes Cluster - a WalkthroughHijack a Kubernetes Cluster - a Walkthrough
Hijack a Kubernetes Cluster - a Walkthrough
 
Microsoft DevOps Forum 2021 – DevOps & Security
 Microsoft DevOps Forum 2021 – DevOps & Security Microsoft DevOps Forum 2021 – DevOps & Security
Microsoft DevOps Forum 2021 – DevOps & Security
 
Effiziente CI/CD-Pipelines – mit den richtigen Tools klappt das
Effiziente CI/CD-Pipelines – mit den richtigen Tools klappt dasEffiziente CI/CD-Pipelines – mit den richtigen Tools klappt das
Effiziente CI/CD-Pipelines – mit den richtigen Tools klappt das
 

Dernier

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Dernier (20)

Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 

Cloud Native Day: Cloud-native Anwendungsentwicklung im Jahr 2021

  • 1. Cloud-native Anwendungsentwicklung im Jahr 2021 Cloud Native Day, 10. Februar 2021
  • 2. Nico Meisenzahl • Senior Cloud & DevOps Consultant at white duck • GitLab Hero, Microsoft MVP & Docker Community Leader • Container, Kubernetes & Cloud-Native © white duck GmbH 2021 Phone: +49 8031 230159 0 Email: nico.meisenzahl@whiteduck.de Twitter: @nmeisenzahl LinkedIn: https://www.linkedin.com/in/nicomeisenzahl Blog: https://meisenzahl.org
  • 3. Martin Brandl • Head of Cloud Development & Operations, CSA • Microsoft Azure MVP • Cloud-Native, Azure © white duck GmbH 2021 Phone: +49 8031 230159 0 Email: martin.brandl@whiteduck.de Twitter: @martin_jib LinkedIn: https://www.linkedin.com/in/mbrandl Blog: https://about-azure.com
  • 4. Agenda • Microservices are great, but also challenging • Distributed Application Runtime – Dapr • Service Mesh interface – SMI © white duck GmbH 2021
  • 5. Microservices are great, but also challenging • a microservice should mostly contain business code and nothing further • this is hard and mostly not the case • polyglot microservices can help streamline your business but will also introduce complexity • different languages and therefore different implementations and libraries • service-to-service communication for example • Observability & distributed tracing © white duck GmbH 2021
  • 6. Abstraction can help • we abstracted our … • communication/backend with libraries and SDKs • relational database with object-relational mapping • infrastructure with containers • container management with Kubernetes • why not abstracting even further? • that said, abstraction can also introduce more complexity © white duck GmbH 2021
  • 7. Distributed Application Runtime – Dapr © white duck GmbH 2021 Service- to- service invocation State management Publish and subscribe Resource bindings and triggers Actors Distributed tracing Secrets Extensible Any cloud or edge infrastructure HTTP API gRPC API Application code Microservices written in Any code or framework…
  • 8. Sidecar & components State stores Publish & subscribe Bindings Scanning for events Messaging Load and save state Input/output Dapr API Dapr API Service code B Service code A Application Sidecar Sidecar Secure communication with mTLS Tracing, logs and metrics Tracing, logs and metrics Observability Prometheus AppInsightts Jaeger Capturing, querying traces, logs and metrics
  • 9. Service invocation © white duck GmbH 2021 “frontend” “cart” Post http://localhost:3500/v1.0/invoke/cart/method/checkout { "user":"johndoe", "cart":"0001" } Post http://10.0.0.2:8000/checkout { "user":"johndoe", "cart":"0001" }
  • 10. State management © white duck GmbH 2021 App “myApp” { "name": "Tatooine" } Get http://localhost:3500/v1.0/state/<store-name>/planet Post http://localhost:3500/v1.0/state/<store-name> [{ "key": "weapon", "value": "DeathStar" }, { "key": "planet", "value": { "name": "Tatooine" } }] key value myApp-weapon "DeathStar" myApp-planet { "name": "Tatooine" } State store of your choice
  • 11. Publish and subscribe © white duck GmbH 2021 Subscribe Publish Post http://localhost:3500/v1.0/publish/ "topic":"order", "data":{ "user":"johndoe", "item":"ZeroDay" }, “cart” “shipping” Post http://10.0.0.5:8005/order "data":{ "user":"johndoe", "item":"ZeroDay" } “email” Post http://10.0.0.4:8004/order
  • 12. How Dapr is run © white duck GmbH 2021 Kubernetes apiVersion: apps/v1 kind: Deployment … spec: selector: matchLabels: app: my-app template: metadata: annotations: dapr.io/enabled: "true" dapr.io/app-id: "my-appr" dapr.io/app-protocol: ”http" dapr.io/app-port: ”8080” … Standalone (self-hosted) dapr run --app-id my-app --app-protocol grpc --app-port 50105 --components-path ./config go run main.go dapr run --app-id my-app --app-protocol http --app-port 3000 --components-path ./config dotnet run
  • 13. DEMO © white duck GmbH 2021
  • 14. Service Meshes • this talk is not about why you should or should not use a Service Mesh • it‘s more about how to abstract a Service Mesh in case you decided to use one © white duck GmbH 2021
  • 15. The Service Mesh ecosystem (2019 vs 2020) © white duck GmbH 2021 https://www.cncf.io/wp-content/uploads/2020/08/CNCF_Survey_Report.pdf https://www.cncf.io/wp-content/uploads/2020/11/CNCF_Survey_Report_2020.pdf
  • 16. Service Mesh interface – SMI • „A standard interface (API spec) for service meshes on Kubernetes.“ • like Open Container Initiative (OCI), Container Network Interface (CNI), Container Storage Interface (CSI) just for Services Meshes © white duck GmbH 2021
  • 17. Service Mesh interface – SMI • a basic feature set for the most common mesh use cases • flexibility to support new mesh capabilities over time • allows abstractions for integrations • Dashboards, canary release tools, … • allows to change a Service Mesh implementation without changing the configuration • is a CNCF sandbox project • https://smi-spec.io © white duck GmbH 2021
  • 18. SMI feature set • traffic management – shift traffic between different services • traffic policy – apply policies like identity and transport encryption across services • traffic telemetry – capture key metrics like error rate and latency between services © white duck GmbH 2021
  • 19. SMI Ecosystem © white duck GmbH 2021
  • 20. SMI spec in detail • Traffic Split • Traffic Specs • Traffic Access Control • Traffic Metrics © white duck GmbH 2021
  • 21. Things to keep in mind • some things are in early stages… • Istio requires an adapter • https://github.com/servicemeshinterface/smi-adapter-istio • does not yet support the latest Istio versions • metrics requires extending the Kubernetes API • https://github.com/servicemeshinterface/smi-metrics • support for Istio and Linkerd (Consul and Open Service Mesh are planed) • be aware of the different API versions © white duck GmbH 2021
  • 22. SMI Community • bi-weekly Community call • Wednesday, 10 PST • CNCF Slack • #smi channel • more details • https://github.com/servicemeshinterface/smi-spec#communications © white duck GmbH 2021