Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Decomposing a Monolith
Engineering and Operational strategies we have
gleaned from our experience at Endurance
About Endurance
The business behind
small business
Web Hosting &
Builders
Domains
Email Marketing
And More..
Our APAC Story
Monolithic Orderbox platform
~$70 million revenue annually
~10 million active domains across 600+ TLDs
~120...
Agenda
Need for micro-services
Common Mistakes
Managing the transition
Scaling, Redundancy and Deployments
Need for micro-services
Disrupt or be disrupted
Problems with Orderbox 1.0
Limited by vertical scaling of
resources
~400 DB connections
~6GB JVM Heap
Difficult to scale sp...
Micro-services to the rescue
Version, Release and
Scale individual services
Polyglot programming
Greater velocity
Postgres...
Common Mistakes
Sharing Database
Monolith
platform
Micro-service
Postgres
Maintenance of DB will
impact multiple services
Still a monolith...
Duplication of Core
capabilities
Monolith platform with
Core API
Wholesale Orchestration Layer
Rate-Limiting Authenticatio...
Managing the transition
Micro-services won’t happen overnight
Discover your first micro-
service
Apply ice-cream
scoop strategy
Prioritise
Business-critical
functions
Evaluate efforts
v...
Modular Monolith
HAProxy
Rate-Limiting
Authentication
User
Management
Payments
Postgres
Billing Order
Management
Products
...
Choose the right datastore
Polyglot Persistence
CQRS pattern
Orderbox 1.0
Monolith
PostgreSQL Cassandra
Domain Lookup
Serv...
Migrating traffic to the
micro-service
Orderbox 1.0
Services
HAProxy
Rate-Limiting
Authentication
Domain Lookup
Service
HAP...
Monitoring the micro-service
Pro-actively
monitor
Availability
Correctness
Performance
Improved scale with the first
micro-service
Centralised Authentication
Multi-factor Auth
and Social Login
OAuth/OpenID
Connect with JWT
Inter-microservice
communicati...
Scaling, Redundancy and
Deployments
Issues with Bare Metal
Deployments
Considerable time spent on
Installing application
dependencies and testing
Upgrading Te...
Containers & Orchestration
Faster tech stack
upgrades
Similar Staging and
Prod environments
Optimised infra
utilisation
Au...
Target state of Orderbox 2.0
Kong
Client with JWT
1. Rate-Limiting
Keycloak
2. Authentication
4. Route
requests
Orderbox 1...
Takeaways
Analyse and figure out if there is a need for micro-services;
Identify your first micro-service by applying ice-cr...
Decomposing a Monolith: Engineering and Operational strategies
Upcoming SlideShare
Loading in …5
×

of

Decomposing a Monolith: Engineering and Operational strategies Slide 1 Decomposing a Monolith: Engineering and Operational strategies Slide 2 Decomposing a Monolith: Engineering and Operational strategies Slide 3 Decomposing a Monolith: Engineering and Operational strategies Slide 4 Decomposing a Monolith: Engineering and Operational strategies Slide 5 Decomposing a Monolith: Engineering and Operational strategies Slide 6 Decomposing a Monolith: Engineering and Operational strategies Slide 7 Decomposing a Monolith: Engineering and Operational strategies Slide 8 Decomposing a Monolith: Engineering and Operational strategies Slide 9 Decomposing a Monolith: Engineering and Operational strategies Slide 10 Decomposing a Monolith: Engineering and Operational strategies Slide 11 Decomposing a Monolith: Engineering and Operational strategies Slide 12 Decomposing a Monolith: Engineering and Operational strategies Slide 13 Decomposing a Monolith: Engineering and Operational strategies Slide 14 Decomposing a Monolith: Engineering and Operational strategies Slide 15 Decomposing a Monolith: Engineering and Operational strategies Slide 16 Decomposing a Monolith: Engineering and Operational strategies Slide 17 Decomposing a Monolith: Engineering and Operational strategies Slide 18 Decomposing a Monolith: Engineering and Operational strategies Slide 19 Decomposing a Monolith: Engineering and Operational strategies Slide 20 Decomposing a Monolith: Engineering and Operational strategies Slide 21 Decomposing a Monolith: Engineering and Operational strategies Slide 22 Decomposing a Monolith: Engineering and Operational strategies Slide 23 Decomposing a Monolith: Engineering and Operational strategies Slide 24
Upcoming SlideShare
What to Upload to SlideShare
Next
Download to read offline and view in fullscreen.

Download to read offline

Decomposing a Monolith: Engineering and Operational strategies

Download to read offline

Decomposing a Monolith: Engineering and Operational strategies

Related Books

Free with a 30 day trial from Scribd

See all
  • Be the first to like this

Decomposing a Monolith: Engineering and Operational strategies

  1. 1. Decomposing a Monolith Engineering and Operational strategies we have gleaned from our experience at Endurance
  2. 2. About Endurance The business behind small business Web Hosting & Builders Domains Email Marketing And More..
  3. 3. Our APAC Story Monolithic Orderbox platform ~$70 million revenue annually ~10 million active domains across 600+ TLDs ~1200 APIs and ~20k requests per minute ~500 GB live and ~1.5 TB archived Transactional data
  4. 4. Agenda Need for micro-services Common Mistakes Managing the transition Scaling, Redundancy and Deployments
  5. 5. Need for micro-services Disrupt or be disrupted
  6. 6. Problems with Orderbox 1.0 Limited by vertical scaling of resources ~400 DB connections ~6GB JVM Heap Difficult to scale specific functionality Domain Lookup/Registration Payments/Billing HAProxy User Management, Products Catalog, Products Management, Order Management, Payment and Billing Monolith Rate-Limiting Authentication Postgres
  7. 7. Micro-services to the rescue Version, Release and Scale individual services Polyglot programming Greater velocity Postgres Order Management (Java) MongoDB Products Management (Python) MySQL Billing (NodeJS)
  8. 8. Common Mistakes
  9. 9. Sharing Database Monolith platform Micro-service Postgres Maintenance of DB will impact multiple services Still a monolith with additional steps
  10. 10. Duplication of Core capabilities Monolith platform with Core API Wholesale Orchestration Layer Rate-Limiting Authentication Rate-Limiting Authentication CachingTransformations Retail Orchestration Layer Rate-Limiting Authentication CachingTransformations
  11. 11. Managing the transition Micro-services won’t happen overnight
  12. 12. Discover your first micro- service Apply ice-cream scoop strategy Prioritise Business-critical functions Evaluate efforts vs benefits
  13. 13. Modular Monolith HAProxy Rate-Limiting Authentication User Management Payments Postgres Billing Order Management Products Management Products Catalog Legacy interfaces/classes and frameworks DB, JMS, Net utilsMaven modules Facade pattern
  14. 14. Choose the right datastore Polyglot Persistence CQRS pattern Orderbox 1.0 Monolith PostgreSQL Cassandra Domain Lookup Service
  15. 15. Migrating traffic to the micro-service Orderbox 1.0 Services HAProxy Rate-Limiting Authentication Domain Lookup Service HAProxy Rate-Limiting Authentication PostgreSQL Cassandra 2. Traffic from new end-point 1. Incremental traffic from old end-point
  16. 16. Monitoring the micro-service Pro-actively monitor Availability Correctness Performance
  17. 17. Improved scale with the first micro-service
  18. 18. Centralised Authentication Multi-factor Auth and Social Login OAuth/OpenID Connect with JWT Inter-microservice communication Authentication Service Monolith platform Client 1. Request JWT 2. Pass JWT Micro-service1
  19. 19. Scaling, Redundancy and Deployments
  20. 20. Issues with Bare Metal Deployments Considerable time spent on Installing application dependencies and testing Upgrading Tech stack Under utilisation of resources 6 GB out of 24 GB RAM for JVM < 20% CPU utilisation across all web nodes Bare Metal Server Application (RESTful API) Application Dependencies (Tomcat, JDK/JRE) Operating System (CentOS)
  21. 21. Containers & Orchestration Faster tech stack upgrades Similar Staging and Prod environments Optimised infra utilisation Auto-scale, better CI/CD, .. Pod 1 Kube-proxyKubelet Pod 2 Pod N Node 1 Pod 1 Kube-proxyKubelet Pod 2 Pod N Node 2 DockerDocker Kubernetes Master Node N
  22. 22. Target state of Orderbox 2.0 Kong Client with JWT 1. Rate-Limiting Keycloak 2. Authentication 4. Route requests Orderbox 1.0 Services Domain Lookup service Micro-service2 3. Caching In-Memory Datastore Redis
  23. 23. Takeaways Analyse and figure out if there is a need for micro-services; Identify your first micro-service by applying ice-cream scoop strategy Containerise the application for identical staging and prod environments and faster tech stack upgrades Use Kubernetes for optimised infra utilisation, auto-scaling, better CI/CD, .. Set up core capabilities like Authentication, Caching, Rate Limiting through API Gateway to eliminate redundant efforts

Decomposing a Monolith: Engineering and Operational strategies

Views

Total views

101

On Slideshare

0

From embeds

0

Number of embeds

0

Actions

Downloads

3

Shares

0

Comments

0

Likes

0

×