Azure Service Fabric: מה שאתה צריך לדעת

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

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

היכרות עם Service Service Azure

חבוי ביסודות התכלת, שירות בד יכול להיות קשה לתאר. אבל אנחנו רואים את זה כל הזמן, בכלים שאנחנו משתמשים כדי לבנות תוכנה מקורית לענן שלנו. זה לב ליבם של פלטפורמת ה- Event Hubs ו- IoT של Azure, מסדי הנתונים של SQL ו- Cosmos DB שלה, ורבים משירותי הארגון והצרכן שאנו משתמשים בהם מדי יום. בעזרת Azure Service Fabric, אתה מקבל גישה לאותם כלים שמשמשת מיקרוסופט להפעלת ולניהול שירותים משלה, ובנייתם ​​לקוד משלך.

הכוונה של Azure Service Fabric היא להקל על פריסה וניהול של מיקרו-שירותים, תוך טיפול הן בפעולות סטטטיות והן חסרות אזרחות על פני מופע Azure של PaaS. זה לא רק עבור Azure, מכיוון שכלי הפיתוח המקומי הוא גרסה מלאה של Azure Service Fabric, מה שאומר שהוא יפעל בכל מערכת Windows. גרסת לינוקס הופכת אותו לנייד גם על פני מספר עננים, ומטפל בקוד קיים ומותאם אישית.

Azure Service Fabric מנהל את מחזור חיי היישומים שלך, עם ממשקי API המעניקים גישה נוספת לפלטפורמה מעבר לקוד העצמאי גרידא. זה גם תומך בשירותי המיקרו-שירותים / ההודעות שלו, כמו גם באירוח קוד ASP.Net Core. שירותים יכולים לפעול באופן מקורי כתהליכים, או שאתה יכול לארח אותם במכולות, מה שמאפשר לך להביא במהירות קוד קיים ל- PaaS של Azure. מיכלים מתערבבים עם מודלים אחרים של יישום Azure Service Fabric ומאפשרים לך לכלול במהירות פונקציונליות קיימת באמצעות הרמה-משמרת או באמצעות יישומים ארוזים ספציפיים.

התחל לעבוד עם Azure Service Fabric

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

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

מיקרוסופט מקלה על בניית קצוות אינטרנט ויישומים מוכרים ב- Azure Service Fabric עם תמיכה ב- ASP.Net Core. למרות שזה לא תואם קוד ל- 100 אחוז עם ASP.Net MVC, אתה יכול להעביר קוד קיים לפלטפורמה החדשה. יש תמיכה בבניית שירותים חסרי מדינה ושירותי מדינה, מסירת תזמורת יישומים ושינוי קנה המידה ל- Azure Service Fabric.

מקביליות בהרחבה עם שחקנים

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

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

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

תכלת השירות של Azure יוצרת קוד פתוח

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

מעבר למודל פיתוח קוד פתוח, לצד תהליך עיצוב פתוח, הוא התחייבות מסיבית לטכנולוגיה בסיסית כמו Azure Service Fabric. בעוד שהמנתח הראשוני של קוד הקוד הפתוח מבוסס על לינוקס, צוות הפיתוח של מיקרוסופט ציין כי הקוד המבוסס על Windows הפועל כעת ב- Azure יגיע בקרוב. הפיתוח יתבצע ב- GitHub, כאשר חלק ניכר מהעבודות הראשוניות התמקדו בהשלמת המעבר מהפלטפורמות הפנימיות של מיקרוסופט לתהליך הפונה לציבור.

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

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