הסבר על ה-Backend Stack המודרני
לכל אפליקציית ווב יש שני צדדים. אתם רואים את ה-frontend. ה-backend הוא שמניע אותה.
ה-backend מטפל בלוגיקה, בנתונים ובאבטחה. Backend stack הוא סט הכלים שמאפשר את כל זה.
אתם לא חייבים לשלוט בכל כלי. אתם רק צריכים לדעת מה כל אחד מהם עושה.
שפות ליבה
- Node.js: מצוין עבור APIs ואפליקציות בזמן אמת (real-time).
- Python: הטוב ביותר עבור נתונים ו-AI.
- Go: מושלם למערכות מהירות עם תעבורה גבוהה.
- Java: הסטנדרט עבור ארגונים גדולים (enterprises).
Frameworks
- Express.js: מינימלי וגמיש עבור Node.js.
- NestJS: מוסיף מבנה לפרויקטים גדולים של Node.js.
- FastAPI: מהיר וקל עבור Python APIs.
- Spring Boot: הבחירה האמינה עבור Java.
בסיסי נתונים
- PostgreSQL: תקן הזהב לנתונים רלציוניים. השתמשו בזה קודם.
- MySQL: יציב עבור מערכות קיימות רבות.
- MongoDB: הטוב ביותר למבני נתונים גמישים ומשתנים.
כללים לבסיסי נתונים:
- השתמשו ב-SQL עבור קשרים ברורים ונתונים פיננסיים.
- השתמשו ב-NoSQL עבור נתונים לא מובנים או קנה מידה (scale) עצום.
תקשורת ואבטחה
- REST APIs: הדרך הסטנדרטית והפשוטה ביותר לחבר שירותים.
- GraphQL: השתמשו בזה אם הלקוחות (clients) זקוקים למערכי נתונים ספציפיים ומותאמים אישית.
- JWT: דרך נפוצה לניהול אימות ללא מצב (stateless authentication).
- OAuth 2.0: הסטנדרט עבור תכונות "התחבר באמצעות Google".
מהירות וקנה מידה
- Redis: אחסון בזיכרון (in-memory store) כדי להפוך את האפליקציה למהירה יותר באמצעות caching.
- RabbitMQ: דרך פשוטה לניהול משימות רקע (background tasks).
- Kafka: משמש לכמויות עצומות של נתונים בזמן אמת.
תשתית (Infrastructure)
- Docker: אורז את האפליקציה שלכם כך שהיא תרוץ בכל מקום.
- Kubernetes: מנהל הרבה קונטיינרים (containers) בבת אחת.
- AWS/Azure/GCP: ספקי הענן המרכזיים.
Observability
- אי אפשר לתקן את מה שלא רואים.
- השתמשו בכלים כמו Sentry עבור שגיאות.
- השתמשו ב-Datadog או Prometheus כדי לעקוב אחר ביצועים.
הימנעו מהטעויות הבאות:
- הוספת יותר מדי כלים. מורכבות יוצרת בעיות.
- התעלמות מאבטחה. בנו אותה מיום הראשון.
- עיצוב בסיס נתונים גרוע. תקנו זאת עכשיו, או שזה יעלה לכם ביוקר מאוחר יותר.
- דילוג על ניטור (monitoring). אל תחכו למשתמשים כועסים שיגידו לכם שהאתר למטה.
בחרו stack יציב. למדו את היסודות. השיקו (Ship) את הפרויקט שלכם.
מקור: https://dev.to/digitalunicon/the-modern-backend-stack-explained-142l