Security, Privacy ו-Multi-tenancy
אל דאגה אם המילים נשמעות מפחידות — נסביר כל אחת בדרך. בשיעור הזה נלמד איך לדבר בראיון על שמירה על מערכת בטוחה ופרטית: authn/authz — קיצור לשני דברים: authentication (אימות — לוודא מי אתה, כמו להראות תעודת זהות בכניסה) ו-authorization (הרשאה — לקבוע מה מותר לך לעשות אחרי שנכנסת); secrets (סודות — סיס
System Design (תכנון מערכות — איך בונים תוכנה גדולה שמשרתת הרבה אנשים) הוא כמו לתכנן עיר: כבישים, מחסנים, רמזורים וצוותי תחזוקה — כך שהעיר תמשיך לעבוד בצורה חלקה גם בשעות העומס, כשכולם בחוץ באותו זמן.
- אבטחה ופרטיות
- הרעיון המרכזי של השיעור: איך שומרים שהמערכת תהיה בטוחה ושנתוני המשתמשים יישארו פרטיים. כולל: אימות והרשאה (authn/authz — מי אתה ומה מותר לך), שמירת סודות וסיסמאות במקום מוגן (secrets), הצפנת מידע (encryption), הפרדה בין לקוחות שונים (tenant isolation), מניעת ניצול לרעה (abuse prevention), וכמה זמן מחזיקים נתונים ומתי מוחקים (retention).
- Trade-off
- Trade-off (פשרה) — בחירה מודעת שבה מרוויחים דבר אחד ומשלמים על זה במשהו אחר, כמו לבחור אוכל מהיר במקום ארוחה ביתית: חוסכים זמן אבל מאבדים באיכות. בראיון מסבירים מה הרווחנו ומה שילמנו.
- מדד תפעולי
- מדד תפעולי — מספר שמראה אם ההחלטה באמת עובדת כשהמערכת חיה ומשרתת משתמשים אמיתיים (זה נקרא production, פרודקשן). לדוגמה: latency (כמה זמן לוקח לקבל תשובה), error rate (אחוז הבקשות שנכשלות), queue lag (כמה משימות ממתינות בתור), cache hit ratio (כמה פעמים מצאנו את התשובה בזיכרון המהיר) ועוד.