נניח שאתה עובד בחברת בריאות המספקת את שירותיה דרך פלטפורמת אינטרנט. ממשק המשתמש של פלטפורמה זו מוגדר כאפליקציית אינטרנט PHP המארחת בשירותי Azure App. עדכונים תכופים לקוד המקור של האפליקציה מופצים לייצור כדי לשפר תכונות או לטפל בבאגים.עם זאת, עדכונים אלה לפעמים מביאים לבעיות:
- באגים שאינם מזוהים: למרות בדיקות קפדניות, בודקים לפעמים מפספסים באגים קריטיים, מה שמוביל לבעיות בסביבת הייצור.
- זמן השבתה: כאשר מזוהים באגים, החזרת שינויים גורמת להפרעות בשירות, מה שמ frustrates את המשתמשים הסופיים.
- התקנות איטיות: תהליך ההתקנה והקומפילציה משפיע על תגובת האפליקציה, במיוחד בזמנים של שימוש גבוה, מה שמוביל לאי-נוחות של המשתמשים.
האם יש פתרון טוב יותר להבטיח עדכונים חלקים מבלי להפסיק את השירותים? כן! Microsoft Azure מציעה תכונה חזקה הידועה בשם deployment slots.
Azure Deployment Slots
מיקרוסופט אזור מיקומים מציעים דרך יעילה ואמינה לנהל עדכוני אפליקציות. עם מיקומי פריסה, אתה יכול לשמור על גרסאות חדשות וישנות של האפליקציה שלך בו זמנית. החלפת בין שתי הגרסאות היא פשוטה כמו כמה לחיצות עכבר, מה שמבטל את הצורך בשחזור קוד הממושך.
מהם מיקומי פריסה, וכיצד הם פועלים?
מיקומי פריסה של אזור הם תכונה ב-שירותי אפליקציות אזור המאפשרת לך ליצור סביבות נפרדות לפריסה ובדיקת האפליקציה שלך לפני שעושים אותה זמינה לכל המשתמשים הסופיים. כל מיקום פריסה פועל כ-instance עצמאי של האפליקציה שלך, שניתן להתאים אישית למטרות ספציפיות, כגון:
- בדיקות: לבדוק ולאמת שינויים לפני המעבר לייצור.
- ייצור: לשרת את המשתמשים הסופיים עם גרסה יציבה של האפליקציה.
- מיקומים נוספים: בהתאם לתוכנית התמחור שלך, תוכל ליצור מיקומים עבור QA, בדיקות או סביבות אחרות.
תכונות מרכזיות של מיקומי פריסה
מקרים מחוממים מראש
כאשר אתה מפרסם ל-slot של staging, ה-slot מחומם מראש. זה אומר שהאפליקציה מוכנה לחלוטין ומוכנה לטפל בבקשות משתמש עם מינימום של השהיה.
החלפת ה-slot של staging ל-production מבטיחה שאין השבתה או עיכוב של התחלה קרה.
הפניית תנועה ללא תקלות
במהלך ההחלפה, הפניית התנועה בין ה-slots היא חלקה, מה שמבטיח שאין בקשות משתמש שנופלות.
יכולת חזרה אחורה
אם מתעוררות בעיות לא צפויות לאחר החלפת גרסה חדשה ב-production, אתה יכול מיד לחזור ל"הגדרה האחרונה הידועה כטובה".
כיצד ה-slots של הפריסה פותרים את הבעיה
זיהוי באגים לפני ה-production
על ידי פריסת הקוד החדש ל-slot של staging, הבודקים יכולים לאמת את האפליקציה בסביבה שמשקפת את ה-production. זה מפחית את הסיכון לבאגים שלא זוהו.
ללא הפסקות שירות
מכיוון שהאפליקציה חוממה מראש ב-slot של staging, ההחלפה ל-production מתבצעת ללא השבתה, ומספקת שירותים רציפים למשתמשים הסופיים.
פריסות מהירות יותר
החלפת slots היא מיידית בהשוואה לשיטות פריסה מסורתיות, מה שמפחית באופן משמעותי את הזמן הנדרש לפריסה ומשפר את התגובה.
הגדרת והקניית אפליקציית Web של Azure
1. ליצירת אפליקצית אינטרנט
התחברו ל־פורטל Azure עם החשבון שלכם. חפשו שירותי אפליקציות ולחצו עליו.
לחצו על אפליקציית אינטרנט.
בחרו 1 עד 7 ערכים כפי שנדרש לאפליקציה שלכם, ולאחר מכן לחצו על בחינה + יצירה, ואז על יצירה. שם האפליקציה בדוגמה זו הוא webappdemotosrs.
webappdemotosrs(אפליקציית אינטרנט) ניתן לגישה דרך כתובת ה־URL המוגדרת כברירת מחדל.
2. יצירת גרסאות פרסום
לחצו על גרסאות פרסום בחלון.
לחצו על הוספת גרסה.
תנו לגרסה שם (Name).
בחר אם לשכפל הגדרות מסלוט אחר. אם תבחר לשכפל, ההגדרות יועתקו לסלוט החדש שלך מהסלוט שתציין.
לחץ על הוסף.
סלוט נוצר עם השם הנתון.
הגדר הגדרות פריסת אפליקציית אינטרנט
במשימה זו, תגדיר את הגדרות הפריסה של אפליקציית אינטרנט. הגדרות הפריסה מאפשרות פריסה רציפה. זה מבטיח לשירות האפליקציה יש את הגרסה האחרונה של האפליקציה. בסלוט שלב הבדיקה, בחר במרכז הפריסה ולאחר מכן בחר הגדרות. ברשימת הנפתח של המקור, בחר Git חיצוני. שים לב לבחירות האחרות.
- בשדה המאגר, הזן: https://github.com/Azure-Samples/php-docs-hello-world.
- בשדה הסניף, הזן master. בחר שמור.
- מהסלוט שלב הבדיקה, בחר סקירה כללית.
- בחר את הקישור של הדומיין ברירת המחדל, ופתח את ה-URL בלשונית חדשה.
- אמת שהסל של הבמה מציג Hello World.
3. החלפת סל פריסה
לחץ על החלף.
לחץ על התחל החלפה.
ברגע שההחלפה הושלמה, תופיע הודעה שתציג את הסטטוס שלה.
4. לאחר החלפת סל פריסה
ייצוא URL של דומיין ברירת המחדל בייצור:
סל הבמה ייצוא URL של דומיין ברירת המחדל יהיה כך
זה מדגים שאחרי החלפת סל פריסה, סל הייצור מתחיל להריץ את הקוד החדש בעוד שסל הבמה חוזר לקוד הישן.
סיכום
במאמר זה, למדנו כיצד ליצור ולשמש בחריצי פריסה בשירות האפליקציות של אז'ור. השתמשנו בחריצים כדי לבדוק ולהציג גרסאות חדשות של האפליקציה שלנו והחלפנו את חריצי הפריסה הללו. אנו יכולים להחליף חריצים כדי לפרוס אפליקציה שנבדקה לסביבת הייצור ולהחזיר אפליקציה שנפרסה כאשר מתעוררות בעיות בלתי צפויות.כשמשתמשים בחריצי פריסה, זכרו שאז'ור מחמם אפליקציה לפני ההחלפה, והפניית התנועה היא מיידית. התוצאה היא שהאפליקציה שלכם נפרסת ללא הפסקות שירות או ירידות בביצועים.
Source:
https://dzone.com/articles/azure-web-apps-deployment-slots