SlideShare a Scribd company logo
1 of 25
Download to read offline
Bergas Bimo Branarto
Arlinda Juwitasari
Rama Notowidigdo
SCALING GOJEK
WHAT MAKES US WHO WE ARE
SPEED INNOVATION SOCIAL
IMPACT
OUR VALUES
Product Releases
2011: go-ride, go-send, go-shop (all phone order)
January 2015: app release with go-ride, go-send, go-shop
April 2015: go-food
September 2015: go-mart
Okt 2015: go-box, go-massage, go-clean, go-glam, go-busway
Desember 2015: go-tix
Januari 2016: go-kilat (e-commerce partnership, not on app)
April 2016: go-car
11,000,000 downloads in 15 months
0
3000000
6000000
9000000
12000000
January February March April May June July August MARCH
cumulative total app downloads
JABODETABEK
123.500 drivers
BANDUNG
37,000 drivers
BALI
11,200 drivers
surabaya
23,000 drivers
MAKASSAR
7,100 drivers
ARE WE?
WHERE
PALEMBANG
510 drivers
MEDAN
440 drivers
BALIKPAPAN
11,200 drivers
YOGYAKARTA
690 drivers
SEMARANG
370 drivers
The Growth of Driver Gojek
400
800
1,200
1,600
10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7
The Growth of Customer
100
200
300
400
500
1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6
The growth of Order
350
700
1,050
1,400
1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6
number of order requestmultipliers
CONWAY’S LAW
Any Organization that designs a system (defined
broadly) will produce a design whose structure is a copy
of the organization’s communication structure
SOCIAL
Monolithic
SOCIAL
Backend
Driver
Customer
Internal User
Issue :
• Bugs
• Unexpected Load growth
• Long process time which resulted with server crash during peak
Challenge :
- Small tech team (5 devs: for mobile apps (cust&driver), portals (3 different portals),
backend) vs 4 (or more) divisions
- Keep server alive in unexpected high loads
- So many features (and products) need to be released to keep business running
Transform 1
backend - 1
Disk
backend - n
backend - 2proxy
Transform 1
Plus :
At least we’re still alive Minus:
Long process time
DB bottleneck
Transform 2
Disk
proxy
service C
core backend
core backend
service C
service B
core backend
core backend
service B
service A
core backend
service A
service A
redis
queue
Transform 2
Plus :
- Splitting functionalities to services
makes code more efficient (at least
for new services)
- Queue enables core backend to
push and forget for one way
communication
- Process time reduced
- Enable throttling in queue workers
Minus:
• Process time still long enough for
incoming traffic since it only split
non-transactional functionalities
• DB bottleneck
Transform 3 Disk
proxy
service C
core backend
core backend
service C
redis queue
service B
core backend
core backend
service B
Disk
service A
core backend
service A
service A
Disk
rest api
service D
core backend
core backend
service D
Disk
rest api
redis cache
service E
core backend
core backend
service E
Disk
Transform 3
Plus :
- Split some transaction processes
to another services: load splitted,
process time reduced
- Redis cache: reduce db bottleneck
- Each service owns their own db:
reduce db bottleneck
Minus:
• API calls in a flow of more than 2
services cause cascading failures
Transform
4 Disk
proxy
service C
core backend
core backend
service C
kafka queue
service B
core backend
core backend
service B
Disk
service A
core backend
service A
service A
Diskservice D
core backend
core backend
service D
Disk
inline redis
cache
service E
core backend
core backend
service E
Disk
service F
core backend
service A
service F
Disk
grpc (http/2)
Transform 4
Plus :
- Asynchronous communication
between services via kafka: reduce
api calls between services, reduces
cascade failures
- Shared redis (inline) cache: reduce
db queries, reduce api calls
between services, reduce cascade
failures
- grpc (uses http/2) should reduce
network time
Minus:
?
Stack :
• Java: Spring MVC and Spark
• Go
• Jruby on Rails
• AngularJS
• MySQL
• PostgreSQL
• MongoDB
• Elasticsearch
• Redis
• Kafka
• RabbitMQ
Response Time vs Throughput
25,000
50,000
75,000
100,000
0
400
800
1200
1600
4 5 6 7 8 9 10 11 12 1 2 3 4 5 6
response time (ms) throughput (rpm)
Order Growth vs Response Time
0
400
800
1,200
1,600
0
350
700
1,050
1,400
order response time (ms)
Order Growth vs Throughput
0
25,000
50,000
75,000
100,000
0
350
700
1,050
1,400
order throughput (rpm)
TRUE HAPPINESS IS THE JOURNEY, NOT THE DESTINATION
THANK YOU

More Related Content

What's hot

API Maturity Model (Webcast with Accenture)
API Maturity Model (Webcast with Accenture)API Maturity Model (Webcast with Accenture)
API Maturity Model (Webcast with Accenture)
Apigee | Google Cloud
 
Introduction to Mobile Application Development
Introduction to Mobile Application DevelopmentIntroduction to Mobile Application Development
Introduction to Mobile Application Development
shikishiji
 

What's hot (20)

Open Banking APIs on AWS
Open Banking APIs on AWSOpen Banking APIs on AWS
Open Banking APIs on AWS
 
Presentation on mobile app testing
Presentation on mobile app testingPresentation on mobile app testing
Presentation on mobile app testing
 
eBaoTech - InsurTech Innovation Award 2022
eBaoTech - InsurTech Innovation Award 2022eBaoTech - InsurTech Innovation Award 2022
eBaoTech - InsurTech Innovation Award 2022
 
INTERFACE, by apidays - The UK Open Banking Story
INTERFACE, by apidays -  The UK Open Banking StoryINTERFACE, by apidays -  The UK Open Banking Story
INTERFACE, by apidays - The UK Open Banking Story
 
Definitive Guide to API Management
Definitive Guide to API ManagementDefinitive Guide to API Management
Definitive Guide to API Management
 
API Frenzy: API Strategy 101
API Frenzy: API Strategy 101API Frenzy: API Strategy 101
API Frenzy: API Strategy 101
 
API Maturity Model (Webcast with Accenture)
API Maturity Model (Webcast with Accenture)API Maturity Model (Webcast with Accenture)
API Maturity Model (Webcast with Accenture)
 
Introduction to Mobile Application Development
Introduction to Mobile Application DevelopmentIntroduction to Mobile Application Development
Introduction to Mobile Application Development
 
Introduction to appDynamics
Introduction to appDynamics Introduction to appDynamics
Introduction to appDynamics
 
Global Open Banking Landscape
Global Open Banking LandscapeGlobal Open Banking Landscape
Global Open Banking Landscape
 
Design Thinking for Digital Banking
Design Thinking for Digital BankingDesign Thinking for Digital Banking
Design Thinking for Digital Banking
 
Introduction to Software Products Industry & iSPIRT
Introduction to Software Products Industry & iSPIRT Introduction to Software Products Industry & iSPIRT
Introduction to Software Products Industry & iSPIRT
 
General test cases for mobile app
General test cases for mobile appGeneral test cases for mobile app
General test cases for mobile app
 
Building APIs with Apigee Edge and Microsoft Azure
Building APIs with Apigee Edge and Microsoft AzureBuilding APIs with Apigee Edge and Microsoft Azure
Building APIs with Apigee Edge and Microsoft Azure
 
Apigee Products Overview
Apigee Products OverviewApigee Products Overview
Apigee Products Overview
 
KPIs for APIs (and how API Calls are the new Web Hits, and you may be measuri...
KPIs for APIs (and how API Calls are the new Web Hits, and you may be measuri...KPIs for APIs (and how API Calls are the new Web Hits, and you may be measuri...
KPIs for APIs (and how API Calls are the new Web Hits, and you may be measuri...
 
Fitness Star - An Android app marketing plan
Fitness Star - An Android app marketing planFitness Star - An Android app marketing plan
Fitness Star - An Android app marketing plan
 
AirBnB Pitch Deck
AirBnB Pitch Deck AirBnB Pitch Deck
AirBnB Pitch Deck
 
APIsecure 2023 - Security Considerations for API Gateway Aggregation, Yoshiyu...
APIsecure 2023 - Security Considerations for API Gateway Aggregation, Yoshiyu...APIsecure 2023 - Security Considerations for API Gateway Aggregation, Yoshiyu...
APIsecure 2023 - Security Considerations for API Gateway Aggregation, Yoshiyu...
 
Coinbase presentation by Edwin
Coinbase presentation by EdwinCoinbase presentation by Edwin
Coinbase presentation by Edwin
 

Viewers also liked

Cassandra on Mesos Across Multiple Datacenters at Uber (Abhishek Verma) | C* ...
Cassandra on Mesos Across Multiple Datacenters at Uber (Abhishek Verma) | C* ...Cassandra on Mesos Across Multiple Datacenters at Uber (Abhishek Verma) | C* ...
Cassandra on Mesos Across Multiple Datacenters at Uber (Abhishek Verma) | C* ...
DataStax
 

Viewers also liked (10)

Building Real-Time Applications with Android and WebSockets
Building Real-Time Applications with Android and WebSocketsBuilding Real-Time Applications with Android and WebSockets
Building Real-Time Applications with Android and WebSockets
 
Uber's new mobile architecture
Uber's new mobile architectureUber's new mobile architecture
Uber's new mobile architecture
 
Open-source Infrastructure at Lyft
Open-source Infrastructure at LyftOpen-source Infrastructure at Lyft
Open-source Infrastructure at Lyft
 
Taxi Startup Presentation for Taxi Company
Taxi Startup Presentation for Taxi CompanyTaxi Startup Presentation for Taxi Company
Taxi Startup Presentation for Taxi Company
 
"Building Data Foundations and Analytics Tools Across The Product" by Crystal...
"Building Data Foundations and Analytics Tools Across The Product" by Crystal..."Building Data Foundations and Analytics Tools Across The Product" by Crystal...
"Building Data Foundations and Analytics Tools Across The Product" by Crystal...
 
Just Add Reality: Managing Logistics with the Uber Developer Platform
Just Add Reality: Managing Logistics with the Uber Developer PlatformJust Add Reality: Managing Logistics with the Uber Developer Platform
Just Add Reality: Managing Logistics with the Uber Developer Platform
 
Kafka + Uber- The World’s Realtime Transit Infrastructure, Aaron Schildkrout
Kafka + Uber- The World’s Realtime Transit Infrastructure, Aaron SchildkroutKafka + Uber- The World’s Realtime Transit Infrastructure, Aaron Schildkrout
Kafka + Uber- The World’s Realtime Transit Infrastructure, Aaron Schildkrout
 
Geospatial Indexing at Scale: The 15 Million QPS Redis Architecture Powering ...
Geospatial Indexing at Scale: The 15 Million QPS Redis Architecture Powering ...Geospatial Indexing at Scale: The 15 Million QPS Redis Architecture Powering ...
Geospatial Indexing at Scale: The 15 Million QPS Redis Architecture Powering ...
 
Cassandra on Mesos Across Multiple Datacenters at Uber (Abhishek Verma) | C* ...
Cassandra on Mesos Across Multiple Datacenters at Uber (Abhishek Verma) | C* ...Cassandra on Mesos Across Multiple Datacenters at Uber (Abhishek Verma) | C* ...
Cassandra on Mesos Across Multiple Datacenters at Uber (Abhishek Verma) | C* ...
 
Gojek Happiness Story
Gojek Happiness StoryGojek Happiness Story
Gojek Happiness Story
 

Similar to 31 - IDNOG03 - Bergas Bimo Branarto (GOJEK) - Scaling Gojek

Paypal Platform: Evolving for simplicity and reach - IBM Silicon Valley Lab
Paypal Platform: Evolving for simplicity and reach - IBM Silicon Valley LabPaypal Platform: Evolving for simplicity and reach - IBM Silicon Valley Lab
Paypal Platform: Evolving for simplicity and reach - IBM Silicon Valley Lab
Deepak Nadig
 
PayPal Platform - Evolving for Simplicity and Scale: API Strategy & Practice ...
PayPal Platform - Evolving for Simplicity and Scale: API Strategy & Practice ...PayPal Platform - Evolving for Simplicity and Scale: API Strategy & Practice ...
PayPal Platform - Evolving for Simplicity and Scale: API Strategy & Practice ...
Deepak Nadig
 
Compuware ASEAN APM User Conference 2013 - Understanding User Performance of SAP
Compuware ASEAN APM User Conference 2013 - Understanding User Performance of SAPCompuware ASEAN APM User Conference 2013 - Understanding User Performance of SAP
Compuware ASEAN APM User Conference 2013 - Understanding User Performance of SAP
Compuware ASEAN
 

Similar to 31 - IDNOG03 - Bergas Bimo Branarto (GOJEK) - Scaling Gojek (20)

Nginx Conference 2016 - Learnings and State of the Industry
Nginx Conference 2016 - Learnings and State of the IndustryNginx Conference 2016 - Learnings and State of the Industry
Nginx Conference 2016 - Learnings and State of the Industry
 
The good, the bad, the ugly side of step functions
The good, the bad, the ugly side of step functionsThe good, the bad, the ugly side of step functions
The good, the bad, the ugly side of step functions
 
Serverless in production, an experience report (London DevOps)
Serverless in production, an experience report (London DevOps)Serverless in production, an experience report (London DevOps)
Serverless in production, an experience report (London DevOps)
 
Migrating to Microservices
Migrating to MicroservicesMigrating to Microservices
Migrating to Microservices
 
API Management in Digital Transformation
API Management in Digital TransformationAPI Management in Digital Transformation
API Management in Digital Transformation
 
Dubbo and Weidian's practice on micro-service architecture
Dubbo and Weidian's practice on micro-service architectureDubbo and Weidian's practice on micro-service architecture
Dubbo and Weidian's practice on micro-service architecture
 
Paypal Platform: Evolving for simplicity and reach - IBM Silicon Valley Lab
Paypal Platform: Evolving for simplicity and reach - IBM Silicon Valley LabPaypal Platform: Evolving for simplicity and reach - IBM Silicon Valley Lab
Paypal Platform: Evolving for simplicity and reach - IBM Silicon Valley Lab
 
Building a Modern Microservices Architecture at Gilt: The Essentials
Building a Modern Microservices Architecture at Gilt: The EssentialsBuilding a Modern Microservices Architecture at Gilt: The Essentials
Building a Modern Microservices Architecture at Gilt: The Essentials
 
SAP TechEd 2016 Barcelona TEC123 Session Presentation
SAP TechEd 2016 Barcelona TEC123 Session PresentationSAP TechEd 2016 Barcelona TEC123 Session Presentation
SAP TechEd 2016 Barcelona TEC123 Session Presentation
 
APIfying an ERP - ongoing saga
APIfying an ERP - ongoing sagaAPIfying an ERP - ongoing saga
APIfying an ERP - ongoing saga
 
PayPal Platform - Evolving for Simplicity and Scale: API Strategy & Practice ...
PayPal Platform - Evolving for Simplicity and Scale: API Strategy & Practice ...PayPal Platform - Evolving for Simplicity and Scale: API Strategy & Practice ...
PayPal Platform - Evolving for Simplicity and Scale: API Strategy & Practice ...
 
Scaling Gilt: from Monolithic Ruby Application to Distributed Scala Micro-Ser...
Scaling Gilt: from Monolithic Ruby Application to Distributed Scala Micro-Ser...Scaling Gilt: from Monolithic Ruby Application to Distributed Scala Micro-Ser...
Scaling Gilt: from Monolithic Ruby Application to Distributed Scala Micro-Ser...
 
Scaling Gilt: from monolith ruby app to micro service scala service architecture
Scaling Gilt: from monolith ruby app to micro service scala service architectureScaling Gilt: from monolith ruby app to micro service scala service architecture
Scaling Gilt: from monolith ruby app to micro service scala service architecture
 
Gilt from monolith ruby app to microservice scala service architecture
Gilt from monolith ruby app to microservice scala service architectureGilt from monolith ruby app to microservice scala service architecture
Gilt from monolith ruby app to microservice scala service architecture
 
Traveloka's journey to no ops streaming analytics
Traveloka's journey to no ops streaming analyticsTraveloka's journey to no ops streaming analytics
Traveloka's journey to no ops streaming analytics
 
Compuware ASEAN APM User Conference 2013 - Understanding User Performance of SAP
Compuware ASEAN APM User Conference 2013 - Understanding User Performance of SAPCompuware ASEAN APM User Conference 2013 - Understanding User Performance of SAP
Compuware ASEAN APM User Conference 2013 - Understanding User Performance of SAP
 
Comment créer, optimiser et monétiser vos contenus ?
Comment créer, optimiser et monétiser vos contenus ?Comment créer, optimiser et monétiser vos contenus ?
Comment créer, optimiser et monétiser vos contenus ?
 
CoreToEdge Company Presentation
CoreToEdge Company PresentationCoreToEdge Company Presentation
CoreToEdge Company Presentation
 
Alan Morgans - Head of Digital, DVSA
Alan Morgans - Head of Digital, DVSAAlan Morgans - Head of Digital, DVSA
Alan Morgans - Head of Digital, DVSA
 
Integration with SAP using Mule ESB
Integration with SAP using Mule ESBIntegration with SAP using Mule ESB
Integration with SAP using Mule ESB
 

More from Indonesia Network Operators Group

More from Indonesia Network Operators Group (20)

LT04 IDNOG04 - Affan Basalamah (ITB) - Documenting your network
LT04 IDNOG04 - Affan Basalamah (ITB) - Documenting your networkLT04 IDNOG04 - Affan Basalamah (ITB) - Documenting your network
LT04 IDNOG04 - Affan Basalamah (ITB) - Documenting your network
 
LT03 IDNOG04 - Dewangga - IPv6 Implementation for End Users
LT03 IDNOG04 - Dewangga - IPv6 Implementation for End UsersLT03 IDNOG04 - Dewangga - IPv6 Implementation for End Users
LT03 IDNOG04 - Dewangga - IPv6 Implementation for End Users
 
LT02 IDNOG04 - Charles Lim (Indonesia Honeynet Project) - Using Honeypot to d...
LT02 IDNOG04 - Charles Lim (Indonesia Honeynet Project) - Using Honeypot to d...LT02 IDNOG04 - Charles Lim (Indonesia Honeynet Project) - Using Honeypot to d...
LT02 IDNOG04 - Charles Lim (Indonesia Honeynet Project) - Using Honeypot to d...
 
10 - IDNOG04 - Enrico Hugo (Indonesia Honeynet Project) - The Rise of DGA Mal...
10 - IDNOG04 - Enrico Hugo (Indonesia Honeynet Project) - The Rise of DGA Mal...10 - IDNOG04 - Enrico Hugo (Indonesia Honeynet Project) - The Rise of DGA Mal...
10 - IDNOG04 - Enrico Hugo (Indonesia Honeynet Project) - The Rise of DGA Mal...
 
09 - IDNOG04 - Low Kok Seng (Sigfox) - Make Mass IOT Come Alive!
09 - IDNOG04 - Low Kok Seng (Sigfox) - Make Mass IOT Come Alive! 09 - IDNOG04 - Low Kok Seng (Sigfox) - Make Mass IOT Come Alive!
09 - IDNOG04 - Low Kok Seng (Sigfox) - Make Mass IOT Come Alive!
 
08 - IDNOG04 - Anton Purba (Amandata) - On-Premise, Cloud or Hybrid? DDoS Mit...
08 - IDNOG04 - Anton Purba (Amandata) - On-Premise, Cloud or Hybrid? DDoS Mit...08 - IDNOG04 - Anton Purba (Amandata) - On-Premise, Cloud or Hybrid? DDoS Mit...
08 - IDNOG04 - Anton Purba (Amandata) - On-Premise, Cloud or Hybrid? DDoS Mit...
 
07 - IDNOG04 - Leontinus Alpha Edison (Tokopedia) - Data Driven Innovation
07 - IDNOG04 - Leontinus Alpha Edison (Tokopedia) - Data Driven Innovation07 - IDNOG04 - Leontinus Alpha Edison (Tokopedia) - Data Driven Innovation
07 - IDNOG04 - Leontinus Alpha Edison (Tokopedia) - Data Driven Innovation
 
06 - IDNOG04 - Dion Leung (Coriant) - Emerging Trends & Real Deployments for ...
06 - IDNOG04 - Dion Leung (Coriant) - Emerging Trends & Real Deployments for ...06 - IDNOG04 - Dion Leung (Coriant) - Emerging Trends & Real Deployments for ...
06 - IDNOG04 - Dion Leung (Coriant) - Emerging Trends & Real Deployments for ...
 
05 - IDNOG04 - Bambang Gunawan (Juniper) - Segment Routing
05 - IDNOG04 - Bambang Gunawan (Juniper) - Segment Routing05 - IDNOG04 - Bambang Gunawan (Juniper) - Segment Routing
05 - IDNOG04 - Bambang Gunawan (Juniper) - Segment Routing
 
04 - IDNOG04 - Charles Chiu (Skipio) - The Latest In G Fast
04 - IDNOG04 - Charles Chiu (Skipio) - The Latest In G Fast04 - IDNOG04 - Charles Chiu (Skipio) - The Latest In G Fast
04 - IDNOG04 - Charles Chiu (Skipio) - The Latest In G Fast
 
03 - IDNOG04 - Hideyuki Sasaki (BBIX) - Introducing Internet Culture To The O...
03 - IDNOG04 - Hideyuki Sasaki (BBIX) - Introducing Internet Culture To The O...03 - IDNOG04 - Hideyuki Sasaki (BBIX) - Introducing Internet Culture To The O...
03 - IDNOG04 - Hideyuki Sasaki (BBIX) - Introducing Internet Culture To The O...
 
02 - IDNOG04 - Sheryl Hermoso (APNIC) - IPv6 Deployment at APNIC
02 - IDNOG04 - Sheryl Hermoso (APNIC) - IPv6 Deployment at APNIC02 - IDNOG04 - Sheryl Hermoso (APNIC) - IPv6 Deployment at APNIC
02 - IDNOG04 - Sheryl Hermoso (APNIC) - IPv6 Deployment at APNIC
 
10 - IDNOG03 - Parlin Marius (IDNOG) Opening Speech
10 - IDNOG03 - Parlin Marius (IDNOG) Opening Speech10 - IDNOG03 - Parlin Marius (IDNOG) Opening Speech
10 - IDNOG03 - Parlin Marius (IDNOG) Opening Speech
 
99 - IDNOG03 - Valens Riyadi (IDNOG) Closing Speech
99 - IDNOG03 - Valens Riyadi (IDNOG) Closing Speech99 - IDNOG03 - Valens Riyadi (IDNOG) Closing Speech
99 - IDNOG03 - Valens Riyadi (IDNOG) Closing Speech
 
12 - IDNOG03 - Hammam Riza (BPPT) Welcoming Speech
12 - IDNOG03 - Hammam Riza  (BPPT) Welcoming Speech12 - IDNOG03 - Hammam Riza  (BPPT) Welcoming Speech
12 - IDNOG03 - Hammam Riza (BPPT) Welcoming Speech
 
20 - IDNOG03 - Franki Lim (ARISTA) - Overlay Networking with VXLAN
20 - IDNOG03 - Franki Lim (ARISTA) - Overlay Networking with VXLAN20 - IDNOG03 - Franki Lim (ARISTA) - Overlay Networking with VXLAN
20 - IDNOG03 - Franki Lim (ARISTA) - Overlay Networking with VXLAN
 
14 - IDNOG03 - George Michaelson (APNIC) - IPV6-in-2016-IDNOG
14 - IDNOG03 - George Michaelson (APNIC) - IPV6-in-2016-IDNOG14 - IDNOG03 - George Michaelson (APNIC) - IPV6-in-2016-IDNOG
14 - IDNOG03 - George Michaelson (APNIC) - IPV6-in-2016-IDNOG
 
21 - IDNOG03 - Jimmy Halim (Cloudflare) - Brief Introduction of CloudFlare, t...
21 - IDNOG03 - Jimmy Halim (Cloudflare) - Brief Introduction of CloudFlare, t...21 - IDNOG03 - Jimmy Halim (Cloudflare) - Brief Introduction of CloudFlare, t...
21 - IDNOG03 - Jimmy Halim (Cloudflare) - Brief Introduction of CloudFlare, t...
 
22 - IDNOG03 - Christopher Lim (Mellanox) - Efficient Virtual Network for Ser...
22 - IDNOG03 - Christopher Lim (Mellanox) - Efficient Virtual Network for Ser...22 - IDNOG03 - Christopher Lim (Mellanox) - Efficient Virtual Network for Ser...
22 - IDNOG03 - Christopher Lim (Mellanox) - Efficient Virtual Network for Ser...
 
23 - IDNOG03 - Affan Basalamah (ITB) Achmad Basuki (UNIBRAW) - Overview of In...
23 - IDNOG03 - Affan Basalamah (ITB) Achmad Basuki (UNIBRAW) - Overview of In...23 - IDNOG03 - Affan Basalamah (ITB) Achmad Basuki (UNIBRAW) - Overview of In...
23 - IDNOG03 - Affan Basalamah (ITB) Achmad Basuki (UNIBRAW) - Overview of In...
 

Recently uploaded

在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
ydyuyu
 
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
gajnagarg
 
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
ydyuyu
 
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
ayvbos
 
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
ayvbos
 
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girlsRussian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Monica Sydney
 
PowerDirector Explination Process...pptx
PowerDirector Explination Process...pptxPowerDirector Explination Process...pptx
PowerDirector Explination Process...pptx
galaxypingy
 

Recently uploaded (20)

APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53
 
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
 
"Boost Your Digital Presence: Partner with a Leading SEO Agency"
"Boost Your Digital Presence: Partner with a Leading SEO Agency""Boost Your Digital Presence: Partner with a Leading SEO Agency"
"Boost Your Digital Presence: Partner with a Leading SEO Agency"
 
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
 
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
 
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
 
Power point inglese - educazione civica di Nuria Iuzzolino
Power point inglese - educazione civica di Nuria IuzzolinoPower point inglese - educazione civica di Nuria Iuzzolino
Power point inglese - educazione civica di Nuria Iuzzolino
 
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
 
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
 
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
 
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
 
Meaning of On page SEO & its process in detail.
Meaning of On page SEO & its process in detail.Meaning of On page SEO & its process in detail.
Meaning of On page SEO & its process in detail.
 
Best SEO Services Company in Dallas | Best SEO Agency Dallas
Best SEO Services Company in Dallas | Best SEO Agency DallasBest SEO Services Company in Dallas | Best SEO Agency Dallas
Best SEO Services Company in Dallas | Best SEO Agency Dallas
 
20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf
 
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girlsRussian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
 
Trump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts SweatshirtTrump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts Sweatshirt
 
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime NagercoilNagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
 
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrStory Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
 
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
 
PowerDirector Explination Process...pptx
PowerDirector Explination Process...pptxPowerDirector Explination Process...pptx
PowerDirector Explination Process...pptx
 

31 - IDNOG03 - Bergas Bimo Branarto (GOJEK) - Scaling Gojek

  • 1. Bergas Bimo Branarto Arlinda Juwitasari Rama Notowidigdo SCALING GOJEK
  • 2. WHAT MAKES US WHO WE ARE
  • 4. Product Releases 2011: go-ride, go-send, go-shop (all phone order) January 2015: app release with go-ride, go-send, go-shop April 2015: go-food September 2015: go-mart Okt 2015: go-box, go-massage, go-clean, go-glam, go-busway Desember 2015: go-tix Januari 2016: go-kilat (e-commerce partnership, not on app) April 2016: go-car
  • 5. 11,000,000 downloads in 15 months 0 3000000 6000000 9000000 12000000 January February March April May June July August MARCH cumulative total app downloads
  • 6. JABODETABEK 123.500 drivers BANDUNG 37,000 drivers BALI 11,200 drivers surabaya 23,000 drivers MAKASSAR 7,100 drivers ARE WE? WHERE PALEMBANG 510 drivers MEDAN 440 drivers BALIKPAPAN 11,200 drivers YOGYAKARTA 690 drivers SEMARANG 370 drivers
  • 7. The Growth of Driver Gojek 400 800 1,200 1,600 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7
  • 8. The Growth of Customer 100 200 300 400 500 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6
  • 9. The growth of Order 350 700 1,050 1,400 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 number of order requestmultipliers
  • 10. CONWAY’S LAW Any Organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization’s communication structure
  • 12. Issue : • Bugs • Unexpected Load growth • Long process time which resulted with server crash during peak Challenge : - Small tech team (5 devs: for mobile apps (cust&driver), portals (3 different portals), backend) vs 4 (or more) divisions - Keep server alive in unexpected high loads - So many features (and products) need to be released to keep business running
  • 13. Transform 1 backend - 1 Disk backend - n backend - 2proxy
  • 14. Transform 1 Plus : At least we’re still alive Minus: Long process time DB bottleneck
  • 15. Transform 2 Disk proxy service C core backend core backend service C service B core backend core backend service B service A core backend service A service A redis queue
  • 16. Transform 2 Plus : - Splitting functionalities to services makes code more efficient (at least for new services) - Queue enables core backend to push and forget for one way communication - Process time reduced - Enable throttling in queue workers Minus: • Process time still long enough for incoming traffic since it only split non-transactional functionalities • DB bottleneck
  • 17. Transform 3 Disk proxy service C core backend core backend service C redis queue service B core backend core backend service B Disk service A core backend service A service A Disk rest api service D core backend core backend service D Disk rest api redis cache service E core backend core backend service E Disk
  • 18. Transform 3 Plus : - Split some transaction processes to another services: load splitted, process time reduced - Redis cache: reduce db bottleneck - Each service owns their own db: reduce db bottleneck Minus: • API calls in a flow of more than 2 services cause cascading failures
  • 19. Transform 4 Disk proxy service C core backend core backend service C kafka queue service B core backend core backend service B Disk service A core backend service A service A Diskservice D core backend core backend service D Disk inline redis cache service E core backend core backend service E Disk service F core backend service A service F Disk grpc (http/2)
  • 20. Transform 4 Plus : - Asynchronous communication between services via kafka: reduce api calls between services, reduces cascade failures - Shared redis (inline) cache: reduce db queries, reduce api calls between services, reduce cascade failures - grpc (uses http/2) should reduce network time Minus: ?
  • 21. Stack : • Java: Spring MVC and Spark • Go • Jruby on Rails • AngularJS • MySQL • PostgreSQL • MongoDB • Elasticsearch • Redis • Kafka • RabbitMQ
  • 22. Response Time vs Throughput 25,000 50,000 75,000 100,000 0 400 800 1200 1600 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 response time (ms) throughput (rpm)
  • 23. Order Growth vs Response Time 0 400 800 1,200 1,600 0 350 700 1,050 1,400 order response time (ms)
  • 24. Order Growth vs Throughput 0 25,000 50,000 75,000 100,000 0 350 700 1,050 1,400 order throughput (rpm)
  • 25. TRUE HAPPINESS IS THE JOURNEY, NOT THE DESTINATION THANK YOU