במאמר זה, נסקור שני שירותי ענן חשובים של אורקל: Oracle Events ו-Oracle Functions. עם OE, תוכלו לעקוב אחר שינויים במשאבי הענן, ולהגיב בזמן אמת באמצעות שירותי הפונקציות, ההתראות והזרמת המידע. עם OF, תוכלו לפתח, להפיץ ולהריץ קוד מבלי הצורך בהתניות, ניהול או סקיילינג ידניים. שני השירותים הללו מנוהלים במלואם על ידי אורקל, ושירות ה-OE עומד בדרישות ותקני ה-CNCF.
באמצעות שני שירותים אלו, תוכלו לעקוב אחר שינויים בסביבת הענן שלכם ולהכין תוכניות פעולה אוטומטיות על ידי הרצת התשתית שלכם כקוד. השילוב של השירותים המוטמעים הללו משלימות את Terraform של חברת HashiCorp, המספקת ומנהלת משאבים. ביחד, הם מקלים על אוטומציה מבוססת events עבור פעולות בענן, מפשטים את הניהול בענן, מורידים את הצורך בכוח אדם ואת תכיפות טעויות האנוש.
הנה כמה דוגמאות לתרחישי שימוש עבור צוותים העובדים בענן עם שני השירותים החדשים:
• הרצת מטלות ניקוי כאשר המשאבים נגמרים
• ניתוח תיעודי רשת כאשר מתגלות פעילויות חשודות ברשת שלכם. התיעודים יכולים להעלות לאחסון אובייקטים בתשתית בענן של אורקל, או להישלח לכלי צד שלישי כמו Splunk בכדי לבצע אנליזה מעמיקה יותר
• עיבוד קובץ מיידית ובאופן אוטומטי כאשר קבצים חדשים עולים לבאקט של אחסון האובייקטים
• יצירת באקט אחסון אובייקטים פרטי כאשר מצרפים משתמש חדש
• אירכוב לתזרים את כל ה-events במיקום מסוים לצרכי אנליזה מאוחרת יותר
• יצירת טריגר שיופעל כאשר תהליכים רב פעמיים (למשל גיבוי), מסיימים לרוץ
OF מתממשק בקלות עם פלטפורמת התשתית בענן של אורקל, ובכך היא מאפשרת ל-OF לתקשר עם שירותי ענן אחרים, למשל אחסון אובייקטים, הזרמה ומחשוב באמצעות SDKים של תשתית הענן של אורקל.
בסרטון הבא ניתן לראות כיצד events, פונקציות ו-SDKים עובדים יחדיו בכדי להניע את הניהול והאוטומציה בארגון שלכם. ניתן גם לראות איך אינסטנס מחשוב חדש נוצר, וכיצד הפונקציה יוצרת באקט אחסון אובייקט אוטומטי הנושא את שם המשאב בו משתמשים לעיבוד, ביחד עם חותמת זמן. הפונקציה גם ממקמת קובץ Readme.txt בבאקט, בצירוף הודעה המאשרת כי מדובר בבאקט בטוח.
בחלק זה של המאמר, תוכלו להבין כיצד להכין את המשאבים המוזכרים בסרטון. שימו לב - פונקציית ההדגמה מפותחת בפייתון, אך חשוב לדעת שניתן לעשות זאת בשפות תכנות אחרות כמו ג'אווה, Go, רובי ו-Node.js.
לפני שמתחילים, וודאו שיש לכם את הדברים הבאים:
• חשבון בתשתית הענן של אורקל, או גרסת ניסיון חינמית
• וודאו כי המשתמשים שאינם מנהלים בתשתית שלכם אכן קיבלו את ההרשאות הרלוונטיות עבורכם – מוזמנים לקרוא עוד על הנושא כאן
• אשרו לקבוצת ה-RuleReaders לצפות ב-cloudevents-rules ב-tenancy
תרשים הזרימה הבא מראה את הפעולות הנחוצות, והמשך המאמר מרחיב על כל צעד וצעד.
הדרך הטובה ביותר ללמוד זאת היא במדריך הבא, שיראה לכם כיצד להתקין את ה-CLI של תשתית הענן של אורקל, את קליינט הפונקציות (אינסטנס מקומי או מחשובי בענן של אורקל), ואת הרג'יסטרי של תשתית הענן של אורקל (בה נרשם האימג' של הפונקציה). מדריך זה גם ילווה אתכם בהליך ההפצה של אפליקציות פשוטות ופונקציות נוספות.
צרו אפליקציה חדשה או השתמשו בזו שיצרתם בשלב אחד בכדי להפיץ את האפליקציה המוצגת בסרטון. אתם יכולים להשתמש בדוגמא זו גם בשלבים הבאים, או ליצור תרחיש שימוש משלכם.
1. בכדי ליצור אפליקציית פונקציה חדשה, בחרו ב-Developer Services בתפריט הניווט ולאחר מכן בחרו ב-Functions
2. בחרו ב-Create Application
3. בתיבת הדיאלוג החדשה שנבחרה, ספקו שם עבור האפליקציה, את מידע הרשת והתיעוד שלה. עבור התיעוד, אתם יכולים לבחור באחסון אובייקטים או בספק צד שלישי. כעת, תוכלו להשתמש גם בשירות התיעוד של אורקל
4. אופציונאלי - אם אתם רוצים להשתמש ב-Papertrail עבור התיעוד, בצעו את הצעדים הבאים:
• צרו חשבון בשירות, וגשו אל Account > Log Destinations
• העתיקו את ה-syslogurl (הדומה לזה שמוצג בצילום המסך) בכדי להשתמש בו בתיבת הדיאלוג של האפליקציה החדשה
• באופציית ה-Accept Connections via, בחרו ב-Plain Text גם עבור TCP, וגם עבור UDP.
כעת, בחרו בהוסט או VM (מקומי או אינסטנס מחשוב בענן של אורקל) בו השתמשתם בצעד 1, צרו פונקציית boilerplate חדשה בפייתון. לאחר מכן, תיווצר תיקיה חדשה עם שם הפונקציה:
1. שנו את שם התיקיה הקיים לתיקיה החדשה:
בתיקייה תמצאו את הקבצים הבאים:
• פונקציית הגדרת הקובץ: func.yami
• קובץ קוד הפונקציה: func.py
• קובץ ה-Dependencies בפונקציה: requirements.txt
אתם יכולים לעדכן את הקבצים הללו באופן ידני או לשכפל את הקוד השלם מ-GitHub. בצעד הבא, אנו נשכפל את מקום האחסון מ-Github, כך שתוכלו להסיר את הקבצים מהתיקייה הבאה:
החליפו את הקבצים שנוצרו בצעד השני עם הקבצים שהורדתם מ-GitHub.
1. בדפדפן, גשו ל-Github repository, הקליקו על Clone or Download והעתיקו את הכתובת
2. בחלון הטרמינל שנפתח 2, שכפלו את מקום האחסון בתיקייה הנוכחית – וודאו שאתם מציינים את התיקייה הנוכחית בסוף ("."), אחרת תיווצר תיקייה עם שם שטח האחסון
3. השתמשו בקוד כמו שהוא, או בצעו את השינויים הנחוצים ל-func.py, func.yami ו-requirement.txt
בדומה להפצה של הפונקציה הראשונה שלכם בצעד הראשון, אתם כעת יכולים להפיץ את הפונקציה החדשה בתשתית הענן של אורקל. מפני שכבר הגדרתם את הקבוצה הדינאמית, המדיניות ואת הרג'יסטרי בצעד 1, אתם לא צריכים לעשות זאת שוב כל עוד אתם באותה סביבת הפיתוח. וודאו שאתם עדיין נמצאים באותה התיקייה כמו בצעד 2 – שם האפליקציה הוא זה שיצרתם בשלב זה.
1. הפיצו את הפונקציה:
2. אחרי שהפונקציה הופצה, בדקו את הקונסולה בענן של אורקל ואת שטח האחסון של הרג'יסטרי. אתרו את הפונקציה מתחת לאפליקציה, כפי שניתן לראות בצילום המסך הבא:
מפני שהפונקציה יוצרת באקט אחסון אובייקט, אתם צריכים להגדיר את הפונקציה עם פרמטר namespace של אחסון אובייקט.
3. תחת Resources, הקליקו על Configuration
4. הוסיפו פרמטר עבור האפליקציה ,עם OCI_NAMESPACE בתור המפתח וה-namespace של אחסון האובייקט בתור הערך. בכדי למצוא את ה-namespace, פתחו את תפריט ה-Profile (אייקון ה-User Menu) והקליקו על Tenancy: <your_tenancy_name>. כאן, תוכלו לראות את מחרוזת ה-namespace תחת הגדרות אחסון האובייקטים.
בכדי לאפשר לפונקציה ליצור ולקרוא/לכתוב מאחסון האובייקטים, אתם צריכים להוסיף עוד מדיניות. אתם יכולים להוסיף אותה לאלו שיצרתם בצעד הראשון.
1. הוסיפו את המדיניות הבאה עם שם המחלקה שלכם וספקו את השם של הקבוצה הדינאמית שיצרתם מקודם:
2. בכדי לאפשר ל-OE לקרוא לפונקציה, צרו מדיניות חדשה והוסיפו את ההצהרה הבאה למחלקה שלכם:
לפני שתגדירו את OE להפעלת הפונקציה באופן אוטומטית, הפעילו אותה ידנית באמצעות הפורמט הבא:
עבור הפונקציה שלנו, אתם יכולים להריץ את הפקודה הבאה עם מחרוזת ה-JSON. שימו לב שאנחנו משתמשים ב-flag ה-DEBUG בכדי למצוא שגיאות כלשהן. אם אתם מוצאים כאלו – בדקו את התיעודים שהגדרנו מקודם:
אם הבאקט נוצר בהצלחה באמצעות קובץ ה-requirements.txt, זהו סימן חיובי שהפונקציה עובדת!
בצעד הזה, אתם תגדירו את OE לקרוא לפונקציה כאשר מתרחשת הפעלה של אינסטנס מחשוב. אובייקט ה-cloudEvents (העומד בתקני ה-CNCF) מועבר מ-OE אל הפונקציה. במקרה זה, הפונקציה יוצרת באקט עם שם ספציפי ויוצרת קובץ readme.txt בבאקט הזה.
1. מהתפריט הראשי בקונסולה, הקליקו על Application Integration, ואז על Events Service
2. צרו חוק עבור שירות המחשוב עם event מסוג Instance – Launch Begin. אם אתם לא רוצים להפעיל את הפונקציה עבור כולם, אתם יכולים להגביל את המיקוד – הוסיפו תכונה שמגדירה את החוק הנ"ל רק עבור הקהל הרלוונטי.
3. לאחר שהגדרתם את תנאיי החוק, הגדירו את הפעולות. בכדי לעורר פונקציה, ציינו את המחלקה בה היא נמצאת, ואת הפונקציה עצמה.
בכדי לעורר event ולבחון את החוק, הקצו VM מהקונסול. לאחר שעשיתם זאת, באקט חדש עם שם ה-VM שלכם וחותמת זמן ייווצר ויופיע בעמוד הבאקטים של אחסון האובייקטים. בבאקט ניתן יהיה למצוא קובץ readme.txt.
ועכשיו – אתם מוכנים לצאת לדרך!
במאמר זה, נסקור שני שירותי ענן חשובים של אורקל: Oracle Events ו-Oracle Functions. עם OE, תוכלו לעקוב אחר שינויים במשאבי הענן, ולהגיב בזמן אמת באמצעות שירותי הפונקציות, ההתראות והזרמת המידע. עם OF, תוכלו לפתח, להפיץ ולהריץ קוד מבלי הצורך בהתניות, ניהול או סקיילינג ידניים. שני השירותים הללו מנוהלים במלואם על ידי אורקל, ושירות ה-OE עומד בדרישות ותקני ה-CNCF.
באמצעות שני שירותים אלו, תוכלו לעקוב אחר שינויים בסביבת הענן שלכם ולהכין תוכניות פעולה אוטומטיות על ידי הרצת התשתית שלכם כקוד. השילוב של השירותים המוטמעים הללו משלימות את Terraform של חברת HashiCorp, המספקת ומנהלת משאבים. ביחד, הם מקלים על אוטומציה מבוססת events עבור פעולות בענן, מפשטים את הניהול בענן, מורידים את הצורך בכוח אדם ואת תכיפות טעויות האנוש.
הנה כמה דוגמאות לתרחישי שימוש עבור צוותים העובדים בענן עם שני השירותים החדשים:
• הרצת מטלות ניקוי כאשר המשאבים נגמרים
• ניתוח תיעודי רשת כאשר מתגלות פעילויות חשודות ברשת שלכם. התיעודים יכולים להעלות לאחסון אובייקטים בתשתית בענן של אורקל, או להישלח לכלי צד שלישי כמו Splunk בכדי לבצע אנליזה מעמיקה יותר
• עיבוד קובץ מיידית ובאופן אוטומטי כאשר קבצים חדשים עולים לבאקט של אחסון האובייקטים
• יצירת באקט אחסון אובייקטים פרטי כאשר מצרפים משתמש חדש
• אירכוב לתזרים את כל ה-events במיקום מסוים לצרכי אנליזה מאוחרת יותר
• יצירת טריגר שיופעל כאשר תהליכים רב פעמיים (למשל גיבוי), מסיימים לרוץ
OF מתממשק בקלות עם פלטפורמת התשתית בענן של אורקל, ובכך היא מאפשרת ל-OF לתקשר עם שירותי ענן אחרים, למשל אחסון אובייקטים, הזרמה ומחשוב באמצעות SDKים של תשתית הענן של אורקל.
בסרטון הבא ניתן לראות כיצד events, פונקציות ו-SDKים עובדים יחדיו בכדי להניע את הניהול והאוטומציה בארגון שלכם. ניתן גם לראות איך אינסטנס מחשוב חדש נוצר, וכיצד הפונקציה יוצרת באקט אחסון אובייקט אוטומטי הנושא את שם המשאב בו משתמשים לעיבוד, ביחד עם חותמת זמן. הפונקציה גם ממקמת קובץ Readme.txt בבאקט, בצירוף הודעה המאשרת כי מדובר בבאקט בטוח.
בחלק זה של המאמר, תוכלו להבין כיצד להכין את המשאבים המוזכרים בסרטון. שימו לב - פונקציית ההדגמה מפותחת בפייתון, אך חשוב לדעת שניתן לעשות זאת בשפות תכנות אחרות כמו ג'אווה, Go, רובי ו-Node.js.
לפני שמתחילים, וודאו שיש לכם את הדברים הבאים:
• חשבון בתשתית הענן של אורקל, או גרסת ניסיון חינמית
• וודאו כי המשתמשים שאינם מנהלים בתשתית שלכם אכן קיבלו את ההרשאות הרלוונטיות עבורכם – מוזמנים לקרוא עוד על הנושא כאן
• אשרו לקבוצת ה-RuleReaders לצפות ב-cloudevents-rules ב-tenancy
תרשים הזרימה הבא מראה את הפעולות הנחוצות, והמשך המאמר מרחיב על כל צעד וצעד.
הדרך הטובה ביותר ללמוד זאת היא במדריך הבא, שיראה לכם כיצד להתקין את ה-CLI של תשתית הענן של אורקל, את קליינט הפונקציות (אינסטנס מקומי או מחשובי בענן של אורקל), ואת הרג'יסטרי של תשתית הענן של אורקל (בה נרשם האימג' של הפונקציה). מדריך זה גם ילווה אתכם בהליך ההפצה של אפליקציות פשוטות ופונקציות נוספות.
צרו אפליקציה חדשה או השתמשו בזו שיצרתם בשלב אחד בכדי להפיץ את האפליקציה המוצגת בסרטון. אתם יכולים להשתמש בדוגמא זו גם בשלבים הבאים, או ליצור תרחיש שימוש משלכם.
1. בכדי ליצור אפליקציית פונקציה חדשה, בחרו ב-Developer Services בתפריט הניווט ולאחר מכן בחרו ב-Functions
2. בחרו ב-Create Application
3. בתיבת הדיאלוג החדשה שנבחרה, ספקו שם עבור האפליקציה, את מידע הרשת והתיעוד שלה. עבור התיעוד, אתם יכולים לבחור באחסון אובייקטים או בספק צד שלישי. כעת, תוכלו להשתמש גם בשירות התיעוד של אורקל
4. אופציונאלי - אם אתם רוצים להשתמש ב-Papertrail עבור התיעוד, בצעו את הצעדים הבאים:
• צרו חשבון בשירות, וגשו אל Account > Log Destinations
• העתיקו את ה-syslogurl (הדומה לזה שמוצג בצילום המסך) בכדי להשתמש בו בתיבת הדיאלוג של האפליקציה החדשה
• באופציית ה-Accept Connections via, בחרו ב-Plain Text גם עבור TCP, וגם עבור UDP.
כעת, בחרו בהוסט או VM (מקומי או אינסטנס מחשוב בענן של אורקל) בו השתמשתם בצעד 1, צרו פונקציית boilerplate חדשה בפייתון. לאחר מכן, תיווצר תיקיה חדשה עם שם הפונקציה:
1. שנו את שם התיקיה הקיים לתיקיה החדשה:
בתיקייה תמצאו את הקבצים הבאים:
• פונקציית הגדרת הקובץ: func.yami
• קובץ קוד הפונקציה: func.py
• קובץ ה-Dependencies בפונקציה: requirements.txt
אתם יכולים לעדכן את הקבצים הללו באופן ידני או לשכפל את הקוד השלם מ-GitHub. בצעד הבא, אנו נשכפל את מקום האחסון מ-Github, כך שתוכלו להסיר את הקבצים מהתיקייה הבאה:
החליפו את הקבצים שנוצרו בצעד השני עם הקבצים שהורדתם מ-GitHub.
1. בדפדפן, גשו ל-Github repository, הקליקו על Clone or Download והעתיקו את הכתובת
2. בחלון הטרמינל שנפתח 2, שכפלו את מקום האחסון בתיקייה הנוכחית – וודאו שאתם מציינים את התיקייה הנוכחית בסוף ("."), אחרת תיווצר תיקייה עם שם שטח האחסון
3. השתמשו בקוד כמו שהוא, או בצעו את השינויים הנחוצים ל-func.py, func.yami ו-requirement.txt
בדומה להפצה של הפונקציה הראשונה שלכם בצעד הראשון, אתם כעת יכולים להפיץ את הפונקציה החדשה בתשתית הענן של אורקל. מפני שכבר הגדרתם את הקבוצה הדינאמית, המדיניות ואת הרג'יסטרי בצעד 1, אתם לא צריכים לעשות זאת שוב כל עוד אתם באותה סביבת הפיתוח. וודאו שאתם עדיין נמצאים באותה התיקייה כמו בצעד 2 – שם האפליקציה הוא זה שיצרתם בשלב זה.
1. הפיצו את הפונקציה:
2. אחרי שהפונקציה הופצה, בדקו את הקונסולה בענן של אורקל ואת שטח האחסון של הרג'יסטרי. אתרו את הפונקציה מתחת לאפליקציה, כפי שניתן לראות בצילום המסך הבא:
מפני שהפונקציה יוצרת באקט אחסון אובייקט, אתם צריכים להגדיר את הפונקציה עם פרמטר namespace של אחסון אובייקט.
3. תחת Resources, הקליקו על Configuration
4. הוסיפו פרמטר עבור האפליקציה ,עם OCI_NAMESPACE בתור המפתח וה-namespace של אחסון האובייקט בתור הערך. בכדי למצוא את ה-namespace, פתחו את תפריט ה-Profile (אייקון ה-User Menu) והקליקו על Tenancy: <your_tenancy_name>. כאן, תוכלו לראות את מחרוזת ה-namespace תחת הגדרות אחסון האובייקטים.
בכדי לאפשר לפונקציה ליצור ולקרוא/לכתוב מאחסון האובייקטים, אתם צריכים להוסיף עוד מדיניות. אתם יכולים להוסיף אותה לאלו שיצרתם בצעד הראשון.
1. הוסיפו את המדיניות הבאה עם שם המחלקה שלכם וספקו את השם של הקבוצה הדינאמית שיצרתם מקודם:
2. בכדי לאפשר ל-OE לקרוא לפונקציה, צרו מדיניות חדשה והוסיפו את ההצהרה הבאה למחלקה שלכם:
לפני שתגדירו את OE להפעלת הפונקציה באופן אוטומטית, הפעילו אותה ידנית באמצעות הפורמט הבא:
עבור הפונקציה שלנו, אתם יכולים להריץ את הפקודה הבאה עם מחרוזת ה-JSON. שימו לב שאנחנו משתמשים ב-flag ה-DEBUG בכדי למצוא שגיאות כלשהן. אם אתם מוצאים כאלו – בדקו את התיעודים שהגדרנו מקודם:
אם הבאקט נוצר בהצלחה באמצעות קובץ ה-requirements.txt, זהו סימן חיובי שהפונקציה עובדת!
בצעד הזה, אתם תגדירו את OE לקרוא לפונקציה כאשר מתרחשת הפעלה של אינסטנס מחשוב. אובייקט ה-cloudEvents (העומד בתקני ה-CNCF) מועבר מ-OE אל הפונקציה. במקרה זה, הפונקציה יוצרת באקט עם שם ספציפי ויוצרת קובץ readme.txt בבאקט הזה.
1. מהתפריט הראשי בקונסולה, הקליקו על Application Integration, ואז על Events Service
2. צרו חוק עבור שירות המחשוב עם event מסוג Instance – Launch Begin. אם אתם לא רוצים להפעיל את הפונקציה עבור כולם, אתם יכולים להגביל את המיקוד – הוסיפו תכונה שמגדירה את החוק הנ"ל רק עבור הקהל הרלוונטי.
3. לאחר שהגדרתם את תנאיי החוק, הגדירו את הפעולות. בכדי לעורר פונקציה, ציינו את המחלקה בה היא נמצאת, ואת הפונקציה עצמה.
בכדי לעורר event ולבחון את החוק, הקצו VM מהקונסול. לאחר שעשיתם זאת, באקט חדש עם שם ה-VM שלכם וחותמת זמן ייווצר ויופיע בעמוד הבאקטים של אחסון האובייקטים. בבאקט ניתן יהיה למצוא קובץ readme.txt.
ועכשיו – אתם מוכנים לצאת לדרך!
הודעתך לא התקבלה - נסה שוב מאוחר יותר
Oops! Something went wrong while submitting the form