חידושים באוטומציית בסיסי הנתונים לשיפור תפוקת עבודת ה-DevOps

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

אימוץ של טכניקות פיתוח DevOps הולך וצובר תאוצה. על פי דו"ח 2021 State of DevOps Report של Puppet, יותר משלושת רבעי (83%) ממקבלי ההחלטות בתחום ה-IT אמרו שהם מתכוונים לעבור לסביבות הפיתוח החדישות, בזכות יתרונן במהירות, באיכות ובאבטחה.

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

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

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

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

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

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

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

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

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

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

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

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

פתרון מסד הנתונים כשירות של נוטניקס מאפשר באמצעות ממשק גרפי אחוד, ובלחיצת כפתור, את ביצוע כל הפעולות המתוארות לעיל באוטומציה מושלמת עבור רוב מסדי הנתונים המוכרים היום כגון: MSSQL, Oracle, MySQL, MariaDB, MongoDB, SAP HANA ו-PostgreSQL.

לסיכום: בהסתכלות הוליסטית על עולם ה-Hybrid Multi-cloud, אוטומציה לצריכת שירותים ושימוש ב-Self Service Portal מקלה על היבטי הניהול ומספקת קיצור דרך מהיר להשגת Time To Market טוב יותר, הפחתת עלויות של TCO, קידמה טכנולוגית, וכמובן, עוזרת לארגונים להחזיר השקעה ולנצל את כוח האדם בצורה אפקטיבית יותר.

הכותב הוא מהנדס מערכות בכיר בנוטניקס ישראל