מעבר חלק מ-Elasticsearch ל-OpenSearch

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

עלייה ל־OpenSearch צריכה להתוות אם אתה משתמש בגרסאות של Elasticsearch עד 7.10 ורוצה להימנע מהגבלות רישיון שהוכנסו עם רישיון SSPL של Elasticsearch. זה מתאים גם לאלה שמחפשים גישה מתמשכת לאקוסיסטם פתוח בזמן ששומרים על תאימות עם ממשקי ה־API של Elasticsearch וכלי. ארגונים שממוקדים על חדשנות בהנהלה משותפת, שקיפות או בפיקוח על עלויות ימצאו ב־OpenSearch אפשרות משכנעת.

היסטוריה

אלסטיקסרץ', שפותח במקור על ידי שי בנון ב-2010, צמח כמנוע חיפוש וניתוח פתוח ועוצמתי שנבנה על Apache Lucene. הוא זכה בפופולריות מהירה בגלל הקיפול שלו, טבעו המבוצע, ויכולות החזותיות בחיפוש מלא טקסט, ניתוח קבצים יומנים, ועיבוד נתונים בזמן אמת. במהלך השנים, אלסטיקסרץ' הפך להיות חלק מ- Elastic Stack (שהייתה ידועה קודם בשם ELK Stack), השולב עם Kibana, Logstash, ו- Beats כדי לספק פתרונות ניהול נתונים מקצה לקצה.

עם זאת, שינוי משמעותי התרחש ב-2021 כאשר Elastic העבירה את אלסטיקסרץ' ואת Kibana לרישיון SSPL המוגבל יותר. בתגובה, AWS וקהילת הקוד הפתוח עשו fork ל- Elasticsearch 7.10 ול- Kibana על מנת ליצור את OpenSearch, שנאמן לרישיון Apache 2.0. OpenSearch התפתח מאז כמפרוייקט מוביל על ידי הקהילה, מבטיח אלטרנטיבה אמיתית ופתוחה עם יכולות ניתוח ופיתוח מתמשך המיועד למקרי שימוש בחיפוש, תצפית, וניתוח.

למה להעביר ל- OpenSearch?

1. תחייב אמינות לקוד פתוח

OpenSearch נאמן לרישיון Apache 2.0, מבטיח גישה אמיתית לקוד פתוח. בניגוד לכך, המעבר של Elasticsearch לרישיון SSPL המוגבל יותר גרם לדאגות בנוגע לנעילת ספק ולהפחתת התרומות של הקהילה.

2. יעילות כלכלית

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

3. תאימות

OpenSearch שומרת על תאימות עם גרסאות של Elasticsearch עד 7.10, כולל רבים מהAPIים והכלים השונים. זה מבטיח העברה חלקה עם הפרעה מינימלית ליישומים ולתהליכי עבודה קיימים.

4. פיתוח פעיל ותמיכה

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

5. אישורים וגמישות

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

6. אקוסיסטמה מתפתחת

OpenSearch מציעה OpenSearch דאשבורדים (אלטרנטיבה לKibana) ותוספים המיועדים לניטור, ניתוחי לוגים, וחיפוש טקסט מלא. כלים אלה מרחיבים את השימושיות שלה בתחומים שונים ומבטיחים התאמה מתמדת עם צרכי המשתמשים.

מתי לבצע ההעברה

  • דאגות לרישיון: אם ברצונך להימנע מהגבלות הרישיון ב SSPL שהוצעו על ידי Elastic לאחר גרסה 7.10.
  • הגבלות תקציביות: לצמצם עלויות הרישיון המסחריות תוך השמירה על מנוע חיפוש וניתוח עוצמתי.
  • Future-proofing: לאמץ פלטפורמה עם מפתח תכנון שקוף ותמיכה חזקה מקהילה.
  • Feature parity: כאשר משתמשים בתכונות הנתמכות ב-Elasticsearch 7.10 או גרסאות קודמות, מאחר שהן תואמות באופן מלא את OpenSearch.
  • צרכי התאמה אישית: כאשר גמישות רבה, ממשלת פתוחה או חדשנויות מובילות של הקהילה חיוניות למטרות הארגון שלך.

העברה ל-OpenSearch מבטיחה שתשמור על פלטפורמה חזקה, מובנית בקוד פתוח ותמנע מגבלות ועלויות אפשריות הקשורות לדגם הרישיונות של Elasticsearch.

רשימת צ'קליסט לפני המעבר

לפני המעבר מ-Elasticsearch ל-OpenSearch, עקוב אחרי רשימת הצ'קליסט הזו כדי לוודא מעבר חלק ומוצלח:

1. לבדוק תאימות גרסאות

  • וודא שגרסת ה-Elasticsearch שלך תואמת את OpenSearch. OpenSearch תומך בגרסאות של Elasticsearch עד 7.10.
  • סקור את כל תלותות ה- API או התוספות כדי לוודא שהן נתמכות ב-OpenSearch.

2. להעריך שימוש בתכונות פרופריות

  • זהה כל תכונות פרופריות או תוספות (לדוגמה, תכונות למידה מלאכותית של Elastic) שעלולות שלא להיות בעלות הקבלה ב-OpenSearch.
  • להעריך האם כלים או הרחבות שימשו באשף ה-Elasticsearch שלך ייתכנו להיות מושפעים.

3. לגבות את הנתונים שלך

  • צור גיבוי מלא של אינדקסי ה-Elasticsearch שלך באמצעות פעולת ה- snapshot API כדי למנוע אובדן נתונים פוטנציאלי:
    Shell

     

  • וודא שגיבויים מאוחסנים במקום מאובטח ונגיש לשחזור.

4. בדיקת הגדרות האשף

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

5. בדיקה בסביבת ניסויים

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

6. בדוק תאימות API ושאילתות

  • בדוק את ה- API של אלסטיקסרץ ואת תחביר השאילתות שמשמש ביישום שלך. OpenSearch שומר על רוב התאימות של ה- API, אך ייתכנו הבדלים קלים.
  • השתמש במצב תאימות ה- API של OpenSearch עבור מעברים חלקים יותר.

7. עדכן אפליקציות ולקוחות

  • החלף מספריות לקוחות Elasticsearch במספריות התואמות ל-OpenSearch (לדוגמה, opensearch-py עבור Python או OpenSearch Java Client).
  • בדוק אינטגרציה של לקוח כדי לוודא שהיישומים מתקשרים בצורה נכונה עם אשף OpenSearch.

8. אמת תמיכת תוספים

  • וודא שכל התוספות המשמשות ב-Elasticsearch (לדוגמה, תוספות ניתוח, אבטחה או מעקב) זמינות או יש בחירות ב-OpenSearch.
  • זהה תוספות ספציפיות ל-OpenSearch שעשויות לשפר את פונקציות הקרבה של האשכול שלך.

9. יידע את צדקני החלטה

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

10. תכנן לשחזור

  • פתח תוכנית שחזור במקרה של בעיות במהלך ההעברה. תוכנית זו צריכה לכלול שלבים לשחזור האשכול המקורי של Elasticsearch והנתונים מגיבויים.

11. מעקב אחר משאבים

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

על ידי השלמת הרשימה הזו, ניתן להפחית סיכונים, לזהות אתגרים אפשריים ולוודא הצלחת המעבר מ-Elasticsearch ל-OpenSearch.

מדריך העברה שלב אחר שלב

1. התקן את OpenSearch

  • הורד את הגרסה המתאימה של OpenSearch מהאתר opensearch.org.
  • קבע צמתי OpenSearch בהתאם לתיעוד הרשמי, וודא תצורת קבוצה דומה להגדרת Elasticsearch הקיימת שלך.

2. ייצא נתונים מ-Elasticsearch

  • השתמש בצילום API כדי ליצור גיבוי של האינדקסים שלך ב- Elasticsearch:
    Shell

     

  • ודא שהצילום מאוחסן במאגר שנגיש ל־OpenSearch.

3. יבוא נתונים ל־OpenSearch

  • רשום את מאגר התמונות ב-OpenSearch:
    שֶׁל

     

  • שחזר את התמונת מצב ל-OpenSearch:
    Shell

     

4. עדכון אפליקציות ולקוחות

  • עדכן את ספריות לקוחות Elasticsearch של האפליקציה שלך ללקוחות OpenSearch התואמים, כמו למשל לקוח Python של OpenSearch (opensearch-py) או לקוח Java.
  • החלף נקודות קצה של Elasticsearch בהגדרת האפליקציה שלך בנקודות קצה של OpenSearch.

5. אימות נתונים ושאילתות

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

6. מעקב ואופטימיזציה

  • השתמש בלוחות OpenSearch (שהיו Kibana כשהייתה Elasticsearch) כדי לבצע מעקב אחר בריאות האשכול וביצועים.
  • אפשר תכונות אבטחה כגון הצפנה, אימות ובקרת גישה בהתאם לדרישות.

שקוליות לאחר ההעברה

1. תוספים ותכונות

  • אם אתה תלוי בתוספי Elasticsearch, ודא את זמינותם או מצא אלטרנטיבות של OpenSearch.

2. כידון ביצועים

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

3. מעורבות בקהילה

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

אתגרים וטיפים להעברה מ-Elasticsearch ל־OpenSearch

1. תאימות תוספים

אתגר

קיימים תוספים של Elasticsearch, בעיקר תוספים פרופריטריים, שעשויים שלא להיות שקופים ב-OpenSearch.

טיפים

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

2. שינויים ב- API

אתגר

בעוד OpenSearch שומרת תאימות עם API של Elasticsearch עד גרסה 7.10, שוני קטנים או קצוות שנמחקו עשויים להשפיע על פונקציונליות.

טיפים

  • השתמש במצב תאימות API של OpenSearch כדי לבדוק ולהסתגל ל-API באופן שלבי.
  • בצע בדיקה של תיעוד ה-API והחלף קצוות שנמחקו באלטרנטיבות מומלצות.

3. העברת נתונים

אתגר

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

טיפים

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

4. כיוון ביצועים

אתגר

OpenSearch ו-Elasticsearch עשויים להציג הבדלים בהגדרות אשכול וכיוון ביצועים, שעשועות לביצועים פחות אופטימליים לאחר המיגרציה.

טיפים

  • נטול את ביצועי האשכול באמצעות OpenSearch Dashboards או כלים אחרים לניטור.
  • כוון גדלי שארד, אסטרטגיות אינדקסציה והקצאת משאבים כדי לייעל את ביצועי האשכול.

5. אינטגרציה של לקוח ויישום

אתגר

יישומים המשתמשים בספריות לקוח של Elasticsearch עשויים לדרוש עדכונים כדי לעבוד עם OpenSearch.

טיפים

  • החלף ספריות לקוח של Elasticsearch עם גרסאות התואמות ל-OpenSearch, כמו opensearch-py (Python) או OpenSearch Java Client.
  • בדוק זרימות יישום וביצוע שאילתות כדי לוודא אינטגרציה חלקה.

6. תכונות מוגבלות ב-OpenSearch

אתגר

תכונות פרופריטריות מסוימות של Elasticsearch (לדוגמה, עבודות למידת מכונה, Elastic Security) לא זמינות ב-OpenSearch.

טיפים

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

7. הכשרה וידע

אתגר

צוותים המוכרים עם Elasticsearch עשויים להתמודד עם עקומת למידה בעת המעבר ל-OpenSearch, במיוחד בניהול קשת ותכונות חדשות.

טיפים

  • ספק הכשרה ותיעוד כדי להכיר את הצוות שלך עם הכלים וזריזות העבודה של OpenSearch.
  • נצל את הקהילה הפעילה והפורומים של OpenSearch לתמיכה נוספת.

8. נתונים בזמן אמת וזמן תפוגה

אתגר

במערכות בזמן אמת, לוודא זמן תפוגה מינימלי במהלך המעבר יכול להיות מאתגר.

טיפים

  • תכנן את המעבר במהלך תקופות נמוכות בתעבורה.
  • השתמש באסטרטגיית אינספור-ירוק כדי לעבור בצורה חלקה בין קבוצות.
  • סנכרן נתונים חדשים ל-OpenSearch באמצעות כלים כמו Logstash או Beats במהלך חלון המעבר.

9. קידמה וגידול עתידי

אתגר

הבטיחות שהקשת החדשה של OpenSearch יכולה לעמוד בדרישות הגידול והקידמה בעתיד.

טיפים

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

10. תמיכה בקהילה

אתגובה

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

טיפים

  • השתתפות בקהילת OpenSearch דרך פורומים ו-GitHub לצורך פתרון בעיות.
  • לעקוב באופן קבוע אחר עדכונים ב-OpenSearch ולתרום לקהילה למען הבנת טוב יותר.

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

מסקנה

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

Source:
https://dzone.com/articles/transition-from-elasticsearch-to-opensearch