העברת אתר מסביבת פיתוח לסביבת ייצור בקלות באמצעות Azure Websites

2 בפברואר 2015

תגיות: , ,
אין תגובות

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

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

אך כעת – יכולת חדשה ב-Azure Websites מאפשרת לנהל גרסאות בסביבות שונות עבור אתר Azure Websites. הדגש ביכולת הוא שימוש בהעתק של האתר וביצוע החלפה (Swap) בין אתר הפיתוח לבדיקות, בין הבדיקות לקדם ייצור ולבסוף בין קדם הייצור לייצור. בנוסף – מתן יכולת להעברה בשלבים של אתר תוך חשיפת מספר מוגבל של משתמשים לאתר החדש.

שלב ראשון – נכנסים לניהול האתר

1

וכאן נראה שהתווספה יכולת חדשה – Add new deployment slot

2

במסך שנפתח ניתן לבחור את שם ה-Slot והאם להעתיק קונפיגורציה מ-Slot קיים

3

נבנה לצורך ההדגמה שתי סביבות – Dev ו-QA ונקבל בעצם שלושה אתרים שונים עם כתובות שונות:

4

כאשר כפתור הקסם clip_image002 ישאל אותנו אילו אתרים אנחנו רוצים להחליף. ככה בעצם תיראה העברה לייצור של הגרסה שכרגע ב-QA:

5

עד כאן זה דומה מאד למה שהיה עד כה אבל בתוספת של יצירת מספר סביבות לפי הדרישות.

העברה הדרגתית לייצור

לטובת ההמשך נעבור לפורטל החדש של Azure (מי שלא מכיר – מומלץ לצפות בהרצאת היכרות ב-Channel9)

כאן נגלה קוביה חדשה (שעשויה להיות בכל מקרה לפי ההגדרות האישיות שלכם) שנקראת Testing in production

7

במסך שנפתח נוכל להגדיר תמהיל גלישה של משתמשים ל-Slots השונים שלנו. לדוגמא – אם אנו רוצים ש-5% מתעבורת האתר תעבור לסביבת QA כדי לראות איך היא מתנהגת נגדיר כך:

8

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

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

העלאת אתר בהדרגה

אותו הסקריפט לייצר את מה שעשינו קודם יראה כך:

9

אך כעת ניתן להרחיב את הפעולה בצורה הבאה:

10

במקרה הזה – בכל 5 דקות, הגדל את התעבורה לאתר QA ב-5% עד להעברת 30% מהתעבורה ל-QA.

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

לסיכום

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

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

הרצאה בנושא ניתן לראות ב-Azure Friday @ Channel9

 

 

שאלות נוספות בנושא Azure? כנסו לפורום שלנו בעברית ומיטב מומחי הקהילה ינסו לסייע לכם!

ארנון גולדשטייןהפוסט נכתב ע"י ארנון גולדשטיין, יועץ בקבוצת היועצים של מיקרוסופט (MCS ) העוסקת בייעוץ בתחומי ארכיטקטורה, פיתוח, CRM ו- ALM.

הוסף תגובה
facebook linkedin twitter email

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *