ההבדלים בין 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

מכונות וירטואליות של KVM
  • אפשר ליצור מפתחות KVM מוצפנים ברמת הסביבה בממשק המשתמש של Apigee. מכונות ה-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 (באותו אשכול או באשכול אחר)
Northbound mTLS התמיכה מתבצעת באמצעות מאזני עומסים של Google Cloud. אפשר לעיין במאמר Apigee X Northbound Mutual TLS באמצעות מאזן עומסים חיצוני של אפליקציות (ALB).
OAuth מדיניות RevokeOAuthv2 החדשה מאפשרת לבטל את ההרשאות לפי מזהה משתמש קצה, מזהה אפליקציה או לפי שניהם. המדיניות הזו מחליפה את Apigee Edge API כדי לבטל אסימוני 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 באשף ליצירת שרת proxy לא נתמכת. אפשר לעיין בפרויקט wsdl2apigee, פרויקט בקוד פתוח שמספק כלי SOAP לשימוש עם Apigee.
סשנים של מעקב (ניפוי באגים) הבדלים ביחס ל-Trace
מארחים וירטואליים

ב-Apigee Hybrid:

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

ב-Apigee X:

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

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

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

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

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

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

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

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

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

תקינות הסשן

משך הזמן שבו הבקשה ליצירת סשן תקפה. אם סשן ניפוי הבאגים לא יתחיל תוך פרק הזמן הזה, ה-Synchronizers יכולים להתעלם מהבקשה ליצירת הסשן. חשוב לוודא שהשעונים של המכשירים שמסנכרנים זה עם זה מוגדרים באותו זמן, כפי שמתואר בקטע דרישות מוקדמות.
מספר בקשות המעקב עד 20 לכל מעבד בקשות ברירת המחדל היא 10 לכל מעבד הודעות, והערך המקסימלי הוא 15.
API Apigee Edge Cloud 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'd on 10/10/2019)
  • כותרות עם הקידומת 'X-Apigee-' לא נתמכות ב-Apigee X, והן מוחקות מהבקשות ומהתשובות לפני השליחה ליעדים וללקוחות.
  • המאפיין proxy_read_timeout של Apigee Edge לא נתמך ב-Apigee X. הגדרת io.timeout.millis ו-api.timeout – הגדרות זמן קצוב הקשורות ל-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 רשימת, יצירה, אחזור, עדכון, מחיקה, ניקוי הכול ו ניקוי. רשימת ו מחיקה בלבד. מטמון 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
Async Query List 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 שקשורים לניהול זהויות והרשאות גישה (IAM) של Google, כפי שמתואר במאמר ניהול משתמשים, תפקידים והרשאות באמצעות ממשקי API
מארחים וירטואליים אין תמיכה בממשקי API

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

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

שירות תחום המוצר או התכונה ב-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 שרת ניהול הגישה ל-Apigee X APIs מתבצעת דרך Management Server ו-MART. MART יוצר אינטראקציה עם מאגר הנתונים המקומי של Cassandra, ומשמש כספק API לממשקי ה-API של Apigee X כדי לגשת לישויות נתונים בסביבת זמן הריצה ולנהל אותן.
מדדים כל רכיב שמוגדר באמצעות JMX מנוהל על ידי שרת Prometheus אחד לכל אשכולות של כל השירותים.