הגדרת תשתית ענן ב-VK Cloud

העומס גדל, והסביבה בענן לא מצליחה לעמוד בו? אנחנו מגדירים את VK Cloud מהקצה לקצה: מתכננים סביבה עמידה לתקלות, מאוטמטים את הפריסה ומעבירים לצוות תרשימים ונהלים ברורים. אחרי תקלות השירות מתאושש מהר פי כמה, והעתודות מפסיקות לעמוד ללא שימוש.

היכולות שלנו:

שאלות נפוצות

העבודות האחרונות

  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1359
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1330
  • עיצוב לוגו לחברת B2B Advance
    עיצוב לוגו לחברת B2B Advance
    776
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1077
  • פיתוח לוגו חברת AIDER
    פיתוח לוגו חברת AIDER
    1022
  • פיתוח CRM עבור Chasseurs
    פיתוח CRM עבור Chasseurs
    1113

הגדרת VK Cloud: מדוע הסביבה קורסת תחת עומס

כל עוד התעבורה גדלה בהדרגה, הסביבה נראית בריאה: תגובה צפויה, מדדים תקינים. השיא הראשון — מבצע מכירות, קמפיין פרסומי, גל עונתי — ומתחילה דעיכה תחת עומס: תור הבקשות גדל, זמן התגובה עולה, חלק מהשירותים מגיבים בשגיאות.

הסיבה בדרך כלל אינה בקוד, אלא בכך שתצורת התשתית בענן תוכננה לפרופיל הנוכחי ולא לפרופיל השיא: אין די קיבולת שמורה, אין סקיילינג אוטומטי, ומגבלות החיבורים נתקלות בתקרה.

המקור השני לתקלות — שינויים ידניים בתצורה. מישהו תיקן כלל של מאזן עומסים דרך הפאנל, מישהו הוסיף פורט לקבוצת אבטחה, מישהו הרחיב ידנית דיסק ללוגים.

השינויים אינם מתועדים בשום מקום, הסביבות נבדלות זו מזו, וכבר אי אפשר להרכיב מצב עובד מאפס: הגדרת VK Cloud הופכת לאוסף של הסכמות בעל פה שנשמרות בראשו של מהנדס אחד.

קו סיכון נפרד — היעדר תרשים עמידות בפני כשלים. צומת אחד של האפליקציה, דיסק אחד, מופע אחד של בסיס הנתונים: כל כשל חומרה או תחזוקה מתוכננת הופכים להשבתת השירות לשעות, והשחזור נעשה בידיים, מהזיכרון ותחת לחץ. להלן נבחן כיצד זה נסגר — משכפול ושירותים מנוהלים ועד לתיאור התשתית בקוד.

מה נותנת סביבת ענן בנויה נכון

סביבה בנויה נכון ב-VK Cloud נבדלת לא ברשימת השירותים המחוברים, אלא בכך שהתנהגותה צפויה בשתי נקודות: ברגע שחרור השינוי וברגע הכשל. שני האפקטים מדידים — לפי זמן ולפי שיעור הפעולות שעוברות ללא התערבות ידנית.

זמן צפוי לשחרור שינויים

סביבות עולות מתבניות, והתצורות והסודות חיים במאגר, ולכן סביבת הפיתוח וסביבת הייצור אינן נבדלות. השינוי עובר אותו קו ייצור: בנייה של אימג' בלתי ניתן לשינוי, בדיקות אוטומטיות, מיגרציות, פריסה.

מכאן פועלת ההפיכות — החזרה לאחור היא פריסה של האימג' הקודם, ולא פירוק ידני של ההשלכות. זמן השחרור מפסיק להיות תלוי במי שתורן, ושיעור השינויים שמגיעים לסביבת הייצור ללא תיקונים ידניים עולה לתשעה מתוך עשרה.

עמידות בפני כשלים של צמתים ואזורים

מופעי האפליקציה מפוזרים על פני כמה אזורי זמינות, מאזן העומסים מסיר צמתים לא בריאים ומעביר את התעבורה לחיים. כשל של צומת או תהליך בודד הסביבה חווה בעצמה: השחזור לאחר כשל נמדד בדקות, ולא בזמן עד הגעת התורן.

לכל סוג של כשל — תהליך, צומת, אזור, אזור גיאוגרפי — מוגדר מראש תרחיש משלו וזמן שחזור יעד. גיבוי מתבצע לפי לוח זמנים, אך חשוב יותר הוא בדיקה קבועה של שחזור מהעותק: עותק שלא נבדק אינו נחשב לעובד.

הגדרת הסביבה: אפשרויות פריסה והמגבלות שלהן

הבחירה באפשרות פריסה ב-VK Cloud קובעת אילו כשלים תקבלו ובמה תשלמו עליהם. אשכול מנוהל מסיר את התחזוקה של שכבת הניהול, אך כופה את מגבלות הספק. מכונות וירטואליות נותנות שליטה על הליבה, הדיסקים והרשת במחיר של ליווי ידני. היברידי הוא פשרה שבה ערוץ התקשורת הופך לנקודת כשל נפרדת.

אפשרות מתי מתאים מגבלות
אשכול מנוהל מיקרו-שירותים עם סקיילינג אופקי, התחלה מהירה, עדכונים ללא השבתה אין גישה לצמתים ולשכבת הניהול, חלונות העדכון נקבעים על ידי הספק, מכסות לצמתים ולדיסקים
מכונות וירטואליות ליבות משלכם, מסדי נתונים עם כיוונון עדין, תוכנה ברישוי, רשתות לא סטנדרטיות עדכונים, שכפול וסקיילינג — באחריות הצוות
תכנית היברידית חלק מהנתונים חייב להישאר בקונטור שלכם, שיאים יוצאים החוצה השהיה בערוץ, שני קונטורי ניטור, נקודת כשל שנייה

קונטור מבודד לשירות אחד

פרויקט נפרד, רשתות משלו, מכסות ומדיניות גישה. קונטור כזה נדרש כאשר השירות מטפל בנתונים רגישים או שהכשלים שלו לא אמורים להשפיע על השכנים: כשל ועדכון כושל נשארים בתוך הגבול. המחיר — שכפול של שערים, ניטור וליווי ידני, וזה מורגש עבור שירות קטן.

סביבה משותפת לכמה צוותים

אשכול אחד ורשת אחת, הצוותים מופרדים במרחבי שמות עם מכסות, מגבלות ומדיניות רשת כברירת מחדל. ניצול המשאבים ומאגר האימג'ים המשותף נותנים אפקט: על אותה תשתית נכנסים יותר שירותים. הצד השני — "שכן רועש" ותחום כשל משותף, ולכן המגבלות נקבעות לפני הגעת הצוות השני, ולא אחרי תקלה.

כיצד מתבצעת ההטמעה: שלבי העבודה ההנדסית

הגדרת VK Cloud מתחילה במיפוי מלאי: אילו שירותים כבר בייצור, מי פונה אליהם, מה נשען על פעולות ידניות. בלי התמונה הזו תרשים הארכיטקטורה נשאר השערה, והפרדת ההרשאות — פורמליות.

מה אנחנו מתעדים בקלט

אוספים רשימת שירותים עם בעלים, פרופילי עומס ושיאים, דרישות לעמידות בפני כשלים וחלונות שינוי מותרים. בנפרד מתעדים תלויות חיצוניות — בסיסי נתונים, תורים, אינטגרציות עם מערכות פנימיות: דווקא הן קובעות לרוב מה עובר מיד ומה דורש קונטור ביניים.

סדר העבודות

  1. ביקורת תשתית: רשימת משאבים, ניתוח רשת, אחסון, גיבויים והרשאות הגישה הנוכחיות.
  2. תרשים ארכיטקטורה: אזורי זמינות, פילוח תת-רשתות, נקודות כשל, כללי סקיילינג.
  3. הפרדת הרשאות: תפקידי צוותים וחשבונות שירות לפי ההרשאות המינימליות הנדרשות.
  4. הגדרה: תשתית כקוד, פריסה משוחזרת, בדיקות שינויים לפני הכניסה לייצור.
  5. בדיקה תחת עומס: פרופיל קרוב לזה האמיתי, מדידת זמן התגובה וההתנהגות בעת כשל של צומת.
  6. מסירת תיעוד: תרשים, נהלי שחזור, הוראות למשמרת התורנות.

כיצד אנחנו מקבלים את התוצאה

את הקריטריונים מתאמים מראש: הקונטור נפרס מאפס ללא צעדים ידניים, השחזור עומד בזמן המוסכם, ולחשבונות השירות אין הרשאות מיותרות. הקבלה מתבצעת לפי הבדיקות הללו, ולא לפי העובדה ש"העבודה נמסרה".

תיעוד, תרשימים ונהלים בסיום

לאחר מסירת הפרויקט התשתית אינה נשארת "קופסה שחורה": כל החלטה מעוגנת בארטיפקטים, שלפיהם הצוות שלכם עובד באופן עצמאי, בלי לפנות אלינו. החבילה נאספת תוך כדי העבודה, ולא נכתבת בסופה, ולכן היא מתארת את מצב הסביבה בפועל, ולא את הכוונה הראשונית.

  • תרשים תשתית: פילוח הרשת, איזון עומסים, קשרים בין שירותים למערכות חיצוניות.
  • תיעוד הסביבה: ייעוד כל רכיב, פרמטרי תצורה, תלויות ונקודות כשל.
  • נהלי תחזוקה: עבודות מתוכננות, גיבוי, סדר עדכונים והחזרות לאחור.
  • מדיניות גישה: תפקידים, גבולות הרשאה, מתן ושלילת גישות, רוטציה של מפתחות וסודות.
  • הוראות לצוות: כיצד להקים סטנד, לשחרר גרסה, לאסוף לוגים ומדדים, מה לעשות בעת כשל.
  • מפת תגובה לאירועים: ספי הפעלה, אחראים, סדר הסלמה.
  • רשימת תלויות חיצוניות: שירותי צד שלישי, הבעלים שלהם ותנאי השימוש.

פורמטי המסירה

תרשימים נמסרים בפורמט הניתן לעריכה עם ייצוא להדפסה — אפשר להשלים אותם ככל שהסביבה גדלה. הוראות ונהלים מונחים לצד התצורה במאגר: הם משתנים באותו שינוי כמו התשתית עצמה, ואינם מתרחקים מהמציאות.

גישות נמסרות לא כרשימה במייל, אלא דרך ניהול תפקידים ומאגר סודות מאובטח — בכל רגע אתם רואים למי יש אילו הרשאות, ומבטלים אותן בפעולה אחת.

מקרה בוחן: איך הסביבה עמדה בגידול עומס פי שלושה

הלקוח הגיע עם שירות שחי לפי מבצעים עונתיים: בשיא מספר הפניות במקביל שולש בתוך שעות. הסביבה הורכבה ידנית לפי הוראות, חלק מההגדרות שוכפלו בשני מקומות ובהדרגה נפרדו, ובסקיילינג עסק מהנדס תורן בלילה. הגל הראשון כבר הראה שצוואר הבקבוק אינו בקוד האפליקציה, אלא באופן שבו בנויה התשתית.

מה הראו המדדים לפני ואחרי

  • שחזור לאחר כשל של צומת: שעות של פעולות ידניות → בודדות של דקות — המצב הוצא אל מחוץ לשרת ועולה מחדש מהתבנית.
  • שיעור הפעולות הידניות בשחרור: יותר ממחצית הצעדים → אישורים בודדים, ואת השאר סוגרת הבדיקה האוטומטית.
  • כשלים בשיא: כל גל → אף לא אחד, שלושה גידולי עומס רצופים עברו בתצורה התקנית ללא התערבות לילית.

תיאור הסביבה הועבר לצורה דקלרטיבית והוצב ב-VK Cloud: שרתים, רשת וכללי גישה נוצרים כעת ממקור אחד, ולכן הסטנדים הפסיקו להיפרד זה מזה.

בדיקות חיות ומוכנות מוציאות את הצומת מאיזון העומסים לפני שהוא מתחיל להשיב בשגיאות, והסקיילינג האוטומטי מוסיף קיבולת לשיא ומסיר אותה לאחריו — בלי בקשות ואישורים.

בנפרד נעלם סוג כשלים שנתפס קודם רק לפי תלונות: דעיכה "שקטה" של צומת אחד, כשהתעבורה המשיכה לזרום אליו. כעת מקרים כאלה נסגרים אוטומטית, והמהנדס רואה את היסטוריית השינויים ומבין מה בדיוק הוביל לחריגה.

ספקות טכניים לפני תחילת העבודה

ההתנגדויות ההנדסיות לפני מעבר לענן מסתכמות בדרך כלל בארבע: השבתת השירות, האחריות לסביבה לאחר המסירה, הפרדת ההרשאות והסיכון לעבודות חוזרות. נבחן כיצד אנחנו סוגרים כל אחד.

כיצד להעביר בלי לעצור את השירות?

בסיס הנתונים עובר בשכפול זורם, כרכים ואחסון אובייקטים מסונכרנים עד לפער של שניות. בנקודת המיתוג מורידים את ה-TTL של הרשומות ומעבירים את התעבורה קודם בחלק קטן, ואחר כך במלואה: חלון אי-הזמינות לכתיבה נמדד בדקות, ויש לו תכנית חזרה לאחור לקונטור המקורי.

מי אחראי לסביבה לאחר המסירה?

הסביבה מתוארת כקוד: התצורה, כללי הרשת והמדיניות חיים במאגר, והשינויים עוברים ביקורת. הליווי נשאר באחריותנו לפי רמה מוסכמת, ואם הצוות לוקח את הניהול לעצמו — אנחנו מוסרים תרשים, נהלים וגישות כך שהקונטור יקרא גם בלעדינו.

כיצד מופרדות ההרשאות של הצוותים?

חשבון אישי לכל מהנדס, הרשאות לפי עקרון המינימום הנדרש. חשבונות שירות לאוטומציה מופרדים מחשבונות אנושיים, סודות נשמרים עם רוטציה, ולא בקבצי תצורה, והגישה לסביבת הייצור ניתנת לפי בקשה, לזמן מוגבל ועם ביקורת על הפעולות.

האם אפשר להתרחב בהדרגה וכיצד נבדק העומס?

מתחילים בקונטור אחד ומוסיפים שירותים לפי המוכנות — המעבר אינו הופך להחלפה בו-זמנית של הכול. פרופיל העומס נלקח מהמערכת הפועלת ומורץ על החדשה לפני המיתוג: הקיבולת מאומתת במדידות, ואת הסקיילינג האוטומטי מגדירים מראש, לפני תעבורת הייצור.

נדון במשימה ונחזור עם הערכה ותכנית

את תכנית ההטמעה מרכיבים מהקונטור שלכם, ולא מתבנית: תחילה ניתוח המצב הנוכחי והמגבלות, אחר כך הרכב העבודות לפי שלבים — עם תוצאה ניתנת לבדיקה בכל אחד. להלן — מה נדרש מצדכם כדי שנחזור עם הערכה ולוח זמנים, ולא עם ניסוחים כלליים.

  • תיאור העומס והתכנית הנוכחית: אילו שירותים פועלים, מה כבר מוצב בענן, היכן צווארי הבקבוק.
  • גישות לניתוח: קריאת תצורות, ייצוא מדדים ולוגים, תרשים הרשת והניתוב.
  • מגבלות: דרישות למיקום הנתונים, נהלי אבטחה, חלונות לשינויים.
  • מדדי יעד: זמן תגובה, שיעור כשלים, זמן שחזור לאחר כשל.
  • נקודות אינטגרציה: מערכות חיצוניות, תורים ואחסון שיש לקשר אליהם את הקונטור.
  • אחראי הקבלה: מי מאשר את השלבים ומקבל את התוצאה בכל אחד מהם.

לאחר מכן מגבשים את הרכב העבודות: מה עושים בתכנון, מה בהעברת העומס, ומה נשאר לליווי. כל שלב מתואר עם קריטריון מוכנות וסדר החזרה לאחור, כדי שהשינויים יעברו באופן צפוי וללא השבתה.

תארו את המשימה בפורמט נוח — התכתבות, שיחת וידאו או פגישה. נחזור עם הערכה, תכנית הטמעה וסדר התחלה: מי, מה ובאיזה סדר עושה מהיום הראשון.

במה נבדלת סביבת ענן משרתים משלכם?

ההבדל מתחיל בגבול האחריות. בסביבת ענן הספק מחזיק בחומרה הפיזית, ברשת, בדיסקים ובשכבת הווירטואליזציה, ובצד שלנו נשארים מערכות ההפעלה, תצורת השירותים, הנתונים והגישות. בשרתים משלכם הגבול זז עד השקע וערוץ התקשורת: אבחון כשל דיסק, החלפת רכיבים ומלאי חלופי — כבר משימה של בעל התשתית.

ההבדל השני — הזמן עד לתוצאה. קונטור חדש מתואר בתצורה דקלרטיבית ועולה בדקות, ולא במחזור רכש והתקנה. עמידות בפני כשלים בענן מושגת בפריסה על פני אזורי זמינות, בעוד שעל חומרה משלכם צריך להחזיק לשם כך רזרבה קבועה שעומדת בטלה בימים רגילים.

שרתים משלכם מוצדקים במקום שבו העומס אחיד וצפוי, שבו הנתונים חייבים להישאר בתוך קונטור מסוים, ושבו פועלת חומרה ייעודית או מערכות מורשת שהעברתן יקרה מתחזוקה במקום. בדיוק במקרים האלה השוואת האפשרויות מסתיימת לא בבחירה בין "ענן או שרתים משלכם", אלא בתשתית היברידית.

בתכנית ההיברידית שירותים רגישים להשהיה נשארים על החומרה שלכם, ומוצרים חדשים, סביבות בדיקה ועומסי שיא עוברים ל-VK Cloud ומתחברים לקונטור הפנימי בערוץ פרטי. הניהול במקרה זה אחיד: תצורה כקוד, מדיניות גישה משותפת, ניטור אחד.

ליווי הסביבה בנוי באופן זהה לשני החלקים, והמעבר לענן מתבצע בחלקים — תחילה קונטור בדיקה, אחר כך שירותים חסרי מצב, ורק לבסוף בסיסי נתונים עם שכפול ובדיקת חזרה לאחור. סדר כזה מאפשר להשוות את האפשרויות על עומס חי, בלי לעצור את המוצר.