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
14. Choose the right datastore
Polyglot Persistence
CQRS pattern
Orderbox 1.0
Monolith
PostgreSQL Cassandra
Domain Lookup
Service
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
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. 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. 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. 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