22
Mindtalk Technology Behind the Scenes Robin Syihab (CTO Mindtalk) MT: @robin TW: @anvie

Mindtalk Tech - Behind the scenes

  • Upload
    robinsy

  • View
    1.422

  • Download
    0

Embed Size (px)

DESCRIPTION

Mindtalk Technology - behind the scenes

Citation preview

Page 1: Mindtalk Tech - Behind the scenes

Mindtalk Technology

Behind the Scenes

Robin Syihab (CTO Mindtalk)MT: @robinTW: @anvie

Page 2: Mindtalk Tech - Behind the scenes

Apa itu “Scalability”?

Page 3: Mindtalk Tech - Behind the scenes

“Scalability” bukan

•Performa yang tinggi.

•Mudah untuk menambahkan server.

•High availability.

Page 4: Mindtalk Tech - Behind the scenes

Skalabilitas adalah

•Kemampuan dalam mengakomodir peningkatan permintaan yang tinggi.

•Bukan hanya masalah server atau teknologi, tetapi juga sumber daya manusia dan proses di dalamnya.

Page 5: Mindtalk Tech - Behind the scenes

Bagaimana Mindtalk

menghadapi masalah

skalabilitas?

Page 6: Mindtalk Tech - Behind the scenes

Database

•MongoDB (main database).

•Redis (cache).

•Tokyo Cabinet (url shortener).

Page 7: Mindtalk Tech - Behind the scenes

Database

MongoDB(master)

MongoDB(replica)

Service

Cache

Write

HAProxyRead

MongoDB(shard)

MongoDB(shard)

MongoDB(shard)

MongoDB(shard)

Page 8: Mindtalk Tech - Behind the scenes

Web Server

•Nginx

•HAProxy (failover)

Page 9: Mindtalk Tech - Behind the scenes

Web Service

web service

rest API service

Mobile web service

consumer

HAProxy

Page 10: Mindtalk Tech - Behind the scenes

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.

Page 11: Mindtalk Tech - Behind the scenes

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.

Page 12: Mindtalk Tech - Behind the scenes

Development Process

Page 13: Mindtalk Tech - Behind the scenes

Source Control Management : GIT

Page 14: Mindtalk Tech - Behind the scenes

Continuous Integration: Buildbot

Page 15: Mindtalk Tech - Behind the scenes

Code Inspection: Gitlab

Page 16: Mindtalk Tech - Behind the scenes

Monitoring System: PandoraFMS

http://www.lafermeduweb.net

Page 17: Mindtalk Tech - Behind the scenes

Deployment System

Makefile increment versionpre-build test

build distribution

backup

staging

updating

Page 18: Mindtalk Tech - Behind the scenes

Logging

Levels:

DEBUG

INFO

WARNING

ERROR

file A (rotated)

file B (rotated)

file C (rotated)

email to maintainersincludes technical information

Page 19: Mindtalk Tech - Behind the scenes

Bahasa pemrograman

•Python - Backend services.

•Scala - Stream processing.

•Node.js - Realtime notifier.

•PHP - Front end.

Page 20: Mindtalk Tech - Behind the scenes

FRONT ENDS

Closure Library

GoAnscdn & AWS

Sock API

web API Cache

Cache

Search Engine

Hadoop

Database

Database

Notifier

Replica

•Authentication•API

Message Queueing

•Mobile Push Notification

•Web Notificationlong polling

Data mining storage

MID ENDS BACK ENDS

•3 instances round-robin by hproxy

•Includes Lucene Engine

•Purpose to:• Generate analytics.• Calculate search relevancy.• Calculate suggestion like PYMK or GYML.

Ndayak 3 EngineNdayak 3 Engine

Page 21: Mindtalk Tech - Behind the scenes

Geek Wanted

•Java / Scala Programmer.

•NoSQL Database Engineer.

•System Administrator.

kirimkan CV ke:[email protected]

Page 22: Mindtalk Tech - Behind the scenes

Terima kasih