ההבדלים בין Apigee Edge ל-Apigee X

אתם צופים במסמכי העזרה של Apigee Edge.
כניסה למסמכי העזרה של Apigee X.
info

בנושא הזה נסביר מה ההבדל בין Apigee X (שנקרא לפעמים פשוט Apigee) לבין Apigee Edge. המידע הזה מיועד ללקוחות קיימים של Apigee Edge ששוקלים לעבור ל-Apigee X.

מידע נוסף על התכונות של Apigee X זמין בסיכום התכונות של Apigee X.

בטבלה הבאה מפורטים מוצרי ניהול ה-API של Apigee שאנחנו משווים ביניהם בנושא הזה:

מוצר איפה מתבצע האירוח בניהול
Apigee Edge לענן ציבורי הענן של Apigee Apigee
Apigee Edge לענן פרטי מרכז הנתונים הפרטי של הלקוח. לקוח
Apigee X Google Cloud Apigee
Apigee Hybrid גם ב-Google Cloud וגם במרכז הנתונים הפרטי של הלקוח Apigee מנהלת את מישור הניהול והלקוח מנהל את מישור זמן הריצה.

השוואה בין התכונות של Apigee Edge לבין התכונות של Apigee X

בקטעים הבאים מוצגת השוואה בין התכונות של Apigee Edge בענן הציבורי/הפרטי לבין הזמינות של התכונות ב-Apigee X וב-Apigee היברידי.

חשוב לדעת שהמגבלות של Apigee X שונות גם מהמגבלות של Apigee Edge.

סיכום של ההבדלים הנוכחיים בתכונות

בטבלה הבאה מתוארים ההבדלים ברמת התכונות בין Apigee X (וההיברידי) לבין Apigee Edge לפלטפורמות ענן ציבורי ופרטי.

התכונה Apigee Edge תמיכה ב-Apigee X וב-Apigee Hybrid
גרסאות של proxy ל-API

לא ניתן לשינוי לאחר הפריסה

בדיקות בריאות פעילות התמיכה קיימת ב-MIG חיצוני (שמשתמש במכונות וירטואליות). אין תמיכה בשימוש ב-Private Service Connect. מידע על סוגי הניתוב זמין במאמר הגדרת ניתוב.
Apigee Adapter ל-Istio הוצא משימוש: מומלץ להשתמש במקום זאת ב- Apigee Adapter for Envoy.
חברות וגם מפתחים

יש פתרון דומה, אבל לא זהה. שימוש ב-AppGroups לארגון הבעלות על אפליקציות

CwC (קוד עם הגדרות)

לפי התכנון

פריסות
  • פריסות אסינכרוניות
  • אחזור סטטוס הפריסה מבוסס על הפעם האחרונה שבה מישור זמן הריצה 'דיווח' למישור הניהול
סביבות
  • תמיכה בקבוצות סביבה
  • שירות עצמי באמצעות ממשק המשתמש וממשקי ה-API של Apigee
  • גמישות רבה יותר בתכנון של טופולוגיית ההצגה
  • אשכול MP יכול לשרת רק סביבה אחת

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

יעדים מתארחים

שימוש ב-Cloud Run או ב-Cloud Functions

טיפול בשמות שדות של כותרות HTTP/1.1 המרת שמות השדות של כותרות HTTP/1.1 לאותיות קטנות כשהם מועברים לקצה העורפי. ב-Apigee Edge, אותיות הרושם של שמות שדות הכותרות נשמרות.
תפקידי IAM לבקרת גישה פרטנית מבוססת-תפקיד

לפי התכנון

JSONPath שמשתמש ב-[@.length-x]

ב-Apigee X אין תמיכה בשימוש ב-[@.length-x] בביטויים של JSONPath. במפרט JSONPath מצוין שהביטויים תלויים בשפת כתיבת הסקריפטים הבסיסית. length-x הוא מבנה של JavaScript, ולא Java, ו-[@.length-x] לא הוטמע כחלק מהמפרט. ב-Apigee X הביטוי [@.length-x] הוחלף בסכימת הוספת האינדקס ([-x]).

לדוגמה זו:

{
    "books": [
      {
        "name": "A",
      },
      {
        "name": "B",
      }
    ]
}

הקלט: $.books[@.length-1] מחזיר את הערך {“name”: “B”} ב-Apigee Edge ומחזיר את הערך [{“name”: “B”}] ב-Apigee X.

מאגרי מפתחות/מאגרי נאמנות

ניהול נתונים בצד הלקוח (northbound) בתור סודות ב-Kubernetes

KVMs
  • בממשק המשתמש של Apigee אתם יכולים ליצור מכונות KVM מוצפנות ברמת הסביבה. מכונות ה-KVM תמיד מוצפנות. אי אפשר להוסיף, לעדכן או להציג רשומות KVM בממשק המשתמש.
  • משתמשים במאפיין private. עם כל המשתנים כשנכנסים ל-KVM באמצעות הפקודה GET כדי להסתיר את פרטי ה-KVM בסשן ניפוי באגים (Trace). אם לא משתמשים במאפיין private., ה-KVM עדיין מוצפן, אבל פרטי ה-KVM יופיעו ללא הצפנה בסשן Trace של ניפוי הבאגים, ולא תופיע חריגה.
  • אפשר לנהל את רשומות KVM באמצעות keyvaluemaps.entries API או מדיניות KeyValueMapOperations.
  • אפשר להשתמש בקבוצות נכסים בחלק מהתרחישים לדוגמה שבהם משתמשים ב-KVM. למידע נוסף, ראו שימוש בקבוצות מאפיינים.
  • האלמנט <MapName> מאפשר למדיניות KeyValueMapOperations לזהות באופן דינמי, בזמן הריצה, את ה-KVM שבו צריך להשתמש.

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

Microgateway במקום זאת, מומלץ להשתמש ב-Apigee Adapter for Envoy.
מונטיזציה למידע נוסף על ההבדלים במונטיזציה
Node.js
  • שרתים proxy של Node.js API לא נתמכים.
  • מומלץ לארח אפליקציות Node.js בקונטיינרים נפרדים ב-Kubernetes (באותו אשכול או באשכול אחר)
mTLS לצפון התמיכה מתבצעת באמצעות מאזני עומסים של Google Cloud. אפשר לעיין במאמר Apigee X Northbound Mutual TLS באמצעות מאזן עומסים חיצוני של אפליקציות (ALB).
OAuth כש מדיניות חדשה לביטול OAuthv2 מופעלת, מתבצע ביטול לפי מזהה משתמש קצה, מזהה אפליקציה או שניהם. המדיניות הזו מחליפה את ה-API של Apigee Edge כדי לבטל אסימוני OAuth2.
מדיניות
  • מדיניות חדשה:
    • מדיניות AssertCondition: הערכה של טענת תנאי בזמן הריצה בתהליכי הבקשה או התגובה.
    • מדיניות CORS: מאפשרת לקריאות JavaScript מסוג XMLHttpRequest (XHR) שבוצעו בדף אינטרנט לקיים אינטראקציה עם משאבים מדומיינים שאינם מקורות.
    • מדיניות DataCapture: מחליפה את המדיניות StatisticsCollector.
    • מדיניות ExternalCallout: שולחת בקשות gRPC לשרת gRPC כדי להטמיע התנהגות מותאמת אישית שלא נתמכת במדיניות של Apigee.
    • מדיניות GraphQL: ניתוח של עומסי נתונים (payloads) של GraphQL למשתני תהליך העברת הודעות, אימות של בקשות GraphQL מול הסכימה או שניהם.
    • מדיניות PublishMessages: פרסום המידע על תהליך הניתוב של ה-API בנושא ב-Google Cloud Pub/Sub.
    • מדיניות RevokeOAuthv2: ביטול לפי מזהה משתמש, מזהה אפליקציה או שניהם.
    • מדיניות TraceCapture: הוספת משתנים נוספים לנתוני המעקב של סביבת זמן הריצה של Apigee.
  • מדיניות שלא נתמכת:
    • המדיניות של StatisticsCollector (הוחלפה במדיניות החדשה DataCapture)
  • מדיניות שהשתנתה:
reasonPhrase לא נתמכת.
מקורות מידע אי אפשר להשתמש במשאבים ברמת הארגון
תפקידים והרשאות
  • מנוהלים דרך שירות IAM במסוף Google Cloud
  • יש תפקידים מוגדרים מראש שזמינים מראש
  • אפשר ליצור תפקידים בהתאמה אישית שכוללים הרשאות אחרות ב-Google Cloud

למידע נוסף, ראו משתמשים ותפקידים.

Sense להשתמש באבטחת API מתקדמת.
שירותי SOAP באשף Build a proxy לא נתמכת. אפשר לעיין בפרויקט wsdl2apigee, פרויקט בקוד פתוח שמספק כלי SOAP לשימוש עם Apigee.
סשנים של מעקב (ניפוי באגים) הבדלים ביחס ל-Trace
מארחים וירטואליים

ל-Apigee היברידי:

  • תעבורת הנתונים נכנסת (ingress) באמצעות Anthos Service Mesh.
  • המפתחות והאישורים נפרסים ישירות ב-Kubernetes.

ב-Apigee X:

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

הבדלים ביחס ל-Trace

בטבלה הבאה מוצגים ההבדלים באופן שבו Trace פועל ב-Apigee X ובסביבה היברידית לעומת Apigee Edge Cloud:

תכונה ענן של Apigee Edge Apigee X ו-Apigee Hybrid
עדכניות בזמן אמת, סינכרוני עיכוב קל, אסינכרוני
שם/מזהה הסשן קבלת שם הסשן מהמשתמש לא מקבל את שם הסשן של המשתמש
מסננים תמיכה בסינון בסיסי, כמו סינון כותרות ופרמטרים של שאילתות תמיכה בלוגיקה מורכבת של סינון, כולל פעולות לוגיות מסוג AND ו-OR. גישה לכל משתנה תהליך שצוין ב חומר העזר בנושא משתני תהליך. התחביר זהה לשימוש עם תנאים, כפי שמוצג בחומר העזר בנושא תנאים.
הזמן הקצוב לתפוגה של סשן

הגדרת משך סשן ניפוי הבאגים ומשך השמירה של הנתונים.

ערך ברירת המחדל הוא 20 דקות כשמפעילים אותו באמצעות קריאות ל-API ו-10 דקות כשמפעילים אותו בממשק המשתמש.

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

ערך ברירת המחדל הוא 5 דקות אם הסשן הופעל באמצעות ה-API ו-10 דקות אם הוא הופעל בממשק המשתמש.

הנתונים נשמרים למשך 24 שעות לפני שהם נמחקים באופן אוטומטי ב-Hybrid.

תקינות הסשן

משך הזמן שבו הבקשה ליצירת סשן תקפה. אם סשן ניפוי הבאגים לא יתחיל תוך פרק הזמן הזה, ה-Synchronizers יכולים להתעלם מהבקשה ליצירת הסשן. חשוב לוודא שהשעונים של המכשירים שמסנכרנים את הנתונים מוגדרים באותו זמן, כפי שמתואר בקטע דרישות מוקדמות.
מספר הבקשות למעקב עד 20 לכל מעבד הודעות ברירת המחדל היא 10 לכל מעבד הודעות. המקסימום הוא 15.
API ענן של Apigee Edge Apigee X
ב-Apigee X מוצגים Debug Session API ו- Debug Session Data API, אבל לא ניתן להשתמש ב-APIs הבאים של Apigee X:
הפסקת הסשן של ניפוי הבאגים

מחיקת עסקאות ספציפיות

הבדלים במונטיזציה

בטבלה הבאה מופיעה השוואה בין התכונות העיקריות של מונטיזציה ב-Apigee Edge לבין מונטיזציה ב-Apigee X.

מונטיזציה ב-Apigee Edge מונטיזציה ב-Apigee X או ב-Apigee Hybrid
תוכניות התמחור משויכות לחבילות של מוצרי API שאפשר לצרף לכמה מוצרי API תוכניות התמחור משויכות למוצרי API (יחס אחד לאחד)
תוכניות לרכישת תעריפים למפתחי אפליקציות מפתחי אפליקציות רוכשים מוצרי API
ניהול המכסות מתבצע ברמת שרת ה-proxy ל-API המכסות מנוהלות ברמת המוצר של ה-API (ברמת העסק)
אפשר רק לבטל את התוקף של תוכניות התמחור שפורסמו, אי אפשר לערוך אותן או למחוק אותן אפשר לבטל את התוקף של תוכניות תעריף שפורסמו, לערוך אותן, להעביר אותן לטיוטות או למחוק אותן
הגדרה מורכבת (ללא אשף או כלי לתצוגה מקדימה) הגדרה פשוטה יותר של תוכניות תעריפים באמצעות אשף וכלי תצוגה מקדימה
המדיניות של MonetizationLimitsCheck חוסמת את הגישה אחרי עיבוד הקריאה הראשונה ל-API, אם מפתח האפליקציה לא רכש מינוי המדיניות של MonetizationLimitsCheck חוסמת את הגישה באופן מיידי אם מפתח האפליקציה לא רכש מינוי או חרג מהמכסה
אפשר לתעד נתוני מונטיזציה של עסקאות באמצעות משתנים מותאמים אישית במדיניות תיעוד העסקאות. מערכת Apigee מתעדת באופן אוטומטי נתוני מונטיזציה, ואפשר לשנות את נתוני המונטיזציה של עסקאות באמצעות המדיניות של DataCapture. למידע נוסף, אפשר לעיין במאמר תיעוד נתוני המונטיזציה.
אפשר להגדיר חשבונות בתשלום מראש וחשבונות בתשלום לאחר מכן גם למפתחים וגם לתוכניות תמחור. אפשר להגדיר חשבונות בתשלום מראש ובתשלום לאחר קבלת השירות רק למפתחים.

אילו תכונות של Apigee Edge לא נתמכות ב-Apigee X?

Google לא מתכננת לתמוך בתכונות הבאות:

  • תוספים ל-Apigee Edge
  • חנות של מפרטי OpenAPI
  • ממשקי API לחיפוש או לביטול של אסימוני גישה מסוג OAuth (כי הטוקנים עוברים גיבוב)
  • מדיניות OAuth v1 או OAuth OAuthv1.0a
  • Trireme (EOL נוצר ב-10/10/2019)
  • כותרות עם הקידומת 'X-Apigee-' לא נתמכות ב-Apigee X, והן מוחקות מהבקשות ומהתשובות לפני השליחה ליעדים וללקוחות.

השוואה בין ממשקי API

באופן כללי, לרוב ממשקי ה-API של Apigee Edge יש מקבילים ב-Apigee API. בקטע הזה מפורט:

סיכום השינויים ב-API

בהמשך מפורטים השינויים בהתנהגות בכל ממשקי ה-API של Apigee X בהשוואה לממשקי ה-API של Apigee Edge.

התנהגות ממשקי API של Apigee Edge ממשקי API של Apigee X
דומיין בסיס api.enterprise.apigee.com apigee.googleapis.com
סוגי מדיה application/json
application/xml
application/json
אימות OAuth2, ‏ SAML, ‏ Basic OAuth2
חותמות זמן במפתחות פורמט של int64
{
  "createdAt": 1234,
  "lastModifiedAt": 5678
}
פורמט של String
{
  "createdAt": "1234",
  "lastModifiedAt": "5678"
}
המבנה של פרמטר השאילתה expand=false
[
        "helloworld",
        "weather"
      ]
{
  "proxies": [
    {
      "name": "helloworld"
    },
    {
      "name": "weather"
    }
  ]
}
פרמטרים של שאילתה עם קו תחתון בתחילת השם נתמכת (_optimal=true) אין תמיכה (optimal=true)
מאפיינים בתוכן הייעודי לטעינה (payload):
  • created_by
  • modified_by
  • self
נתמך לא נתמך
ערכי ברירת מחדל בתוכן הייעודי לטעינה כלול לא כלולה
שגיאות בטיפול במבנה
{
        "code": "...",
        "message": "..",
        "contexts": []
      }
{
  "error": {
    "code": 409,
    "message": "...",
    "status": "ABORTED",
    "details": [...]
  }
}
תגובה למחיקה של נתוני מטמון החזרות: 200 OK ופרטי המטמון החזרה: 204 No Content
פעולות של Cache API List, create, get, update, Delete, מחיקת כל האפשרויות ו- ניקוי האפשרויות. רשימת ו מחיקה בלבד. מטמון L1 לטווח קצר נוצר באופן אוטומטי כשפורסים שרת proxy ל-API. למידע נוסף, ראו מטמון פנימי.

ההבדלים בין ממשקי ה-API למדדים של Apigee Edge לבין ממשקי ה-API למדדים של Apigee X

סיכום השינויים בשימוש ב-API מציג את ההבדלים הכלליים בין Apigee Edge API לבין Apigee X API. בטבלה הבאה מפורטים ההבדלים הספציפיים בין ממשקי ה-API למדדים:

תכונה ממשקי API של Apigee Edge ממשקי API של Apigee X
נקודת הקצה ל-API api.enterprise.apigee.com apigee.googleapis.com
הודעות אימייל בנושא ניתוח נתונים יומי אין תמיכה בממשקי API
ממשק API של רשימת שאילתות אסינכרוני הצגת רשימה של שאילתות ניתוח נתונים אסינכרוניות המאפיין userId לא מופיע בתגובה. Method: organizations.environments.queries.list
ממשקי API של דוחות מותאמים אישית Reports API הנכסים createdBy ו-lastModifiedBy הוסרו מהתגובה. מידע נוסף זמין במאמר Reports API.

ממשקי API של Apigee Edge שלא נתמכים

בטבלה הבאה מפורטים ממשקי ה-API של Apigee Edge שלא נתמכים (ללא מקבילים של ממשקי API של Apigee X).

קטגוריית ה-API ממשקי API של Apigee Edge שלא נתמכים
מעקב API אין תמיכה בממשקי API
ממשקי proxy ל-API
  • אילוץ של ביטול פריסה של שרת Proxy ל-API
  • קבלת יחסי תלות של NPM
  • ניהול מודולים של npm
ביקורות שימוש ב-Stackdriver Logging API
יומנים שנשמרו במטמון אין תמיכה בממשקי API
חברות אין תמיכה בממשקי API
אפליקציות של החברה אין תמיכה בממשקי API
משפחת האפליקציות של החברה אין ממשקי API נתמכים
מפתחות של אפליקציות חברה אין תמיכה בממשקי API
סשנים של ניפוי באגים
  • לא ניתן להפסיק סשנים של מעקב
  • אי אפשר למחוק עסקאות ספציפיות

מידע נוסף זמין במאמר הבדלים ביחס ל-Trace.

אפליקציה למפתחים קבלת מספר משאבי ה-API
משפחת אפליקציות למפתחים אין תמיכה בממשקי API
תוספים אין ממשקי API נתמכים
מאגר מפתחות: Truststore בדיקה של מאגר מפתחות או מאגר אמון
LDAP אין תמיכה בממשקי API
מונטיזציה אין תמיכה בממשקי API
OAuth V2 אין תמיכה בממשקי API
מדיניות אין תמיכה בממשקי API
קובצי משאבים
  • היקף הגרסה של proxy ל-API
  • היקף ההרשאות של הארגון
Sense אין תמיכה בממשקי API
משתמשים ותפקידי משתמשים שימוש בממשקי API שקשורים ל-Google Identity and Access Management (IAM), כפי שמתואר במאמר ניהול משתמשים, תפקידים והרשאות באמצעות ממשקי API
מארחים וירטואליים אין תמיכה בממשקי API

Apigee Edge לענן פרטי לעומת Apigee Hybrid

הטבלה הבאה משווה בין Apigee Edge לענן פרטי לבין Apigee היברידית:

שירות אזור המוצר או המאפיין ב-Apigee
Apigee Edge לענן פרטי Apigee Hybrid
Analytics שרתי Qpid ו-Postgres אשכול לאיסוף נתונים במישור זמן הריצה משתמש ב-fluentd וב-UDCA (Universal Data Collection Agent) כדי לאסוף ניתוח נתונים ולהעביר את הנתונים ל-UAP (Unified Analytics Platform) במישור הניהול.
API Proxy Gateway מעבד בקשות מעבד ההודעות (MP) מעבד את הבקשות הנכנסות. מודולים של ניהול מוטמעים כאפליקציה אחת או יותר בקונטיינרים במישור סביבת זמן הריצה.
עקביות צומת או טבעת של Cassandra Cassandra מספקת עקביות לתכונות של KMS, KVM, מכסות ומטמון.
פריסה ZooKeeper הסנכרון מוודא שההגדרות של שרת ה-proxy ל-API, פרטי הסביבה ונתונים אחרים מעודכנים בין מישור הניהול למישור זמן הריצה.
ממשק משתמש ניהולי ממשק המשתמש של Apigee Edge מתארח בשרת הניהול ממשק המשתמש של Apigee מתארח ברמת הניהול.
איזון עומסים נתב בקר Istio Ingress מעביר בקשות לאפליקציה בקונטיינר של Message Processor‏ (MP) ברמת סביבת זמן הריצה.
API שרת ניהול הגישה לממשקי API של Apigee X מתבצעת דרך שרת הניהול ו-MART. MART יוצר אינטראקציה עם מאגר הנתונים המקומי של Cassandra, ומשמש כספק API לממשקי ה-API של Apigee X כדי לגשת לישויות נתונים בסביבת זמן הריצה ולנהל אותן.
מדדים כל רכיב שמוגדר באמצעות JMX מנוהל על ידי שרת Prometheus יחיד לכל אשכולות של כל השירותים.