SlideShare ist ein Scribd-Unternehmen logo
1 von 26
Anatomy of the modern application stack
Boyan Dimitrov,
Director Platform Engineering
@nathariel
Established in 1912
Over 100 countries
Over 170 000 cars
We provide mobility
• We have been building software for 30 years
• 95% of all software we use is built in-house
• Use mainly own datacenters
• First steps in the cloud
IT @ Sixt
• We have a lot of highly customizable workflows and
a lot of interdependencies
• We want to bring products and features to the market fast
• High service availability while constantly innovating
Our challenges
Architecture evolution
Monolithic architecture SOA
< 1999 2000 - 2010 > 2010
Microservices
Our Path
Monolithic architecture SOA Microservices
Focus today
Now lets get technical
What is a service?
https://github.com/micro/go-micro
What is a service?
Making	requests
To	other	services
Handlers
Middleware
…
Pub/Sub JSON-RPC
PROTO-RPC
GRPC
…
Consul
ETCD
Zookeeper
ECS
…
Client
load balancing
HTTP
Websockets
RabbitMQ
NATS
…
• We do not count lines of code - single responsibility is the most important rule for us
• We follow domain driven design (DDD) approach to identify responsibilities
• Each service may be a client and a server, a publisher and a subscriber at the same time
Size?
Cut?
Reservation
API
Reservation Branch Location
For example:
How does it all fit together?
Mobile API Web API
Domain Service Domain Service Domain Service
Aggregation layer
(client specific)
Business Domain
Specific
(generic / multitenant)
Clients
How does it all fit together?
eu-west-1a eu-west-1b eu-west-1c
API Gateway API Gateway API Gateway
A B C A C A B C
Event Stream Event Stream Event Stream
Traffic routing
Microservices (
in Go, Java…)
Kafka
Persistence Layer
B
For us it is all about
customer experience
• Captures any change in your system ( business events, app telemetry, logs…)
• Source for all reactive workflows ( think personalization )
• Feeds data to your machine learning models
• Powers up your near real-time analytics
• Pipes all information to your data warehouse and batch-like
workloads
The Event Stream
Fleet	serviceRDMS
Elastic
search
Zoning	
service
{
"lat": 53.5621,
"lng": 10.0652,
"car_id": ”edwqde-dw31w-dewqde-123”
}
{
"lat": 53.5621,
"lng": 10.0652,
"car_id": ”edwqde-dw31w-dewqde-123”,
"car_model": “BMW 320d”,
"car_color”: “white” …
}
{
"lat": 53.5621,
"lng": 10.0652,
"car_id": ”edwqde-dw31w-dewqde-123”,
"car_model": “BMW 320d”,
"car_color”: “white”,
”city" : “Hamburg”
}
Stream processing primer
1 A	stream	of	telematics	events
2
Enrich	events	with	vehicle	info	
using	a	fleet	service
3
Enrich	events	with	location	info	
using	a	geofence service
Stream processing @ Sixt
Say hello to
• Open-sourced by LinkedIn
• Publish-subscribe messaging rethought as a distributed commit log
• Supports data replication and is scalable by design
• Can reply events from the past
• Supports event ordering
• Rely on event schema to ensure data quality
( no unknown or wrongly formatted events in the
Pipeline )
• Control topics to ensure contextual event
ordering & partitioning
Our stream processing architecture
Sync event enrichment
primer
Enriching
service
Service Foo
Topic	A
Service Bar
Event A
request
response request
response
Event B1
2
4
3
Topic	B
Local cache for Foo and Bar
Async event enrichment
primer
Enriching
service
Service Foo
Topic	A
Service Bar
Event A
Changes Foo
Changes Bar
Event B1 2
Topic	BTopic	Foo Topic	Bar
Publish changes Publish changes
Sync vs Async
Sync
• Can be hard and more involved to implement
• Harder to debug and complexity
may steeply increase
• Keeps services independent
• Increased performance
( no additional network calls )
• Fast to implement and easy to understand
• Easy to debug and extend
• Introduces dependencies between services
• Latency becomes a problem
if upstream services are slow
Async
Implementation
Maintenance	and	Ops
Coupling
Performence
We actually use both depending on the use case and the effort required
Simplified for brevity
Our version of the modern
enterprise stack
The “source of truth” for many
personalized workflows
is now in the stream
Many small services that
do one thing onlyUse-case driven
persistence options
Each service should be able
to scale up or down based
on usage
Our version of the modern
enterprise stack
A modern self-service data warehouse
populated near real time
Learnings so far
• Building small services allows us to manage their lifecycle easier
• Tooling and automation is never enough
• Embracing open-source solutions and contributing back made a big difference
• Working more closely with startups and open-source tech helped us gain momentum
@nathariel
boyan.dimitrov@sixt.com
@sixtlabs
Thank you!

Weitere ähnliche Inhalte

Was ist angesagt?

Micro Services Architecture
Micro Services ArchitectureMicro Services Architecture
Micro Services ArchitectureRanjan Baisak
 
Investing in Cloud Integration at Microsoft IT
Investing in Cloud Integration at Microsoft ITInvesting in Cloud Integration at Microsoft IT
Investing in Cloud Integration at Microsoft ITBizTalk360
 
Introduction to Microsoft Integration Technologies
Introduction to Microsoft Integration TechnologiesIntroduction to Microsoft Integration Technologies
Introduction to Microsoft Integration TechnologiesBizTalk360
 
The Enterprise Service Bus is Dead! Long live the Enterprise Service Bus, Rim...
The Enterprise Service Bus is Dead! Long live the Enterprise Service Bus, Rim...The Enterprise Service Bus is Dead! Long live the Enterprise Service Bus, Rim...
The Enterprise Service Bus is Dead! Long live the Enterprise Service Bus, Rim...confluent
 
Microservices and the Cloud based future of integration final
Microservices and the Cloud based future of integration finalMicroservices and the Cloud based future of integration final
Microservices and the Cloud based future of integration finalBizTalk360
 
"Migrating from Cloud to Cloud: AWS to GCP" - Chris Prouty at Shoppertrak - J...
"Migrating from Cloud to Cloud: AWS to GCP" - Chris Prouty at Shoppertrak - J..."Migrating from Cloud to Cloud: AWS to GCP" - Chris Prouty at Shoppertrak - J...
"Migrating from Cloud to Cloud: AWS to GCP" - Chris Prouty at Shoppertrak - J...AWS Chicago
 
Architectural Patterns for Scaling Microservices and APIs - GlueCon 2015
Architectural Patterns for Scaling Microservices and APIs - GlueCon 2015Architectural Patterns for Scaling Microservices and APIs - GlueCon 2015
Architectural Patterns for Scaling Microservices and APIs - GlueCon 2015Lori MacVittie
 
Modern application delivery with Consul
Modern application delivery with ConsulModern application delivery with Consul
Modern application delivery with ConsulMitchell Pronschinske
 
Magento Developer Talk. Microservice Architecture and Actor Model
Magento Developer Talk. Microservice Architecture and Actor ModelMagento Developer Talk. Microservice Architecture and Actor Model
Magento Developer Talk. Microservice Architecture and Actor ModelIgor Miniailo
 
Amazon Web Services Architecture - An Overview
Amazon Web Services Architecture - An OverviewAmazon Web Services Architecture - An Overview
Amazon Web Services Architecture - An OverviewScott Weber
 
Cloudify: Open vCPE Design Concepts and Multi-Cloud Orchestration
Cloudify: Open vCPE Design Concepts and Multi-Cloud OrchestrationCloudify: Open vCPE Design Concepts and Multi-Cloud Orchestration
Cloudify: Open vCPE Design Concepts and Multi-Cloud OrchestrationCloudify Community
 
Clean up this mess - API Gateway & Service Discovery in .NET
Clean up this mess - API Gateway & Service Discovery in .NETClean up this mess - API Gateway & Service Discovery in .NET
Clean up this mess - API Gateway & Service Discovery in .NETMarcin Tyborowski
 
The Truth About the Service Mesh Data Plane
The Truth About the Service Mesh Data PlaneThe Truth About the Service Mesh Data Plane
The Truth About the Service Mesh Data PlaneChristian Posta
 
MongoDB-as-a-Service on Pivotal Cloud Foundry
MongoDB-as-a-Service on Pivotal Cloud FoundryMongoDB-as-a-Service on Pivotal Cloud Foundry
MongoDB-as-a-Service on Pivotal Cloud FoundryVMware Tanzu
 
Cloud Lessons Learned: 3 Cloud Case Studies
Cloud Lessons Learned: 3 Cloud Case StudiesCloud Lessons Learned: 3 Cloud Case Studies
Cloud Lessons Learned: 3 Cloud Case StudiesRightScale
 
API Gateway: Nginx way
API Gateway: Nginx wayAPI Gateway: Nginx way
API Gateway: Nginx wayinovia
 

Was ist angesagt? (20)

Microservices at Netflix
Microservices at NetflixMicroservices at Netflix
Microservices at Netflix
 
Micro Services Architecture
Micro Services ArchitectureMicro Services Architecture
Micro Services Architecture
 
Investing in Cloud Integration at Microsoft IT
Investing in Cloud Integration at Microsoft ITInvesting in Cloud Integration at Microsoft IT
Investing in Cloud Integration at Microsoft IT
 
Introduction to Microsoft Integration Technologies
Introduction to Microsoft Integration TechnologiesIntroduction to Microsoft Integration Technologies
Introduction to Microsoft Integration Technologies
 
The Enterprise Service Bus is Dead! Long live the Enterprise Service Bus, Rim...
The Enterprise Service Bus is Dead! Long live the Enterprise Service Bus, Rim...The Enterprise Service Bus is Dead! Long live the Enterprise Service Bus, Rim...
The Enterprise Service Bus is Dead! Long live the Enterprise Service Bus, Rim...
 
Microservices and the Cloud based future of integration final
Microservices and the Cloud based future of integration finalMicroservices and the Cloud based future of integration final
Microservices and the Cloud based future of integration final
 
"Migrating from Cloud to Cloud: AWS to GCP" - Chris Prouty at Shoppertrak - J...
"Migrating from Cloud to Cloud: AWS to GCP" - Chris Prouty at Shoppertrak - J..."Migrating from Cloud to Cloud: AWS to GCP" - Chris Prouty at Shoppertrak - J...
"Migrating from Cloud to Cloud: AWS to GCP" - Chris Prouty at Shoppertrak - J...
 
Architectural Patterns for Scaling Microservices and APIs - GlueCon 2015
Architectural Patterns for Scaling Microservices and APIs - GlueCon 2015Architectural Patterns for Scaling Microservices and APIs - GlueCon 2015
Architectural Patterns for Scaling Microservices and APIs - GlueCon 2015
 
Intro to Knative
Intro to KnativeIntro to Knative
Intro to Knative
 
Industrial Light & Magic
Industrial Light & MagicIndustrial Light & Magic
Industrial Light & Magic
 
Modern application delivery with Consul
Modern application delivery with ConsulModern application delivery with Consul
Modern application delivery with Consul
 
Magento Developer Talk. Microservice Architecture and Actor Model
Magento Developer Talk. Microservice Architecture and Actor ModelMagento Developer Talk. Microservice Architecture and Actor Model
Magento Developer Talk. Microservice Architecture and Actor Model
 
Amazon Web Services Architecture - An Overview
Amazon Web Services Architecture - An OverviewAmazon Web Services Architecture - An Overview
Amazon Web Services Architecture - An Overview
 
Cloudify: Open vCPE Design Concepts and Multi-Cloud Orchestration
Cloudify: Open vCPE Design Concepts and Multi-Cloud OrchestrationCloudify: Open vCPE Design Concepts and Multi-Cloud Orchestration
Cloudify: Open vCPE Design Concepts and Multi-Cloud Orchestration
 
Clean up this mess - API Gateway & Service Discovery in .NET
Clean up this mess - API Gateway & Service Discovery in .NETClean up this mess - API Gateway & Service Discovery in .NET
Clean up this mess - API Gateway & Service Discovery in .NET
 
The Truth About the Service Mesh Data Plane
The Truth About the Service Mesh Data PlaneThe Truth About the Service Mesh Data Plane
The Truth About the Service Mesh Data Plane
 
MongoDB-as-a-Service on Pivotal Cloud Foundry
MongoDB-as-a-Service on Pivotal Cloud FoundryMongoDB-as-a-Service on Pivotal Cloud Foundry
MongoDB-as-a-Service on Pivotal Cloud Foundry
 
Simplestream
SimplestreamSimplestream
Simplestream
 
Cloud Lessons Learned: 3 Cloud Case Studies
Cloud Lessons Learned: 3 Cloud Case StudiesCloud Lessons Learned: 3 Cloud Case Studies
Cloud Lessons Learned: 3 Cloud Case Studies
 
API Gateway: Nginx way
API Gateway: Nginx wayAPI Gateway: Nginx way
API Gateway: Nginx way
 

Ähnlich wie Anatomy of the modern application stack

Steve Mills - Dispelling the Vapor Around Cloud Computing
Steve Mills - Dispelling the Vapor Around Cloud ComputingSteve Mills - Dispelling the Vapor Around Cloud Computing
Steve Mills - Dispelling the Vapor Around Cloud ComputingMauricio Godoy
 
z Technical Summit Track 3 Session 4 Developing mobilefirst app for z
z Technical Summit Track 3 Session 4 Developing mobilefirst app for zz Technical Summit Track 3 Session 4 Developing mobilefirst app for z
z Technical Summit Track 3 Session 4 Developing mobilefirst app for znick_garrod
 
Real Time Streaming Architecture at Ford
Real Time Streaming Architecture at FordReal Time Streaming Architecture at Ford
Real Time Streaming Architecture at FordDataWorks Summit
 
DACHNUG50 HCL Volt MX Go.pdf
DACHNUG50 HCL Volt MX Go.pdfDACHNUG50 HCL Volt MX Go.pdf
DACHNUG50 HCL Volt MX Go.pdfDNUG e.V.
 
BCF_Group_Presentation_2022-10.pdf
BCF_Group_Presentation_2022-10.pdfBCF_Group_Presentation_2022-10.pdf
BCF_Group_Presentation_2022-10.pdfWieslaw Blysz, MBA
 
SOA e IMS (NGN)
SOA e IMS (NGN)SOA e IMS (NGN)
SOA e IMS (NGN)Davi Silva
 
Schnellere Digitalisierung mit einer cloudbasierten Datenstrategie
Schnellere Digitalisierung mit einer cloudbasierten DatenstrategieSchnellere Digitalisierung mit einer cloudbasierten Datenstrategie
Schnellere Digitalisierung mit einer cloudbasierten DatenstrategieMongoDB
 
Toyota Financial Services Digital Transformation - Think 2019
Toyota Financial Services Digital Transformation - Think 2019Toyota Financial Services Digital Transformation - Think 2019
Toyota Financial Services Digital Transformation - Think 2019Slobodan Sipcic
 
CVIS Project - Christer Larsson, Makewave
CVIS Project - Christer Larsson, MakewaveCVIS Project - Christer Larsson, Makewave
CVIS Project - Christer Larsson, Makewavemfrancis
 
z Systems redefining Enterprise IT for digital business - Alain Poquillon
z Systems redefining Enterprise IT for digital business - Alain Poquillonz Systems redefining Enterprise IT for digital business - Alain Poquillon
z Systems redefining Enterprise IT for digital business - Alain PoquillonNRB
 
Accelerating a Path to Digital with a Cloud Data Strategy
Accelerating a Path to Digital with a Cloud Data StrategyAccelerating a Path to Digital with a Cloud Data Strategy
Accelerating a Path to Digital with a Cloud Data StrategyMongoDB
 
2011.11.22 - Cloud Infrastructure Provider - 8ème Forum du Club Cloud des Par...
2011.11.22 - Cloud Infrastructure Provider - 8ème Forum du Club Cloud des Par...2011.11.22 - Cloud Infrastructure Provider - 8ème Forum du Club Cloud des Par...
2011.11.22 - Cloud Infrastructure Provider - 8ème Forum du Club Cloud des Par...Club Cloud des Partenaires
 
Iot 1906 - approaches for building applications with the IBM IoT cloud
Iot 1906 - approaches for building applications with the IBM IoT cloudIot 1906 - approaches for building applications with the IBM IoT cloud
Iot 1906 - approaches for building applications with the IBM IoT cloudPeterNiblett
 
Confluent Partner Tech Talk with SVA
Confluent Partner Tech Talk with SVAConfluent Partner Tech Talk with SVA
Confluent Partner Tech Talk with SVAconfluent
 
Building a reliable and scalable IoT platform with MongoDB and HiveMQ
Building a reliable and scalable IoT platform with MongoDB and HiveMQBuilding a reliable and scalable IoT platform with MongoDB and HiveMQ
Building a reliable and scalable IoT platform with MongoDB and HiveMQDominik Obermaier
 
Create Your Future with z Systems Cloud
Create Your Future with z Systems CloudCreate Your Future with z Systems Cloud
Create Your Future with z Systems CloudCA Technologies
 
Embracing Serverless: reengineering a real-estate digital marketplace
Embracing Serverless: reengineering a real-estate digital marketplaceEmbracing Serverless: reengineering a real-estate digital marketplace
Embracing Serverless: reengineering a real-estate digital marketplaceBATbern
 
Re-engineering Technology to break barriers with Business
Re-engineering Technology to break barriers with BusinessRe-engineering Technology to break barriers with Business
Re-engineering Technology to break barriers with BusinessXPDays
 
cloud computing
cloud computingcloud computing
cloud computingHyderabad
 

Ähnlich wie Anatomy of the modern application stack (20)

Steve Mills - Dispelling the Vapor Around Cloud Computing
Steve Mills - Dispelling the Vapor Around Cloud ComputingSteve Mills - Dispelling the Vapor Around Cloud Computing
Steve Mills - Dispelling the Vapor Around Cloud Computing
 
z Technical Summit Track 3 Session 4 Developing mobilefirst app for z
z Technical Summit Track 3 Session 4 Developing mobilefirst app for zz Technical Summit Track 3 Session 4 Developing mobilefirst app for z
z Technical Summit Track 3 Session 4 Developing mobilefirst app for z
 
Real Time Streaming Architecture at Ford
Real Time Streaming Architecture at FordReal Time Streaming Architecture at Ford
Real Time Streaming Architecture at Ford
 
DACHNUG50 HCL Volt MX Go.pdf
DACHNUG50 HCL Volt MX Go.pdfDACHNUG50 HCL Volt MX Go.pdf
DACHNUG50 HCL Volt MX Go.pdf
 
BCF_Group_Presentation_2022-10.pdf
BCF_Group_Presentation_2022-10.pdfBCF_Group_Presentation_2022-10.pdf
BCF_Group_Presentation_2022-10.pdf
 
SOA e IMS (NGN)
SOA e IMS (NGN)SOA e IMS (NGN)
SOA e IMS (NGN)
 
Schnellere Digitalisierung mit einer cloudbasierten Datenstrategie
Schnellere Digitalisierung mit einer cloudbasierten DatenstrategieSchnellere Digitalisierung mit einer cloudbasierten Datenstrategie
Schnellere Digitalisierung mit einer cloudbasierten Datenstrategie
 
Toyota Financial Services Digital Transformation - Think 2019
Toyota Financial Services Digital Transformation - Think 2019Toyota Financial Services Digital Transformation - Think 2019
Toyota Financial Services Digital Transformation - Think 2019
 
CVIS Project - Christer Larsson, Makewave
CVIS Project - Christer Larsson, MakewaveCVIS Project - Christer Larsson, Makewave
CVIS Project - Christer Larsson, Makewave
 
z Systems redefining Enterprise IT for digital business - Alain Poquillon
z Systems redefining Enterprise IT for digital business - Alain Poquillonz Systems redefining Enterprise IT for digital business - Alain Poquillon
z Systems redefining Enterprise IT for digital business - Alain Poquillon
 
Accelerating a Path to Digital with a Cloud Data Strategy
Accelerating a Path to Digital with a Cloud Data StrategyAccelerating a Path to Digital with a Cloud Data Strategy
Accelerating a Path to Digital with a Cloud Data Strategy
 
2011.11.22 - Cloud Infrastructure Provider - 8ème Forum du Club Cloud des Par...
2011.11.22 - Cloud Infrastructure Provider - 8ème Forum du Club Cloud des Par...2011.11.22 - Cloud Infrastructure Provider - 8ème Forum du Club Cloud des Par...
2011.11.22 - Cloud Infrastructure Provider - 8ème Forum du Club Cloud des Par...
 
Iot 1906 - approaches for building applications with the IBM IoT cloud
Iot 1906 - approaches for building applications with the IBM IoT cloudIot 1906 - approaches for building applications with the IBM IoT cloud
Iot 1906 - approaches for building applications with the IBM IoT cloud
 
Confluent Partner Tech Talk with SVA
Confluent Partner Tech Talk with SVAConfluent Partner Tech Talk with SVA
Confluent Partner Tech Talk with SVA
 
Building a reliable and scalable IoT platform with MongoDB and HiveMQ
Building a reliable and scalable IoT platform with MongoDB and HiveMQBuilding a reliable and scalable IoT platform with MongoDB and HiveMQ
Building a reliable and scalable IoT platform with MongoDB and HiveMQ
 
Create Your Future with z Systems Cloud
Create Your Future with z Systems CloudCreate Your Future with z Systems Cloud
Create Your Future with z Systems Cloud
 
Embracing Serverless: reengineering a real-estate digital marketplace
Embracing Serverless: reengineering a real-estate digital marketplaceEmbracing Serverless: reengineering a real-estate digital marketplace
Embracing Serverless: reengineering a real-estate digital marketplace
 
Re-engineering Technology to break barriers with Business
Re-engineering Technology to break barriers with BusinessRe-engineering Technology to break barriers with Business
Re-engineering Technology to break barriers with Business
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
cloud computing
cloud computingcloud computing
cloud computing
 

Kürzlich hochgeladen

Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxMatsuo Lab
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-pyJamie (Taka) Wang
 
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXVoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXTarek Kalaji
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioChristian Posta
 
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaborationbruanjhuli
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Websitedgelyza
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesDavid Newbury
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Brian Pichman
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationIES VE
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URLRuncy Oommen
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdfPedro Manuel
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDELiveplex
 
Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxUdaiappa Ramachandran
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPathCommunity
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Will Schroeder
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintMahmoud Rabie
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesMd Hossain Ali
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopBachir Benyammi
 
AI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarAI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarPrecisely
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024D Cloud Solutions
 

Kürzlich hochgeladen (20)

Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptx
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-py
 
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXVoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBX
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and Istio
 
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Website
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond Ontologies
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URL
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdf
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
 
Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptx
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation Developers
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership Blueprint
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 Workshop
 
AI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarAI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity Webinar
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024
 

Anatomy of the modern application stack

  • 1. Anatomy of the modern application stack Boyan Dimitrov, Director Platform Engineering @nathariel
  • 3. Over 100 countries Over 170 000 cars
  • 5. • We have been building software for 30 years • 95% of all software we use is built in-house • Use mainly own datacenters • First steps in the cloud IT @ Sixt
  • 6. • We have a lot of highly customizable workflows and a lot of interdependencies • We want to bring products and features to the market fast • High service availability while constantly innovating Our challenges
  • 7. Architecture evolution Monolithic architecture SOA < 1999 2000 - 2010 > 2010 Microservices
  • 8. Our Path Monolithic architecture SOA Microservices Focus today
  • 9. Now lets get technical
  • 10. What is a service? https://github.com/micro/go-micro
  • 11. What is a service? Making requests To other services Handlers Middleware … Pub/Sub JSON-RPC PROTO-RPC GRPC … Consul ETCD Zookeeper ECS … Client load balancing HTTP Websockets RabbitMQ NATS …
  • 12. • We do not count lines of code - single responsibility is the most important rule for us • We follow domain driven design (DDD) approach to identify responsibilities • Each service may be a client and a server, a publisher and a subscriber at the same time Size? Cut? Reservation API Reservation Branch Location For example:
  • 13. How does it all fit together? Mobile API Web API Domain Service Domain Service Domain Service Aggregation layer (client specific) Business Domain Specific (generic / multitenant) Clients
  • 14. How does it all fit together? eu-west-1a eu-west-1b eu-west-1c API Gateway API Gateway API Gateway A B C A C A B C Event Stream Event Stream Event Stream Traffic routing Microservices ( in Go, Java…) Kafka Persistence Layer B
  • 15. For us it is all about customer experience
  • 16. • Captures any change in your system ( business events, app telemetry, logs…) • Source for all reactive workflows ( think personalization ) • Feeds data to your machine learning models • Powers up your near real-time analytics • Pipes all information to your data warehouse and batch-like workloads The Event Stream
  • 17. Fleet serviceRDMS Elastic search Zoning service { "lat": 53.5621, "lng": 10.0652, "car_id": ”edwqde-dw31w-dewqde-123” } { "lat": 53.5621, "lng": 10.0652, "car_id": ”edwqde-dw31w-dewqde-123”, "car_model": “BMW 320d”, "car_color”: “white” … } { "lat": 53.5621, "lng": 10.0652, "car_id": ”edwqde-dw31w-dewqde-123”, "car_model": “BMW 320d”, "car_color”: “white”, ”city" : “Hamburg” } Stream processing primer 1 A stream of telematics events 2 Enrich events with vehicle info using a fleet service 3 Enrich events with location info using a geofence service
  • 18. Stream processing @ Sixt Say hello to • Open-sourced by LinkedIn • Publish-subscribe messaging rethought as a distributed commit log • Supports data replication and is scalable by design • Can reply events from the past • Supports event ordering
  • 19. • Rely on event schema to ensure data quality ( no unknown or wrongly formatted events in the Pipeline ) • Control topics to ensure contextual event ordering & partitioning Our stream processing architecture
  • 20. Sync event enrichment primer Enriching service Service Foo Topic A Service Bar Event A request response request response Event B1 2 4 3 Topic B
  • 21. Local cache for Foo and Bar Async event enrichment primer Enriching service Service Foo Topic A Service Bar Event A Changes Foo Changes Bar Event B1 2 Topic BTopic Foo Topic Bar Publish changes Publish changes
  • 22. Sync vs Async Sync • Can be hard and more involved to implement • Harder to debug and complexity may steeply increase • Keeps services independent • Increased performance ( no additional network calls ) • Fast to implement and easy to understand • Easy to debug and extend • Introduces dependencies between services • Latency becomes a problem if upstream services are slow Async Implementation Maintenance and Ops Coupling Performence We actually use both depending on the use case and the effort required
  • 23. Simplified for brevity Our version of the modern enterprise stack
  • 24. The “source of truth” for many personalized workflows is now in the stream Many small services that do one thing onlyUse-case driven persistence options Each service should be able to scale up or down based on usage Our version of the modern enterprise stack A modern self-service data warehouse populated near real time
  • 25. Learnings so far • Building small services allows us to manage their lifecycle easier • Tooling and automation is never enough • Embracing open-source solutions and contributing back made a big difference • Working more closely with startups and open-source tech helped us gain momentum