העיקרון הזה, שנכלל בעמודה 'מהימנות' בGoogle Cloud מסגרת Well-Architected Framework, כולל המלצות שיעזרו לכם להשתמש בהרחבה אופקית. שימוש בהרחבת קנה מידה אופקית יכול לעזור לכם לוודא שעומסי העבודה ב-Google Cloud יכולים להתרחב ביעילות ולשמור על הביצועים.
העיקרון הזה רלוונטי להגדרת ההיקף של תחום המיקוד בנושא אמינות.
סקירה כללית של העקרונות
תכננו מחדש את המערכת כך שתהיה לה ארכיטקטורה אופקית. כדי להתמודד עם גידול בתנועה או בנתונים, אפשר להוסיף עוד משאבים. אפשר גם להסיר משאבים כשלא משתמשים בהם.
כדי להבין את היתרונות של הרחבה אופקית, כדאי להכיר את המגבלות של הרחבה אנכית.
תרחיש נפוץ לשינוי קנה מידה אנכי הוא שימוש במסד נתונים של MySQL כמסד הנתונים הראשי עם נתונים קריטיים. ככל שהשימוש במסד הנתונים גדל, נדרשים יותר זיכרון RAM ויחידת CPU. בסופו של דבר, מסד הנתונים מגיע למגבלת הזיכרון במכונת המארח וצריך לשדרג אותו. יכול להיות שיהיה צורך לחזור על התהליך הזה כמה פעמים. הבעיה היא שיש מגבלות קשיחות על הגודל של מסד נתונים. גודלי המכונות הווירטואליות אינם בלתי מוגבלים. יכול להיות שמסד הנתונים יגיע למצב שבו אי אפשר להוסיף עוד משאבים.
גם אם המשאבים לא מוגבלים, מכונה וירטואלית גדולה יכולה להפוך לנקודת כשל יחידה. כל בעיה במכונה הווירטואלית של מסד הנתונים הראשי עלולה לגרום לתגובות שגיאה או להפסקת פעולה בכל המערכת, שתשפיע על כל המשתמשים. מומלץ להימנע מנקודות כשל יחידות, כמו שמתואר במאמר יצירת מערכות עם זמינות גבוהה באמצעות יתירות משאבים.
בנוסף למגבלות ההרחבה האלה, הרחבה אנכית נוטה להיות יקרה יותר. העלות יכולה לגדול באופן אקספוננציאלי ככל שרוכשים מכונות עם יותר כוח מחשוב וזיכרון.
לעומת זאת, הרחבה אופקית יכולה להיות זולה יותר. הפוטנציאל להרחבה אופקית הוא כמעט בלתי מוגבל במערכת שמיועדת להרחבה.
המלצות
כדי לעבור מארכיטקטורה של מכונה וירטואלית יחידה לארכיטקטורה אופקית של כמה מכונות, צריך לתכנן בקפידה ולהשתמש בכלים הנכונים. כדי לעזור לכם להשיג קנה מידה אופקי, כדאי לעיין בהמלצות שבקטעי המשנה הבאים.
שימוש בשירותים מנוהלים
שירותים מנוהלים מייתרים את הצורך בניהול ידני של התאמה לעומס אופקי. לדוגמה, באמצעות קבוצות של מופעי מכונה מנוהלים (MIG) ב-Compute Engine, אתם יכולים להוסיף או להסיר מכונות וירטואליות כדי להרחיב את האפליקציה באופן אופקי. במקרה של אפליקציות בקונטיינרים, Cloud Run היא פלטפורמה ללא שרתים שיכולה לשנות את גודל הקונטיינרים ללא שמירת מצב באופן אוטומטי, בהתאם לתעבורת הנתונים הנכנסת.
קידום עיצוב מודולרי
רכיבים מודולריים וממשקים ברורים עוזרים לכם להרחיב רכיבים ספציפיים לפי הצורך, במקום להרחיב את כל האפליקציה. מידע נוסף זמין במאמר קידום עיצוב מודולרי בנושא אופטימיזציה של הביצועים.
הטמעה של עיצוב ללא מצב
תכננו את האפליקציות כך שלא יהיה בהן מצב, כלומר שלא יהיו נתונים שמאוחסנים באופן מקומי. כך תוכלו להוסיף או להסיר מופעים בלי לדאוג לגבי עקביות הנתונים.