SlideShare une entreprise Scribd logo
1  sur  79
Distributed Application Design
Patterns & Principles
Basic Concepts
Problem Statement
Application
• A set of features delivered to end users.
Client-Server
• Client – the application used by end users.
• Server – the backend application used by client apps.
Multitier
• A client-server app with physically separated layers.
• Presentation;
• Application Processing;
• Data Management;
Excessive client connections
• How do we scale if there are too many client connections?
Load Balancer
• Scale to multiple instances behind a load balancer.
• Potential bottlenecks… database?
Scalability
• What is shared?
• Clients share Server apps;
• Server apps share Database;
Scalability
• What is shared?
• Clients share Server apps;
• Server apps share Database;
• Shared resources:
• CPU, Memory, Disks...
• What else?
Scalability
• What is shared?
• Clients share Server apps;
• Server apps share Database;
• Shared resources:
• CPU, Memory, Disks...
• What else?
• Pareto principle:
• 80/20 rule.
Evolution
Service-Oriented Approach
(not Architecture, not SOA, but SO*)
Service-Oriented
• Services are deployed separately.
Service-Oriented
• Services are scaled independently.
Cascading Calls
• Services may reuse other services.
Load Balancing
• Do we need a Load Balancer per Service?
Service Discovery
• Service Registry:
• Services registers at startup and provide heartbeats.
• Registry knows location of each services (all instances).
• Services access services directly, Registry is an address-book, not proxy.
Load Balancing with Service Discovery
• Server-side Load Balancing:
• Discovery Server returns a single instance (e.g. round-robin).
• Client-side Load Balancing:
• Client fetches list of all instances and decides which to use.
Discovery Cluster
• Single point of failure:
• Discovery Server (service registry) may fail.
• Discovery Server Cluster is required.
Dynamic Scalability
• Deploy more instances to scale on the fly.
API Gateway
• Proxy API or Expose specific API (a service as API Gateway).
• Or proxy always and create new services for specific API.
Patterns so far…
• Service Discovery
• Client-side
• Server-side
• API Gateway
• Proxy
• Programmed
• Load Balancer
• Client-side
• Server-side
High Availability
High Availability
High Availability
High Availability
High Availability
High Availability
High Availability
• Regions
High Availability
• Availability Zones
High Availability
• All services available.
High Availability
• All instances of a service are not available in local zone.
High Availability
• All instances of a service are not available in local region.
High Availability
• All services recovered after fail.
High Availability
Architectural Styles
Layers
• Services are organized into layers, each layer performing a specific
role within the application.
Microservices
• Services form a single application.
• Independently deployed, horizontally scaled and dynamically coordinated;
SOA
• Applications are provided to the other components as services.
• Support independence of vendors, products and technologies.
Security Concerns
Authentication
• Authentication is the process of confirming the identity.
• Is requestor really represents the identity claimed?
Authorization
• Authorization is the function of specifying access rights to resources.
• Does requestor have all necessary privileges?
Communication
• Data could be stolen while being transmitted.
• Is communication secure enough?
Implementation Details
• Roles available:
• User, Client;
• Auth Service;
• Service Provider;
• Common concerns:
• Latency;
• Bottlenecks;
• Statelessness;
• Single Sign-On;
• Fine-grained authorization;
• Exposure of user credentials;
Capability-Based
• A capability (key) is a communicable, unforgeable token of authority.
• It references an object along with an associated set of access rights.
• It is used to access another object.
Protection Rings
• System is secured using protection rings.
• Diametrically opposite to capability-based security.
Communication
Direct
• Services communicate with other services directly:
• Coordinated by a discovery server for dynamic scalability.
• Client-side load balancing option available.
• Requires strict contract.
• Remote services should be highly available.
• May cause data loss in case if requests fail.
Decoupled
• Services communicate though a middleware:
• Coordinated by the middleware.
• Scaled using such concepts as Partitioning & Consumer Groups.
• Data-oriented, almost contract-free.
• Middleware should be highly available.
• No data loss, middleware can keep it.
Synchronous
• Block and wait for answer upon request.
• Standard model to fetch data.
• Blocking API.
Asynchronous
• Fire-and-forget model.
• Best suited for action triggers.
• Non-blocking API.
Communication
Direct Decoupled
Synchronous
Asynchronous
Data Microservices
The Concept
Data Microservices
• Basic properties:
• A lightweight data-oriented service;
• Has an input and/or output;
• May play role of sink, source or processor;
Source O SinkIProcessorI O
Data Microservices
• Advanced properties:
• Almost contract-free (no methods, just data);
• Decoupled (know nothing about others);
• Reusable (anytime, anywhere);
• Used in composition of pipelines (workflow);
Data Microservices: Scalability
• Consumer Groups.
• Scale the architecture at consumer side when there is a demand for more
computational power (high volume of incoming messages, slow consumer).
Publisher
Group: Grey
Consumer 1
Group: Yellow
Consumer 1 Consumer 2Consumer 2
Data Microservices: Scalability
• Partitioning.
• Scale the architecture at producer side when there is a demand for more
parallelism at middleware.
Publisher 2
Group: Grey
Consumer 1
Group: Yellow
Consumer 1 Consumer 2Consumer 2
Publisher 1 Publisher 3
1 2 3
Data Consistency
Transactional Consistency
• Using a transaction manager.
Transactional Consistency
• Using a transaction manager.
Transactional Consistency
• Using a transaction manager.
Transactional Consistency
• Using a transaction manager:
• We heavily depend on it;
• It delays the processing of our transactions (potential bottleneck);
• Complex to implement;
• More complex when we need to communicate with another system.
Transactional Consistency
• When dealing with transactions:
• Think about different approaches for different business processes;
• A transaction manager with two phase commit is not always required;
• Actor/event oriented approaches are available as well.
• Coffee shop example.
Eventual Consistency
• Event Sourcing:
• Save events of state changes instead of state itself.
• Reconstruct an entity’s state by replaying events.
• Saving an event is a single operation, it is inherently atomic.
Create Account Edit User Name Delete Account
Eventual Consistency
• Event Store:
• Events are immutable, store full history, provide a detailed audit trail.
• Events are published to subsystems notifying about the changes to the state.
• Rewind to the state of the system at any previous point in time.
Event Store
Group: Grey
Consumer 1
Group: Yellow
Consumer 1 Consumer 2Consumer 2
Eventual Consistency
• Retrieval of state is time consuming.
• Have to replay events to rebuild the state.
• Solution is to maintain two separate models:
• write model — the event store.
• read model — the database.
• A different handler is responsible for updating the read model, once an event
is persisted in the event store (write model).
Write
Model
Read
Model
Events
Eventual Consistency
• CQRS:
• every method should either be a command that performs an action,
• or a query that returns data to the caller.
• Return a value only if there are no side effects.
• If you have a return value you cannot mutate state.
• If you mutate state your return type must be void.
Command Query
Eventual Consistency
• Event Sourcing + CQRS
Command
Service
Query
Service
Event
Store
Data
Store
Event
Processor
Eventual Consistency
• Event Sourcing + CQRS
• Consistency:
• Write model is consistent, events are ordered, transactions are simple.
• Most systems can be eventually consistent on the Query side.
Command
Service
Query
Service
Event
Store
Data
Store
Event
Processor
Eventual Consistency
• Event Sourcing + CQRS
• Consistency:
• Write model is consistent, events are ordered, transactions are simple.
• Most systems can be eventually consistent on the Query side.
• Data Storage:
• Normalized data on the Command side (e.g. a relational structure).
• Denormalized data on the Query side (e.g. to minimize the number of joins).
Command
Service
Query
Service
Event
Store
Data
Store
Event
Processor
Eventual Consistency
• Event Sourcing + CQRS
• Consistency:
• Write model is consistent, events are ordered, transactions are simple.
• Most systems can be eventually consistent on the Query side.
• Data Storage:
• Normalized data on the Command side (e.g. a relational structure).
• Denormalized data on the Query side (e.g. to minimize the number of joins).
• Scalability:
• Scale Command and Query sides separately.
Command
Service
Query
Service
Event
Store
Data
Store
Event
Processor
Summary
Summary
API Gateway
Discovery
Servers
Command
Service
Query
Service
Event
Store
Data
Store
Data
Store
Command
Service
Command
Service
Query
Service
Query
Service
Summary
• Think about:
• Security
• High Availability
• Communication
API Gateway
Discovery
Servers
Command
Service
Query
Service
Event
Store
Data
Store
Data
Store
Command
Service
Command
Service
Query
Service
Query
Service
Live Coding
Using Spring Cloud
Live Coding
• Phase 1: Application.
• Endpoint to Hello a user by name.
• Endpoint to Hello the world.
Hello
App
Mood
Ext. Service
Live Coding
• Phase 2: Service-Oriented.
• API Gateway.
• Service Discovery.
• Load Balancing.
Hello
API Gateway
Mood
Ext. Service
Hello World
Service
Hello
Service
Discovery
Mood
API Service
Live Coding
• Phase 3: Eventually Consistent.
• Event Sourcing.
• CQRS.
• Post-Redirect-Get.
Hello
API Gateway
Mood
Ext. Service
Hello World
Service
Hello Query
Service
Discovery
Mood
API Service
Hello
Command
Service
Hello
Decorator
Mood
Decorator
Data
Store
Live Coding
Thank You!
Patterns of Distributed Application Design

Contenu connexe

Tendances

The Java Microservice Library
The Java Microservice LibraryThe Java Microservice Library
The Java Microservice Library
Rick Hightower
 
Kafka Pluggable Authorization for Enterprise Security (Anna Kepler, Viasat) K...
Kafka Pluggable Authorization for Enterprise Security (Anna Kepler, Viasat) K...Kafka Pluggable Authorization for Enterprise Security (Anna Kepler, Viasat) K...
Kafka Pluggable Authorization for Enterprise Security (Anna Kepler, Viasat) K...
confluent
 

Tendances (20)

Kafka Needs No Keeper
Kafka Needs No KeeperKafka Needs No Keeper
Kafka Needs No Keeper
 
Microservices with .Net - NDC Sydney, 2016
Microservices with .Net - NDC Sydney, 2016Microservices with .Net - NDC Sydney, 2016
Microservices with .Net - NDC Sydney, 2016
 
Microservices in the Apache Kafka Ecosystem
Microservices in the Apache Kafka EcosystemMicroservices in the Apache Kafka Ecosystem
Microservices in the Apache Kafka Ecosystem
 
Transforming Legacy Applications Into Dynamically Scalable Web Services
Transforming Legacy Applications Into Dynamically Scalable Web ServicesTransforming Legacy Applications Into Dynamically Scalable Web Services
Transforming Legacy Applications Into Dynamically Scalable Web Services
 
Cloud Native Spring - The role of Spring Cloud after Kubernetes became a main...
Cloud Native Spring - The role of Spring Cloud after Kubernetes became a main...Cloud Native Spring - The role of Spring Cloud after Kubernetes became a main...
Cloud Native Spring - The role of Spring Cloud after Kubernetes became a main...
 
Making Kafka Cloud Native | Jay Kreps, Co-Founder & CEO, Confluent
Making Kafka Cloud Native | Jay Kreps, Co-Founder & CEO, ConfluentMaking Kafka Cloud Native | Jay Kreps, Co-Founder & CEO, Confluent
Making Kafka Cloud Native | Jay Kreps, Co-Founder & CEO, Confluent
 
Redis and Kafka - Simplifying Advanced Design Patterns within Microservices A...
Redis and Kafka - Simplifying Advanced Design Patterns within Microservices A...Redis and Kafka - Simplifying Advanced Design Patterns within Microservices A...
Redis and Kafka - Simplifying Advanced Design Patterns within Microservices A...
 
Webinar | Better Together: Apache Cassandra and Apache Kafka
Webinar  |  Better Together: Apache Cassandra and Apache KafkaWebinar  |  Better Together: Apache Cassandra and Apache Kafka
Webinar | Better Together: Apache Cassandra and Apache Kafka
 
Microservices Architecture - Bangkok 2018
Microservices Architecture - Bangkok 2018Microservices Architecture - Bangkok 2018
Microservices Architecture - Bangkok 2018
 
Consul: Service Mesh for Microservices
Consul: Service Mesh for MicroservicesConsul: Service Mesh for Microservices
Consul: Service Mesh for Microservices
 
OpenStack Summit Fall 2018: LBaaS
OpenStack Summit Fall 2018: LBaaSOpenStack Summit Fall 2018: LBaaS
OpenStack Summit Fall 2018: LBaaS
 
Api service mesh and microservice tooling
Api service mesh and microservice toolingApi service mesh and microservice tooling
Api service mesh and microservice tooling
 
Event Driven Architectures with Apache Kafka on Heroku
Event Driven Architectures with Apache Kafka on HerokuEvent Driven Architectures with Apache Kafka on Heroku
Event Driven Architectures with Apache Kafka on Heroku
 
The Java Microservice Library
The Java Microservice LibraryThe Java Microservice Library
The Java Microservice Library
 
REST APIs
REST APIsREST APIs
REST APIs
 
Blr hadoop meetup
Blr hadoop meetupBlr hadoop meetup
Blr hadoop meetup
 
Kafka Pluggable Authorization for Enterprise Security (Anna Kepler, Viasat) K...
Kafka Pluggable Authorization for Enterprise Security (Anna Kepler, Viasat) K...Kafka Pluggable Authorization for Enterprise Security (Anna Kepler, Viasat) K...
Kafka Pluggable Authorization for Enterprise Security (Anna Kepler, Viasat) K...
 
Javascript Today
Javascript TodayJavascript Today
Javascript Today
 
Understanding Apache Kafka® Latency at Scale
Understanding Apache Kafka® Latency at ScaleUnderstanding Apache Kafka® Latency at Scale
Understanding Apache Kafka® Latency at Scale
 
8 cloud design patterns you ought to know - Update Conference 2018
8 cloud design patterns you ought to know - Update Conference 20188 cloud design patterns you ought to know - Update Conference 2018
8 cloud design patterns you ought to know - Update Conference 2018
 

Similaire à Patterns of Distributed Application Design

Service Mesh CTO Forum (Draft 3)
Service Mesh CTO Forum (Draft 3)Service Mesh CTO Forum (Draft 3)
Service Mesh CTO Forum (Draft 3)
Rick Hightower
 

Similaire à Patterns of Distributed Application Design (20)

Patterns of Distributed Application Design
Patterns of Distributed Application DesignPatterns of Distributed Application Design
Patterns of Distributed Application Design
 
Events in a microservices architecture
Events in a microservices architectureEvents in a microservices architecture
Events in a microservices architecture
 
Tokyo Azure Meetup #5 - Microservices and Azure Service Fabric
Tokyo Azure Meetup #5 - Microservices and Azure Service FabricTokyo Azure Meetup #5 - Microservices and Azure Service Fabric
Tokyo Azure Meetup #5 - Microservices and Azure Service Fabric
 
Event Driven Architecture – Enabling Microservices
Event Driven Architecture – Enabling MicroservicesEvent Driven Architecture – Enabling Microservices
Event Driven Architecture – Enabling Microservices
 
Event-Driven Serverless Architecture - the next big thing in the cloud (Cleme...
Event-Driven Serverless Architecture - the next big thing in the cloud (Cleme...Event-Driven Serverless Architecture - the next big thing in the cloud (Cleme...
Event-Driven Serverless Architecture - the next big thing in the cloud (Cleme...
 
Cloud-native Data: Every Microservice Needs a Cache
Cloud-native Data: Every Microservice Needs a CacheCloud-native Data: Every Microservice Needs a Cache
Cloud-native Data: Every Microservice Needs a Cache
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
Event Driven Architectures - Net Conf UY 2018
Event Driven Architectures - Net Conf UY 2018Event Driven Architectures - Net Conf UY 2018
Event Driven Architectures - Net Conf UY 2018
 
Service Mesh CTO Forum (Draft 3)
Service Mesh CTO Forum (Draft 3)Service Mesh CTO Forum (Draft 3)
Service Mesh CTO Forum (Draft 3)
 
Cloud-native Data
Cloud-native DataCloud-native Data
Cloud-native Data
 
Cloud-Native-Data with Cornelia Davis
Cloud-Native-Data with Cornelia DavisCloud-Native-Data with Cornelia Davis
Cloud-Native-Data with Cornelia Davis
 
Effective Microservices In a Data-centric World
Effective Microservices In a Data-centric WorldEffective Microservices In a Data-centric World
Effective Microservices In a Data-centric World
 
Migrating from a monolith to microservices – is it worth it?
Migrating from a monolith to microservices – is it worth it?Migrating from a monolith to microservices – is it worth it?
Migrating from a monolith to microservices – is it worth it?
 
Scaling Systems: Architectures that grow
Scaling Systems: Architectures that growScaling Systems: Architectures that grow
Scaling Systems: Architectures that grow
 
Server its functions and types.pptx
Server its functions and types.pptxServer its functions and types.pptx
Server its functions and types.pptx
 
Azure servicefabric
Azure servicefabricAzure servicefabric
Azure servicefabric
 
Alex Thissen (Xpirit) - Een verschuiving in architectuur: op weg naar microse...
Alex Thissen (Xpirit) - Een verschuiving in architectuur: op weg naar microse...Alex Thissen (Xpirit) - Een verschuiving in architectuur: op weg naar microse...
Alex Thissen (Xpirit) - Een verschuiving in architectuur: op weg naar microse...
 
Cloud Design Patterns - Hong Kong Codeaholics
Cloud Design Patterns - Hong Kong CodeaholicsCloud Design Patterns - Hong Kong Codeaholics
Cloud Design Patterns - Hong Kong Codeaholics
 
How to achieve Continous Delivery
How to achieve Continous DeliveryHow to achieve Continous Delivery
How to achieve Continous Delivery
 
Cloud patterns at Carleton University
Cloud patterns at Carleton UniversityCloud patterns at Carleton University
Cloud patterns at Carleton University
 

Plus de Orkhan Gasimov

Plus de Orkhan Gasimov (9)

Complex Application Design
Complex Application DesignComplex Application Design
Complex Application Design
 
Digital Transformation - Why? How? What?
Digital Transformation - Why? How? What?Digital Transformation - Why? How? What?
Digital Transformation - Why? How? What?
 
Service Mesh - Why? How? What?
Service Mesh - Why? How? What?Service Mesh - Why? How? What?
Service Mesh - Why? How? What?
 
Angular Web Components
Angular Web ComponentsAngular Web Components
Angular Web Components
 
Vert.x - Reactive & Distributed [Devoxx version]
Vert.x - Reactive & Distributed [Devoxx version]Vert.x - Reactive & Distributed [Devoxx version]
Vert.x - Reactive & Distributed [Devoxx version]
 
Vertx - Reactive & Distributed
Vertx - Reactive & DistributedVertx - Reactive & Distributed
Vertx - Reactive & Distributed
 
Designing Fault Tolerant Microservices
Designing Fault Tolerant MicroservicesDesigning Fault Tolerant Microservices
Designing Fault Tolerant Microservices
 
Refactoring Monolith to Microservices
Refactoring Monolith to MicroservicesRefactoring Monolith to Microservices
Refactoring Monolith to Microservices
 
Spring Cloud: Why? How? What?
Spring Cloud: Why? How? What?Spring Cloud: Why? How? What?
Spring Cloud: Why? How? What?
 

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@
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Dernier (20)

ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
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
 
+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...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
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
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 

Patterns of Distributed Application Design