Mindtalk Technology
Behind the Scenes
Robin Syihab (CTO Mindtalk)
MT: @robin
TW: @anvie
Apa itu “Scalability”?
“Scalability” bukan
• Performa yang tinggi.
• Mudah untuk menambahkan server.
• High availability.
Skalabilitas adalah
• Kemampuan dalam mengakomodir
peningkatan permintaan yang tinggi.

• Bukan hanya masalah server atau
...
Bagaimana Mindtalk
menghadapi masalah
skalabilitas?
Database
• MongoDB (main database).
• Redis (cache).
• Tokyo Cabinet (url shortener).
Database
Write
MongoDB
(master)

Read

MongoDB MongoDB
(shard)
(shard)

MongoDB
(replica)

MongoDB MongoDB
(shard)
(shard)...
Web Server
• Nginx
• HAProxy (failover)
Web Service
web service

HAProxy

consumer

rest API
service

Mobile web
service
Tips Optimasi
• Selalu aktifkan gzip.
• Jangan gunakan domain yang sama
untuk web dan serving static files.

• Tuning web ...
Elastic Search
• Mudah menambahkan shard, tidak
perlu servis tambahan seperti servis
kordinator, contoh: Zookeeper.

• Ske...
Development
Process
Source Control Management : GIT
Continuous Integration: Buildbot
Code Inspection:
Gitlab
Monitoring System: PandoraFMS

http://www.lafermeduweb.net
Deployment System
Makefile

increment version
pre-build test
build distribution

staging
backup
updating
Logging
Levels:

DEBUG

file A (rotated)

INFO
WARNING
ERROR

file B (rotated)
file C (rotated)
email to maintainers
inclu...
Bahasa
pemrograman
• Python - Backend services.
• Scala - Stream processing.
• Node.js - Realtime notifier.
• PHP - Front ...
MID ENDS

FRONT ENDS

Go
Anscdn & AWS

Cache

BACK ENDS

Database
Replica

Closure
Library

Sock API

•3 instances

Search...
Geek Wanted
• Java / Scala Programmer.
• NoSQL Database Engineer.
• System Administrator.
kirimkan CV ke:
job@mindtalk.com
Terima kasih
Upcoming SlideShare
Loading in …5
×

Mindtalk Tech - Behind the scenes

2,103 views

Published on

Mindtalk Technology - behind the scenes

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,103
On SlideShare
0
From Embeds
0
Number of Embeds
36
Actions
Shares
0
Downloads
21
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Mindtalk Tech - Behind the scenes

  1. 1. Mindtalk Technology Behind the Scenes Robin Syihab (CTO Mindtalk) MT: @robin TW: @anvie
  2. 2. Apa itu “Scalability”?
  3. 3. “Scalability” bukan • Performa yang tinggi. • Mudah untuk menambahkan server. • High availability.
  4. 4. Skalabilitas adalah • Kemampuan dalam mengakomodir peningkatan permintaan yang tinggi. • Bukan hanya masalah server atau teknologi, tetapi juga sumber daya manusia dan proses di dalamnya.
  5. 5. Bagaimana Mindtalk menghadapi masalah skalabilitas?
  6. 6. Database • MongoDB (main database). • Redis (cache). • Tokyo Cabinet (url shortener).
  7. 7. Database Write MongoDB (master) Read MongoDB MongoDB (shard) (shard) MongoDB (replica) MongoDB MongoDB (shard) (shard) HAProxy Service Cache
  8. 8. Web Server • Nginx • HAProxy (failover)
  9. 9. Web Service web service HAProxy consumer rest API service Mobile web service
  10. 10. Tips Optimasi • Selalu aktifkan gzip. • Jangan gunakan domain yang sama untuk web dan serving static files. • Tuning web level cache. • nginx workers == jumlah core. • Jika perlu gunakan varnish.
  11. 11. Elastic Search • Mudah menambahkan shard, tidak perlu servis tambahan seperti servis kordinator, contoh: Zookeeper. • Skema dokumen yang flexibel. • Faceting. • Pencarian ke banyak index. • Automatic shard rebalancing.
  12. 12. Development Process
  13. 13. Source Control Management : GIT
  14. 14. Continuous Integration: Buildbot
  15. 15. Code Inspection: Gitlab
  16. 16. Monitoring System: PandoraFMS http://www.lafermeduweb.net
  17. 17. Deployment System Makefile increment version pre-build test build distribution staging backup updating
  18. 18. Logging Levels: DEBUG file A (rotated) INFO WARNING ERROR file B (rotated) file C (rotated) email to maintainers includes technical information
  19. 19. Bahasa pemrograman • Python - Backend services. • Scala - Stream processing. • Node.js - Realtime notifier. • PHP - Front end.
  20. 20. MID ENDS FRONT ENDS Go Anscdn & AWS Cache BACK ENDS Database Replica Closure Library Sock API •3 instances Search Engine •Includes Database Lucene Engine round-robin by hproxy Ndayak 3 Engine Notifier •Web Notification long polling web API Cache •Authentication •API Hadoop Data mining storage •Mobile Push Notification Message Queueing •Purpose to: • Generate analytics. • Calculate search relevancy. • Calculate suggestion like PYMK or GYML.
  21. 21. Geek Wanted • Java / Scala Programmer. • NoSQL Database Engineer. • System Administrator. kirimkan CV ke: job@mindtalk.com
  22. 22. Terima kasih

×