היכרות עם סביבות ב-Salesforce

ליאור נכתב על ידי ליאור לביא, עודכן בתאריך 13/02/2022

בפוסט זה נלמד מהן סביבות ב-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 להמחשה

Data Centers and Instances

על מנת לזהות כל לקוח ולהעניק לו גישה רק לנתונים וההגדרות שלו בתוך ה-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 נחלקות לארבעה סוגים:

  1. Full Copy
  2. Partial Copy
  3. Developer Pro
  4. Developer

בטבלה הבאה נוכל לראות ההבדלים בין סוגי הסביבות השונים:

Full Copy Partial Copy Developer Pro Developer
תדירות ריענון 29 ימים 5 ימים יום 1 יום 1
נפח זיכרון זהה לסביבת המקור ממנה הועתקה. לרוב סביבת המקור תהיה סביבת הייצור. 5 GB 1 GB 200 MB
כולל
  • קונפיגורציות - Vlidation rules, Process Builder, Workflows וכדומה.
  • Apex & Metadata
  • כל המשתמשים
  • רשומות (כולן או מאובייקטים נבחרים)
  • תמיכה בתבניות Sandbox 🛈
  • (אופציונלי) היסטוריה ונתוני Chatter
  • קונפיגורציות - Vlidation rules, Process Builder, Workflows וכדומה.
  • Apex & Metadata
  • כל המשתמשים
  • רשומות (מדגם מאובייקטים נבחרים)
  • תמיכה בתבניות Sandbox 🛈
  • קונפיגורציות - Vlidation rules, Process Builder, Workflows וכדומה.
  • Apex & Metadata
  • כל המשתמשים
  • קונפיגורציות - Vlidation rules, Process Builder, Workflows וכדומה.
  • Apex & Metadata
  • כל המשתמשים
  • תדירות ריענון - נתון זה מציין כל כמה זמן נוכל למחוק לחלוטין את סביבת הפיתוח שלנו וליצור במקומה אחת חדשה ונקייה. פעולה זאת מאפשרת לנו לבצע "יישור קו" ולוודא שהסביבה בה אנחנו מפתחים זהה ככול הניתן לסביבה הבאה אליה נעביר את הפיתוח שלנו.
  • נפח זיכרון - נתון זה מציין כמה זיכרון מוקצה לסביבה שלנו לטובת אחסון רשומות, Data, בסביבה.

שימוש בסביבות פיתוח מסוגים שונים לשלבי פיתוח שונים

Full Copy Partial Copy Developer Pro Developer
פיתוח
אבטחת איכות (QA)
בדיקות אינטגרציה
בדיקות עיבוד נתונים ב-Batch
הדרכות
בדיקות קבלה
בדיקות ביצועים ועומסים
הכנה לקראת העברה לסביבת הייצור

מחזור חיי פיתוח מומלץ בתצורת Sandboxs ב-Salesforce

Salesforce Recommended Development Life Cycle

כיצד להגדיר סביבות חדשות

כדי ליצור סביבות חדשות ב-Salesforce בצע את השלבים הבאים:

  1. היכנס למסך ה-Setup. במסך ה-Setup בתפריט הצד בחר Home > Platform Tools > Environments > Sandboxes. Sandboxes Menu Item
  2. תחת הלשונית Sandboxes נראה שני דברים: סיכום סוגי הרישיונות עבור Sandboxes הזמינים לנו, וטבלה שמציגה את סביבות ה-Sandbox הקיימות שלנו עם כפתור ליצירת סביבה חדשה. Available Sandbox Licenses.png Sandboxes Tab

    בטבלה עצמה נראה את העמודות הבאות:

    1. Action

      עמודה זאת מכילה את הפעולות אותן ניתן לבצע על סביבת ה-Sandbox שלנו:

      • Clone - העתקת הסביבה.
      • Delete- מחיקת הסביבה.
      • Refresh - ריענון הסביבה, יצירה מחדש של הסביבה.
      • Log In - התחברות לסביבה. לחיצה על קישור זה תפתח לשונית דפדפן חדשה להתחברות לסביבת ה-Sandbox עם המשתמש אתו לחצת על הקישור בסביבת הייצור.

    2. Name

      שם הסביבה. לחיצה על הקישור תפתח מסך עם מידע נוסף על הסביבה.

    3. Type

      סוג הסביבה: Full, Partial Copy, Developer Pro, Developer.

    4. Status

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

    5. Location

      שם ה-Instance עליו יושבת הסביבה שלנו.

    6. Current Org Id

      המזהה הייחודי של סביבת ה-Sandbox שלנו.

    7. Completed On

      התאריך והשעה בו הסתיימה יצירת הסביבה.

    8. Description

      תיאור הסביבה כפי שהגדרנו אותו בעת יצירת הסביבה.

    9. Copied From

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

  3. לחץ על הכפתור New Sandbox.
  4. במסך Create Sandbox נזין שלושה ערכים:
    1. Name - שם הסביבה החדשה שלנו, ללא רווחים.
    2. Description - תיאור עבור הסביבה שלנו.
    3. Created From - בחירת הסביבה ממנה נרצה ליצור את הסביבה החדשה שלנו כעותק.
  5. תחת Sandbox License נלחץ על הכפתור Next תחת הרישוי בו נרצה להשתמש, בהתאם לסוג סביבת ה-Sandbox אותה אנחנו מעוניינים ליצור. Create Sandbox
  6. המסך הבא, תחת Sandbox Options נוכל לבחור מחלקה שתרוץ באופן אוטומטי לאחר יצירת הסביבה. מחלקה זאת יכולה ליצור עבורנו רשומות ולשנות הגדרות בסביבה כדי לאתחל אותה בהתאם לצרכים שלנו. Create Sandbox - Apex Class

אופציה נוספת שקיימת בעמוד ה-Sandboxes היא האפשרות להשתמש ב-Sandbox template לבחירת אובייקטים מהם נרצה להעתיק רשומות לסביבה החדשה. אופציה זאת קיימת עבור סביבות Sandbox מסוג Full ו-Partial. על מנת להשתמש באופציה זאת נלחץ על הלשונית Sandbox Template ולאחר מכן נלחץ על הכפתור New Sandbox Template.

Sandbox Templates

במסך New Sandbox Template נגדיר שם לתבנית שלנו, נוסיף תיאור קצר ונסמן את האובייקטים מהם נרצה לייבא רשומות לסביבה החדשה שלנו.

New Sandbox Template

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

Create Sandbox Using Template

לקריאה נוספת