העלאת סביבות פיתוח ובדיקות לענן: כדאי או לא כדאי?
Getting your Trinity Audio player ready...
|
עדכון אחרון: ינואר 2020
במסגרת עבודתנו השוטפת יוצא לנו לטפל בלקוחות רבים ובפרוייקטים עם דרישות שונות.
כידוע אנחנו מספקים בין השאר סיוע בכלי-עזר לפיתוח ולבדיקות – בפרט הכלים
Git, JIRA, Taiga, Jenkins, GitLab, GitHub, BitBucket, SonarQube, Artifactory, Nexus, Terraform, Xray, TestRail, Confluence, Mattermost, ClearCase, ClearQuest.
אנחנו נשאלים מדי פעם מה האפשרויות לעבודה עם הכלים הנ"ל בהקשר לענן, ומה היתרונות/חסרונות בכל אפשרות – והחלטתי לשתף כאן ידע שצברנו ולרכז כאן את הנקודות המנחות אותנו.
ראשית אומר שהשיקולים שאנו רואים שהם הדומיננטיים ביותר (לאו-דווקא בסדר הזה):
ביצועים, אבטחת מידע ועלויות
ענן או לא? למעשה יש כיום 3 אפשרויות
(ואגב כך אוסיף שגילינו שרוב האנשים מכירים רק השתיים הראשונות)
1) ענן ציבורי (SaaS)
הכוונה לעבודה ישירות מול אתרים שמחזיקים יצרני התוכנה, כגון github..com, atlassian.net, gitlab..com וכד'
יתרונות:
- לא צריך להתעסק עם רכישת חומרה והתקנת שרת. למעשה ניתן להתחיל לעבוד תוך דקות.
- אין תשלום מראש – אלא משלמים לפי שימוש (לרוב בתשלום חודשי)
חסרונות:
- לא בהכרח עומד בדרישות אבטחת מידע של כל החברות
- הענן חשוף למתקפות DDOS שימנעו גישה לשרת
- ביצועים לא תמיד מיטביים (הואיל והשרתים בד"כ בארה"ב או באירופה, ובד"כ אין אפשרות בחירה). גם ישנה סבירות גבוהה שהמשאבים משותפים עם חברות אחרות ופרוייקטים אחרים, ועלולים להיות עומסים שנגרמים על ידם – ולא תוכלו לשנות זאת.
- חסם עליון למשאבים – הספקים מגבילים לעתים את כמות המשאבים שמוקצים לפרוייקט (מבחינת שטח אחסון, CPU וכד') ולא ניתן להגדיל ולשדרג.
- היצרן משדרג ומשבית את הסביבות בזמנים שנוחים לו. פעמים רבות זה דווקא בימי ראשון (שלא נחשבים ימי עבודה בחו"ל)
- ברוב המוצרים הדורשים רישוי, הרשיון לא בבעלותכם, כלומר הפסקת התשלום משמעה שלא ניתן להשתמש יותר בתוכנה
- במוצרי Atlassian (כגון JIRA, Confluence, Bitbucket) – לא כל ה- add-ons נתמכים בתצורת ענן (מה שיכול להביא לכך שתהיה חסרה לכם פונקציונליות חשובה)
- מדובר בתשלום חודשי בכרטיס אשראי – וחברות רבות לא רוצות או לא יכולות לשלם בצורת תשלום זו (אם כי ניתן לפתור זאת – לפרטים פנו אלינו)
- במידה וחשוב לכם לעמוד בדרישות GDPR – העניין מצריך בדיקה מדוקדקת (כולל כל התוספים וה- 3rd-parties שמחוברים לכלים בהם אתם משתמשים)
[chimpy_form forms="5"]
2) התקנה פנים ארגונית (on-premises)
הכוונה להתקנה עצמית של שרת פנים-ארגוני שיושב במשרדי החברה
יתרונות:
- אבטחת מידע בשליטה מלאה של הארגון (מאחורי firewall ועוד)
- ביצועים יהיו לרוב מצויינים הואיל ומדובר ברשת מקומית (LAN). אם לארגון כמה אתרים אז תמיד קיימת אפשרות לקו נל"ן ישיר ומהיר בין האתרים
- במוצרים שמאפשרים רשיון perpetual – הרשיון נשאר בבעלותכם לתמיד
- ניתן לשלב עם טכנולוגיות מודרניות של containers (יש לדבר יתרונות בכלי CI/CD וגם בהיבטי DR וגיבויים)
- במוצרי Atlassian – ניתן להתקין את כל סוגי ה- add-ons שניתנים להתקנה על שרת פרטי (כגון JIRA Server)
חסרונות:
- צריך לרכוש חומרה ולרוב לשלם עליה מראש (up-front)
- הארגון צריך להתעסק גם בהיבטי ה- IT (התקנות, גיבויים, שדרוגים וכו') — וזה יכול להוות חסם בחלק מהארגונים (נדרש ידע ב- IT והקצאת זמן ומשאבים)
3) שילוב של ענן והתקנה פרטית (on-premises)
ניתן לומר שהאפשרות הזו מביאה את הטוב מבין שתי האפשרויות הקודמות, ומאפשרת לגוף הפיתוח להתמקד בפיתוח ולא ב- IT ובתחזוקה מסביב.
יתרונות:
- ניתן לשלוט ברמת אבטחת המידע – ספקי הענן מאפשרים להוסיף רכיבי אבטחת מידע כגון firewall ועוד
- ניתן להחליט היכן ימוקמו פיזית השרתים – וניתן לשים אותם גם בישראל. לנקודה זו חשיבות בהיבט ביצועי תקשורת (בפרט latency). ולעתים המיקום חשוב גם בהקשר לרגולציות ועמידה בתקנים (של מדינה מסויימת / של האיחוד האירופי וכד').
- הואיל השרת נגיש מכל מקום, ניתן למנף בקלות את תצורה זו לצורך קבלת שירותים מנוהלים (managed services) מחברה המתמחה בכך.
- כל ספקי הענן ממקמים את השרתים (וה- data-centers) שלהם בסביבה מאובטחת ומוגנת פיזית (קומה תת-קרקעית ; שמירה על המתקן וכד')
- חלק מספקי הענן מציעים יתירות (redundancy) של רכיבי חומרה מעצם הקמת הסביבה דווקא אצלם (לדוג' תצורת RAID)
- ניתן לשלוט על זמני השדרוגים וההשבתות
- במוצרים שמאפשרים רשיון perpetual – הרשיון נשאר בבעלותכם לתמיד (כמו בשרת on-premises פרטי)
- לרוב מקבלים מכונה פרטית שמשמשת רק את הארגון שלכם
- ניתן לשלב עם טכנולוגיות מודרניות של containers (יש לדבר יתרונות בכלי CI/CD וגם בהיבטי DR וגיבויים)
- ניתן להגדיל את הסביבה בקלות יחסית (הוספת CPU ; הוספת זכרון ; הוספת storage ; הוספת מכונות וכו') כך שלא אמורים להתקל בחסם עליון ובצווארי בקבוק של ביצועים. הדבר מאפשר לארגון להגדיל במהירות יחסית את התמיכה ב- CI/CD במידת הצורך, וכן להיות יותר מהיר ואג'ילי.
- במוצרי Atlassian – ניתן להתקין את כל סוגי ה- add-ons שניתנים להתקנה על שרת פרטי (כגון JIRA Server ו- Bitbucket Server)
חסרונות:
- אפשרות זו לא בהכרח עומדת בדרישות אבטחת מידע של כל החברות (אם כי באפשרות זו ניתן לעמוד בתנאים מחמירים יותר מאשר בענן ציבורי)
- תלויים בתקשורת רציפה בין סביבת העבודה לבין הענן / ה- data-center שבו יושב השרת (ניתן לפתור זאת ע"י גיבוי לקו התקשורת)
- אין גישה פיזית לשרתים (אם כי לרוב כלל לא צריך)
לסיכום:
האם כדאי לעבוד בענן? לדעתי אין תשובה אחת הנכונה באופן מוחלט לכל הארגונים. התשובה תלויה בדרישות של כל ארגון, באופי הארגון ובסיטואציה בה נמצא הארגון מבחינת תקציבים, ידע, כולות IT וכד'.
יחד עם זאת ניתן לראות כי לאפשרות השלישית יש הכי הרבה יתרונות במידה והארגון לא רוצה להתעסק עם היבטי ה- IT והתשתית של סביבת הפיתוח.
חברת ALMtoolbox מתמחה במתן שירותי יעוץ לכלי עזר לפיתוח, פיתוח תוספים (add-ons) ומכירת רשיונות.
שירותים רלבנטים אותם אנו מספקים – חלקם יחודיים רק לנו:
- פריסת סביבה קיימת בתצורה שונה, לצורך הוכחת התכנות טכנולוגית (POC)
- בדיקת כדאיות כלכלית במעבר לצורת פריסה אחרת
- מתן שירותים מנוהלים (managed services) בענן פרטי וציבורי, כולל אפשרות ל- SLA ולתמיכה בעברית
- שילוב של שרת פרטי וענן לצרכים מתקדמים כגון גיבויים, התאוששות מאסון (DR) וזמינות גבוה ( HA – High Availability)
- העברת פרוייקטים מהענן לשרת פרטי או מנוהל (וגם להפך).
- חיבור בין כלים של יצרנים שונים (או קוד פתוח), כגון JIRA + GitLab + Jenkins + Slack + Docker
- מרכז תמיכה מרחוק – גם לתקופות קצרות
- מתן פתרון כולל של תכנון – הקמה – הדרכה – מכירת רשיונות – שירותים מנוהלים ותמיכה שוטפת
- מכירת רשיונות של כל היצרנים ובכל התצורות כולל ענן (אנו היחידים בארץ שמספקים רשיונות GitLab)
- אפשרות לפיתוח אינטגרציות ותוספים לכלי פיתוח (במידת הצורך)
ניתן לפנות אלינו במייל או טלפונית (072.240.5222) ולקבל רשיון התנסות לכלים, גישה להדגמות מוקלטות והצעות מחיר.
קישורים רלבנטים:
- קבלת עדכונים עתידיים על כלים (Git, GitLab, JIRA, Jenkins ועוד)
- רשימת כלים שאנו מוכרים רשיונות שלהם
- אנו מספקים מרכז תמיכה ושירות לקוחות לקבוצות פיתוח