SlideShare a Scribd company logo
Reusable patterns for scalable APIs running on Docker @ Java2Days
Reusable patterns for scalable APIs running on Docker @ Java2Days
Containers
Reusable patterns for scalable APIs running on Docker @ Java2Days
cgroups
namespaces
Copy-on-write
Stackable Image Layers
bootfs
bootfs
Base image - (ubuntu, debian)
bootfs
Base image - (ubuntu, debian)
Add JRE
bootfs
Base image - (ubuntu, debian)
Add JRE
Add git
Reusable patterns for scalable APIs running on Docker @ Java2Days
https://store.docker.com/images/alpine
https://www.dockerbook.com/
Class
Object
Image
Container
Reusable patterns for scalable APIs running on Docker @ Java2Days
Map/Reduce
https://www.usenix.org/node/196347
Single-node, multi-container
Application patterns
Sidecar
Web server Log server
File System
Sidecar
Application Instance
Translations
Downloader
File System
Resource Isolation
Separate development
Easy and flexible composition
Failure containment
Ambassador
Web Server Ambasador
External App
External App
External App
Ambassador example
Application Hyperbahn Instance
Hyperbahn Instance
Hyperbahn Instance
Hyperbahn Instance
https://github.com/uber-archive/hyperbahn
Easy to reason about
Easy to test
Reusable
Adapter
Application Monitoring Adapter
Centralized
monitoring system
Multi-node application patterns
Leader election
App
Leader
election
container
App
Leader
election
container
App
Leader
election
container
App
Leader
election
container
Simplifies the problem
Easy testing
Distributed Transactions
App
Transaction
manager
container
App
Transaction
manager
container
App
Transaction
manager
container
App
Transaction
manager
container
Work queue
Worker
Work
Execution
Worker
Work
Execution
Work Coordinator
Simplification
Scatter/gather
Merge
Execution
Work
Execution
Work
Execution
Root
Work
Execution
Sharded Service
Shard
Function
Distributor
Worker
Shard 1
Worker
Shard 2
Worker
Shard 3
http://enterpriseintegrationpatterns.com
Messaging endpoints
Idempotent Receiver
App
Idempotent
Receiver
Message Routing
Dynamic Router
AppConsumer
AppConsumer
AppConsumer
Dynamic
Router
Output Channel
Controll Channel
Reusable patterns for scalable APIs running on Docker @ Java2Days
Thanks!

More Related Content

What's hot (20)

PDF
[Kotlin Serverless 工作坊] 單元 4 - 實作 RSS Aggregator
Shengyou Fan
 
PDF
Resque
erichsen
 
PDF
Introduction to Concourse CI #渋谷Java
Toshiaki Maki
 
PDF
EC2 Container Service
WhiteHedge Technologies Inc.
 
KEY
Managing Eclipse Preferences for Teams (EclipseCon 2011)
Netcetera
 
ODP
IPython: The awesome python shell
Python Ireland
 
PPTX
Migration Station at SAS - DevOps for Fusion with Version Control and Continu...
Lucidworks
 
PPT
Object Studio 8.2: News Update
ESUG
 
PDF
Install Concourse CI with BOSH
Toshiaki Maki
 
PDF
Continuous Integration with Cloud Foundry Concourse and Docker on OpenPOWER
Indrajit Poddar
 
PDF
Virtualize and automate your development environment for fun and profit
Andreas Heim
 
PPTX
Terraform Concepts
Saiyam Pathak
 
PDF
Squeezing Machine Learning into Serverless for Image Recognition - AWS Meetup...
Chris Shenton
 
PDF
Fabric - a server management tool from Instagram
Jay Ren
 
PDF
Eclipse SCADA Release 0.1.0
dentrassi1
 
PDF
HOW TO DRONE.IO IN CI/CD WORLD
Aleksandr Maklakov
 
PPTX
Configuration primer
feanil
 
PDF
Cloud Foundry Meetup Tokyo #1 Route service
Gwenn Etourneau
 
PDF
Gotchas using Terraform in a secure delivery pipeline
Anton Babenko
 
[Kotlin Serverless 工作坊] 單元 4 - 實作 RSS Aggregator
Shengyou Fan
 
Resque
erichsen
 
Introduction to Concourse CI #渋谷Java
Toshiaki Maki
 
EC2 Container Service
WhiteHedge Technologies Inc.
 
Managing Eclipse Preferences for Teams (EclipseCon 2011)
Netcetera
 
IPython: The awesome python shell
Python Ireland
 
Migration Station at SAS - DevOps for Fusion with Version Control and Continu...
Lucidworks
 
Object Studio 8.2: News Update
ESUG
 
Install Concourse CI with BOSH
Toshiaki Maki
 
Continuous Integration with Cloud Foundry Concourse and Docker on OpenPOWER
Indrajit Poddar
 
Virtualize and automate your development environment for fun and profit
Andreas Heim
 
Terraform Concepts
Saiyam Pathak
 
Squeezing Machine Learning into Serverless for Image Recognition - AWS Meetup...
Chris Shenton
 
Fabric - a server management tool from Instagram
Jay Ren
 
Eclipse SCADA Release 0.1.0
dentrassi1
 
HOW TO DRONE.IO IN CI/CD WORLD
Aleksandr Maklakov
 
Configuration primer
feanil
 
Cloud Foundry Meetup Tokyo #1 Route service
Gwenn Etourneau
 
Gotchas using Terraform in a secure delivery pipeline
Anton Babenko
 

Similar to Reusable patterns for scalable APIs running on Docker @ Java2Days (20)

PDF
Design Patterns for Docker Applications
Nikolay Stoitsev
 
PPTX
Docker Enterprise Workshop - Intro
Patrick Chanezon
 
PDF
Introduction to Containers
Dharmit Shah
 
PPTX
Microservices Architecture and Containers.
imjacobclark
 
PDF
Introduction to Docker
Aditya Konarde
 
PPTX
Containerization
Suryadeep Chatterjee
 
PPTX
Cont0519
Samuel Dratwa
 
PPTX
Docker based Architecture by Denys Serdiuk
Lohika_Odessa_TechTalks
 
PPTX
State of the Container Ecosystem
Vinay Rao
 
PDF
Containers, microservices and serverless for realists
Karthik Gaekwad
 
PPTX
Microservices and containers for the unitiated
Kevin Lee
 
PDF
Docker bdxio
Nicolas De Loof
 
PDF
Rackspace::Solve NYC - The Future of Applications with Ken Cochrane, Engineer...
Rackspace
 
PPTX
Docker & aPaaS: Enterprise Innovation and Trends for 2015
WaveMaker, Inc.
 
PPTX
The challenge of application distribution - Introduction to Docker (2014 dec ...
Sébastien Portebois
 
PDF
Containers: from development to production at DevNation 2015
Jérôme Petazzoni
 
PDF
Microservices , Docker , CI/CD , Kubernetes Seminar - Sri Lanka
Mario Ishara Fernando
 
PPTX
Docker-N-Beyond
santosh007
 
PDF
Containers and microservices for realists
Karthik Gaekwad
 
PDF
Containers and Microservices for Realists
Oracle Developers
 
Design Patterns for Docker Applications
Nikolay Stoitsev
 
Docker Enterprise Workshop - Intro
Patrick Chanezon
 
Introduction to Containers
Dharmit Shah
 
Microservices Architecture and Containers.
imjacobclark
 
Introduction to Docker
Aditya Konarde
 
Containerization
Suryadeep Chatterjee
 
Cont0519
Samuel Dratwa
 
Docker based Architecture by Denys Serdiuk
Lohika_Odessa_TechTalks
 
State of the Container Ecosystem
Vinay Rao
 
Containers, microservices and serverless for realists
Karthik Gaekwad
 
Microservices and containers for the unitiated
Kevin Lee
 
Docker bdxio
Nicolas De Loof
 
Rackspace::Solve NYC - The Future of Applications with Ken Cochrane, Engineer...
Rackspace
 
Docker & aPaaS: Enterprise Innovation and Trends for 2015
WaveMaker, Inc.
 
The challenge of application distribution - Introduction to Docker (2014 dec ...
Sébastien Portebois
 
Containers: from development to production at DevNation 2015
Jérôme Petazzoni
 
Microservices , Docker , CI/CD , Kubernetes Seminar - Sri Lanka
Mario Ishara Fernando
 
Docker-N-Beyond
santosh007
 
Containers and microservices for realists
Karthik Gaekwad
 
Containers and Microservices for Realists
Oracle Developers
 
Ad

More from Nikolay Stoitsev (20)

PDF
Building vs Buying Software
Nikolay Stoitsev
 
PDF
How and why to manage your manager
Nikolay Stoitsev
 
PDF
From programming to management
Nikolay Stoitsev
 
PDF
A practical introduction to observability
Nikolay Stoitsev
 
PDF
Building a modern SaaS in 2020
Nikolay Stoitsev
 
PDF
Everything You Need to Know About NewSQL in 2020
Nikolay Stoitsev
 
PDF
3 lessons on effective communication for engineers
Nikolay Stoitsev
 
PDF
ISTA 2019 - Migrating data-intensive microservices from Python to Go
Nikolay Stoitsev
 
PDF
Evolving big microservice architectures
Nikolay Stoitsev
 
PDF
The career path of software engineers and how to navigate it
Nikolay Stoitsev
 
PDF
Migrating a data intensive microservice from Python to Go
Nikolay Stoitsev
 
PDF
Using Apache Kafka from Go
Nikolay Stoitsev
 
PDF
Large scale stream processing with Apache Flink
Nikolay Stoitsev
 
PDF
Scaling big with Apache Kafka
Nikolay Stoitsev
 
PDF
NewSQL: what, when and how
Nikolay Stoitsev
 
PDF
How to read the v8 source code?
Nikolay Stoitsev
 
PDF
Running in multiple data centers
Nikolay Stoitsev
 
PDF
Distributed tracing for big systems
Nikolay Stoitsev
 
PDF
Everyday tools and tricks for scaling Node.js
Nikolay Stoitsev
 
PDF
Node.js at Uber
Nikolay Stoitsev
 
Building vs Buying Software
Nikolay Stoitsev
 
How and why to manage your manager
Nikolay Stoitsev
 
From programming to management
Nikolay Stoitsev
 
A practical introduction to observability
Nikolay Stoitsev
 
Building a modern SaaS in 2020
Nikolay Stoitsev
 
Everything You Need to Know About NewSQL in 2020
Nikolay Stoitsev
 
3 lessons on effective communication for engineers
Nikolay Stoitsev
 
ISTA 2019 - Migrating data-intensive microservices from Python to Go
Nikolay Stoitsev
 
Evolving big microservice architectures
Nikolay Stoitsev
 
The career path of software engineers and how to navigate it
Nikolay Stoitsev
 
Migrating a data intensive microservice from Python to Go
Nikolay Stoitsev
 
Using Apache Kafka from Go
Nikolay Stoitsev
 
Large scale stream processing with Apache Flink
Nikolay Stoitsev
 
Scaling big with Apache Kafka
Nikolay Stoitsev
 
NewSQL: what, when and how
Nikolay Stoitsev
 
How to read the v8 source code?
Nikolay Stoitsev
 
Running in multiple data centers
Nikolay Stoitsev
 
Distributed tracing for big systems
Nikolay Stoitsev
 
Everyday tools and tricks for scaling Node.js
Nikolay Stoitsev
 
Node.js at Uber
Nikolay Stoitsev
 
Ad

Recently uploaded (20)

PPTX
Equipment Management Software BIS Safety UK.pptx
BIS Safety Software
 
PPTX
Change Common Properties in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PDF
유니티에서 Burst Compiler+ThreadedJobs+SIMD 적용사례
Seongdae Kim
 
PDF
Powering GIS with FME and VertiGIS - Peak of Data & AI 2025
Safe Software
 
PDF
Thread In Android-Mastering Concurrency for Responsive Apps.pdf
Nabin Dhakal
 
PPTX
Agentic Automation Journey Session 1/5: Context Grounding and Autopilot for E...
klpathrudu
 
PDF
HiHelloHR – Simplify HR Operations for Modern Workplaces
HiHelloHR
 
PDF
The 5 Reasons for IT Maintenance - Arna Softech
Arna Softech
 
PDF
SciPy 2025 - Packaging a Scientific Python Project
Henry Schreiner
 
PPTX
Agentic Automation Journey Series Day 2 – Prompt Engineering for UiPath Agents
klpathrudu
 
PPTX
Home Care Tools: Benefits, features and more
Third Rock Techkno
 
PPTX
Migrating Millions of Users with Debezium, Apache Kafka, and an Acyclic Synch...
MD Sayem Ahmed
 
PDF
Build It, Buy It, or Already Got It? Make Smarter Martech Decisions
bbedford2
 
PPTX
Why Businesses Are Switching to Open Source Alternatives to Crystal Reports.pptx
Varsha Nayak
 
PDF
Linux Certificate of Completion - LabEx Certificate
VICTOR MAESTRE RAMIREZ
 
PDF
Odoo CRM vs Zoho CRM: Honest Comparison 2025
Odiware Technologies Private Limited
 
PPTX
ChiSquare Procedure in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PPTX
Java Native Memory Leaks: The Hidden Villain Behind JVM Performance Issues
Tier1 app
 
PDF
Online Queue Management System for Public Service Offices in Nepal [Focused i...
Rishab Acharya
 
PPTX
Hardware(Central Processing Unit ) CU and ALU
RizwanaKalsoom2
 
Equipment Management Software BIS Safety UK.pptx
BIS Safety Software
 
Change Common Properties in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
유니티에서 Burst Compiler+ThreadedJobs+SIMD 적용사례
Seongdae Kim
 
Powering GIS with FME and VertiGIS - Peak of Data & AI 2025
Safe Software
 
Thread In Android-Mastering Concurrency for Responsive Apps.pdf
Nabin Dhakal
 
Agentic Automation Journey Session 1/5: Context Grounding and Autopilot for E...
klpathrudu
 
HiHelloHR – Simplify HR Operations for Modern Workplaces
HiHelloHR
 
The 5 Reasons for IT Maintenance - Arna Softech
Arna Softech
 
SciPy 2025 - Packaging a Scientific Python Project
Henry Schreiner
 
Agentic Automation Journey Series Day 2 – Prompt Engineering for UiPath Agents
klpathrudu
 
Home Care Tools: Benefits, features and more
Third Rock Techkno
 
Migrating Millions of Users with Debezium, Apache Kafka, and an Acyclic Synch...
MD Sayem Ahmed
 
Build It, Buy It, or Already Got It? Make Smarter Martech Decisions
bbedford2
 
Why Businesses Are Switching to Open Source Alternatives to Crystal Reports.pptx
Varsha Nayak
 
Linux Certificate of Completion - LabEx Certificate
VICTOR MAESTRE RAMIREZ
 
Odoo CRM vs Zoho CRM: Honest Comparison 2025
Odiware Technologies Private Limited
 
ChiSquare Procedure in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
Java Native Memory Leaks: The Hidden Villain Behind JVM Performance Issues
Tier1 app
 
Online Queue Management System for Public Service Offices in Nepal [Focused i...
Rishab Acharya
 
Hardware(Central Processing Unit ) CU and ALU
RizwanaKalsoom2
 

Reusable patterns for scalable APIs running on Docker @ Java2Days