"যা মাপতে পারেন না, তা ঠিক করতেও পারেন না।"
স্টেজ ০৭ শেষে আমাদের system distributed, আর এর কঠিন দিকগুলোও আমরা জানি। কিন্তু এখন system এ চল্লিশটা service, শত শত machine। কোথাও একটা কিছু ধীর হলে সেটা খুঁজে বের করা খড়ের গাদায় সুই খোঁজার মতো।
এই স্টেজে আমরা system এর ভেতরটা দেখার ব্যবস্থা করবো। প্রথমে শিখবো, কী মাপতে হয় আর কীভাবে মাপতে হয়। তারপর শিখবো, কখন মানুষকে জাগাতে হয় আর কখন না। এরপর দেখবো, failure যেন ছড়িয়ে না পড়ে, সেজন্য কী করা যায়। শেষে দেখবো, নিজেরা ইচ্ছা করে failure ঘটিয়ে কীভাবে system কে আরো শক্ত করা যায়।
০১ এই স্টেজে যা শিখবো
| সেশন | শিরোনাম | এই সেশনের লক্ষ্য |
|---|---|---|
| সেশন ১৯ | Logging, Metrics, Tracing | Observability এর তিন pillar, structured log আর correlation ID, log aggregation, counter/gauge/histogram, p50/p95/p99, label cardinality, trace আর span, sampling আর OpenTelemetry। |
| সেশন ২০ | Monitoring ও Alerting | SLI, SLO আর SLA, error budget, চারটা golden signal, symptom বনাম cause-based alert, alert fatigue, burn rate, এক প্রশ্নের dashboard, on-call, runbook আর blameless postmortem। |
| সেশন ২১ | Circuit Breaker, Retry, Rate Limiting | Timeout, retry storm, backoff আর retry budget, circuit breaker (closed, open, half-open), fallback, bulkhead, চার রকম rate limiting algorithm, 429 আর load shedding। |
| সেশন ২২ | Chaos Engineering | Staging কেন যথেষ্ট নয়, steady state আর hypothesis, fault injection, blast radius, game day, abort condition, আর অভিজ্ঞতা ছাড়া একটা team কীভাবে ছোট করে শুরু করবে। |
০২ স্টেজ শেষে যা যা করতে পারবেন
- Log, metric আর trace কোনটা কোন প্রশ্নের উত্তর দেয়, সেটা বলতে পারবেন।
- Percentile (p50, p95, p99) কেন average এর চেয়ে বেশি সত্য বলে, সেটা বোঝাতে পারবেন।
- SLI, SLO আর error budget দিয়ে reliability আর নতুন feature এর মধ্যে ভারসাম্য রাখতে পারবেন।
- Symptom-based alert বানাতে পারবেন, আর alert fatigue এড়াতে পারবেন।
- Circuit breaker, retry budget, bulkhead দিয়ে cascading failure ঠেকাতে পারবেন।
- Rate limiting এর algorithm গুলো (token bucket, leaky bucket, fixed ও sliding window) আলাদা করতে পারবেন।
- Chaos engineering এর একটা ছোট, নিরাপদ experiment পরিকল্পনা করতে পারবেন।
০৩ এর পর যা আসছে...
স্টেজ ০৮ শেষে আপনার হাতে system design এর প্রায় সব মূল tool আছে। এবার সেগুলো একসাথে ব্যবহার করার পালা। শেষ স্টেজে আমরা বাস্তবের system গুলো শূন্য থেকে design করবো, সহজ থেকে কঠিনের দিকে: URL shortener, rate limiter ও search, Twitter feed, WhatsApp, YouTube, আর শেষে Uber।