היכרות עם סביבות ב-Salesforce
בפוסט זה נלמד מהן סביבות ב-Salesforce, כיצד הן מוגדרות ומהם השימושים הנפוצים בהן.
לאחר קריאת פוסט זה תדע:
- מהם Instances, organizations ו-סביבות ב-Salesforce.
- מהם סוגי סביבות הפיתוח השונות ב-Salesforce ואיזה תפקיד יש להן ב-Pipeline שלנו, מפיתוח ראשוני ועד עלייה לאוויר.
- כיצד להגדיר סביבות חדשות.
מהם Instances, Organizations וסביבות ב-Salesforce
כדי להבין מהן סביבות, ראשית עלינו להבין כיצד Salesforce עובדת, ברמה הפיזית והלוגית.
בבעלות Salesforce מספר Data centers ברחבי העולם. כל Data center מורכב ממספר רב של משאבי IT: שרתי אפליקציה, שרתי Database, שירותי חיפוש ואינדוקס, אחסון קבצים ועוד.
תחת כל Data Center מוגדרים מספר Instances. כל Instance הוא איגוד של כל משאבי ה-IT הנדרשים על מנת לספק ללקוחות Salesforce את שירותיה, וכל Instance משרת כ-10,000 לקוחות. ארכיטקטורה זו, במסגרתה מספר רב של לקוחות מקבלים שירות מאותו ה-Instance, ידועה גם בשם Multitenancy. ה-Instances עצמם נחלקים לשני סוגים: Production ו-Sandboxs. שמות ה-Instances מסוג Production יהיו שתי אותיות המייצגות את המיקום הגיאוגרפי שלהם (EU עבור אירופה ו-NA עבור צפון אמריקה, לדוגמה) ומספר. לדוגמה, EU32 או NA1. ה-Instances של סביבות הפיתוח, ה- Sandboxs, נקראים CS (עבור Client Sandbox) ומספר, לדוגמה CS192.
היררכית רכיבי ה-IT ב-Salesforce להמחשה
על מנת לזהות כל לקוח ולהעניק לו גישה רק לנתונים וההגדרות שלו בתוך ה-Instance המשותף לו וללקוחות אחרים, Salesforce יוצרת לכל לקוח מפתח ייחודי המכונה Organization ID. כאשר משתמש ניגש לעמוד https://login.salesforce.com ומזין שם משתמש וסיסמה, Salesforce מזהה לאיזה Organization ID המשתמש משויך ומאפשרת לו גישה לממשק שלה בדפדפן תוך שהיא חושפת לו רק את הנתונים המשויכים ל-Organization ID שלו. Organization אם כך, הוא אוסף ההגדרות והנתונים שיש ללקוח גישה אליהם באמצעות ה-Organization ID שלו.
סביבה היא Organization שיש לו תכלית מוגדרת. לדוגמה, סביבת הייצור שלנו, היא אוסף ההגדרות והנתונים אליהם יש לנו ולמשתמשים שלנו גישה ובה אנחנו עובדים עם נתוני אמת. סביבת הייצור שלנו תהיה חלק מ-Instance ייצור כמו EU36 או NA3. מתוך סביבת הייצור שלנו נוכל ליצור סביבות חדשות מסוג Sandbox. סביבות אלו יוקמו על ידי Salesforce אוטומטית על Instances כמו CS192 או CS104 ויאפשרו לנו לבצע בדיקות, לכתוב פיתוחים ולבצע הדרכות, מבלי לסכן את סביבת הייצור שלנו.
סיכום
- Data Center
- חוות שרתים המכילה מספר רב של רכיבי IT כמו שרתי אפליקציה, שרתי Database, שירותי אינדוקס וחיפוש ומערכות קבצים.
- Instance
- איגוד של רכיבי IT ב-Data Center באמצעותם Salesforce מסוגלת לספק ללקוחותיה את כל השירותים שלה. כל Instance מעניק שירותים לכ-10,000 לקוחות. Instances נחלקים לשני סוגים: Production ו-Sandbox.
- Organization
- אוסף הגדרות ונתונים המזוהים על ידי Organization ID ונחשפים אך ורק למשתמשים המשויכים ל-Organization ID הספציפי.
- סביבה
- Organization עם תכלית מוגדרת, כמו ייצור, פיתוח, בדיקות וכדומה.
מהם סוגי הסביבות השונות ב-Salesforce ואיזה תפקיד יש להן ב-Pipeline שלנו, מפיתוח ראשוני ועד עלייה לאוויר
אחד העקרונות הבסיסיים בפיתוח תוכנה הוא שלא מבצעים שינויים ישירות בסביבת הייצור. לפני שנכניס שינויים לסביבת הייצור נרצה לפתח אותם בסביבה נפרדת, בה נוכל לבצע בדיקות ולבחון את הקוד שלנו מבלי להפריע לשגרת העבודה של המשתמשים שלנו. לשם כך Salesforce תומכת במספר תצורות פיתוח שונות, כאשר אחת מהן מתבססת על שימוש בסביבות ייעודיות מסוג Sandbox.
סביבות ה-Sandbox של Salesforce נחלקות לארבעה סוגים:
- Full Copy
- Partial Copy
- Developer Pro
- Developer
בטבלה הבאה נוכל לראות ההבדלים בין סוגי הסביבות השונים:
Full Copy | Partial Copy | Developer Pro | Developer | |
---|---|---|---|---|
תדירות ריענון | 29 ימים | 5 ימים | יום 1 | יום 1 |
נפח זיכרון | זהה לסביבת המקור ממנה הועתקה. לרוב סביבת המקור תהיה סביבת הייצור. | 5 GB | 1 GB | 200 MB |
כולל |
|
|
|
|
- תדירות ריענון - נתון זה מציין כל כמה זמן נוכל למחוק לחלוטין את סביבת הפיתוח שלנו וליצור במקומה אחת חדשה ונקייה. פעולה זאת מאפשרת לנו לבצע "יישור קו" ולוודא שהסביבה בה אנחנו מפתחים זהה ככול הניתן לסביבה הבאה אליה נעביר את הפיתוח שלנו.
- נפח זיכרון - נתון זה מציין כמה זיכרון מוקצה לסביבה שלנו לטובת אחסון רשומות, Data, בסביבה.
שימוש בסביבות פיתוח מסוגים שונים לשלבי פיתוח שונים
Full Copy | Partial Copy | Developer Pro | Developer | |
---|---|---|---|---|
פיתוח | ✅ | ✅ | ||
אבטחת איכות (QA) | ✅ | ✅ | ✅ | |
בדיקות אינטגרציה | ✅ | ✅ | ||
בדיקות עיבוד נתונים ב-Batch | ✅ | ✅ | ||
הדרכות | ✅ | ✅ | ||
בדיקות קבלה | ✅ | ✅ | ||
בדיקות ביצועים ועומסים | ✅ | |||
הכנה לקראת העברה לסביבת הייצור | ✅ |
מחזור חיי פיתוח מומלץ בתצורת Sandboxs ב-Salesforce
כיצד להגדיר סביבות חדשות
כדי ליצור סביבות חדשות ב-Salesforce בצע את השלבים הבאים:
- היכנס למסך ה-Setup. במסך ה-Setup בתפריט הצד בחר Home > Platform Tools > Environments > Sandboxes.
- תחת הלשונית Sandboxes נראה שני דברים: סיכום סוגי הרישיונות עבור Sandboxes הזמינים לנו, וטבלה שמציגה את סביבות ה-Sandbox הקיימות שלנו עם כפתור ליצירת סביבה חדשה.
בטבלה עצמה נראה את העמודות הבאות:
-
Action
עמודה זאת מכילה את הפעולות אותן ניתן לבצע על סביבת ה-Sandbox שלנו:
- Clone - העתקת הסביבה.
- Delete- מחיקת הסביבה.
- Refresh - ריענון הסביבה, יצירה מחדש של הסביבה.
- Log In - התחברות לסביבה. לחיצה על קישור זה תפתח לשונית דפדפן חדשה להתחברות לסביבת ה-Sandbox עם המשתמש אתו לחצת על הקישור בסביבת הייצור.
-
Name
שם הסביבה. לחיצה על הקישור תפתח מסך עם מידע נוסף על הסביבה.
-
Type
סוג הסביבה: Full, Partial Copy, Developer Pro, Developer.
-
Status
מצב הסביבה. לאחר יצירת סביבה חדשה או ריענון סביבה קיימת שדה זה יספק לנו מידע על התקדמות יצירת הסביבה או הריענון שלה.
-
Location
שם ה-Instance עליו יושבת הסביבה שלנו.
-
Current Org Id
המזהה הייחודי של סביבת ה-Sandbox שלנו.
-
Completed On
התאריך והשעה בו הסתיימה יצירת הסביבה.
-
Description
תיאור הסביבה כפי שהגדרנו אותו בעת יצירת הסביבה.
-
Copied From
בעת יצירת סביבת Sandbox מסביבת Sandbox אחרת, שדה זה יכיל את שם הסביבה ממנה העתקנו את הסביבה החדשה.
-
Action
- לחץ על הכפתור New Sandbox.
- במסך Create Sandbox נזין שלושה ערכים:
- Name - שם הסביבה החדשה שלנו, ללא רווחים.
- Description - תיאור עבור הסביבה שלנו.
- Created From - בחירת הסביבה ממנה נרצה ליצור את הסביבה החדשה שלנו כעותק.
- תחת Sandbox License נלחץ על הכפתור Next תחת הרישוי בו נרצה להשתמש, בהתאם לסוג סביבת ה-Sandbox אותה אנחנו מעוניינים ליצור.
- המסך הבא, תחת Sandbox Options נוכל לבחור מחלקה שתרוץ באופן אוטומטי לאחר יצירת הסביבה. מחלקה זאת יכולה ליצור עבורנו רשומות ולשנות הגדרות בסביבה כדי לאתחל אותה בהתאם לצרכים שלנו.
אופציה נוספת שקיימת בעמוד ה-Sandboxes היא האפשרות להשתמש ב-Sandbox template לבחירת אובייקטים מהם נרצה להעתיק רשומות לסביבה החדשה. אופציה זאת קיימת עבור סביבות Sandbox מסוג Full ו-Partial. על מנת להשתמש באופציה זאת נלחץ על הלשונית Sandbox Template ולאחר מכן נלחץ על הכפתור New Sandbox Template.
במסך New Sandbox Template נגדיר שם לתבנית שלנו, נוסיף תיאור קצר ונסמן את האובייקטים מהם נרצה לייבא רשומות לסביבה החדשה שלנו.
כעת כשנרענן את סביבת ה-Partial Copy שלנו נראה אפשרות לבחירת אחת מהתבניות שיצרנו ואת האובייקטים מהם ידגמו הנתונים שלנו לצד האפשרות לבצע הפעלה אוטומטית של הסביבה ברגע שהיא מוכנה, ובחירת מחלקה להרצה מיד לאחר ההפעלה שלה.