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

אתם צופים במסמכי התיעוד של Apigee Edge.
כדאי לעיין במסמכי התיעוד של Apigee X.
מידע

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

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

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

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

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

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

חשוב לציין שהמגבלות של 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 ל-Envoy.
חברות וגם מפתחים

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

CwC (Code with Config)

הוצאה מתוכננת

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

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

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

מומלץ להשתמש ב-Cloud Run או ב-Cloud Functions

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

הוצאה מתוכננת

JSONPath באמצעות [@.length-x]

אין תמיכה בשימוש ב-[@.length-x] בביטויים של JSONPath ב-Apigee X. במפרט של 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.

מאגרי מפתחות/מאגרי אישורים

ניהול של נתונים שמועברים צפונה בתור סודות של Kubernetes

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

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

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

מידע נוסף זמין במאמר בנושא משתמשים ותפקידים.

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

ב-Apigee Hybrid:

  • הכניסה מיושמת באמצעות שער כניסה של Apigee.
  • המפתחות והאישורים נפרסים ישירות ב-Kubernetes.

ב-Apigee X:

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

הבדלים בין Trace לבין

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

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

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

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

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

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

הנתונים נשמרים למשך 24 שעות לפני שהם נמחקים אוטומטית על ידי hybrid.

תוקף הסשן

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

מחיקה של עסקאות ספציפיות

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

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

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

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

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

  • Apigee Edge Extensions
  • מאגר מפרטים של OpenAPI
  • ממשקי API לחיפוש או לביטול של טוקנים של גישה מסוג OAuth (כי הטוקנים מגובבים)
  • מדיניות OAuth v1 או OAuth OAuthv1.0a
  • Trireme (יצא משימוש ב-10/10/2019)
  • כותרות עם הקידומת X-Apigee-‎ לא נתמכות ב-Apigee X והן מוסרות מבקשות וממענות לפני השליחה ליעדים וללקוחות.
  • המאפיין Apigee Edge proxy_read_timeout לא נתמך ב-Apigee X. מידע על הגדרות timeout קשורות ב-Apigee X זמין במאמר בנושא הגדרת io.timeout.millis ו-api.timeout.

השוואה בין ממשקי 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
כן לא נתמך
ערכי ברירת מחדל במטענים ייעודיים (payloads) כלול לא כלול
מבנה לטיפול בשגיאות
{
        "code": "...",
        "message": "..",
        "contexts": []
      }
{
  "error": {
    "code": 409,
    "message": "...",
    "status": "ABORTED",
    "details": [...]
  }
}
תגובה למחיקת מטמון החזרות: 200 OK ופרטי מטמון החזרות: 204 No Content
פעולות של Cache API List, create, get, update, delete, clear all, and clear options. רשימה ו מחיקה בלבד. מטמון L1 לזמן קצר נוצר באופן אוטומטי כשפורסים proxy ל-API. מידע נוסף זמין במאמר בנושא Cache internals (פרטים פנימיים של המטמון).

ההבדלים בין ממשקי ה-API של המדדים ב-Apigee Edge וב-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 נתמכים
Async Query List API קבלת רשימה של שאילתות אסינכרוניות של ניתוח נתונים המאפיין userId לא מופיע בתגובה. מידע נוסף זמין במאמר בנושא Method: organizations.environments.queries.list.
ממשקי API של דוחות בהתאמה אישית Reports API המאפיינים createdBy ו-lastModifiedBy הוסרו מהתשובה. מידע נוסף על Reports API

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

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

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

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

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

‫Apigee Edge for Private Cloud לעומת Apigee Hybrid

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

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