A propos de la migration des charges de travail AWS Lambda vers OCI Functions
Une migration réussie nécessite plus que de déplacer du code entre les plates-formes. OCI Functions est la cible par défaut pour les initiatives de migration AWS Lambda. Avant de sélectionner OCI Functions en tant que cible, identifiez la façon dont chaque fonction est appelée, les services avec lesquels elle interagit, les comportements opérationnels sur lesquels elle repose et les comportements à conserver.
Cet inventaire inclut la collecte du type de déclencheur, de la durée maximale, de l'utilisation de la mémoire, des tailles de charge utile, de la simultanéité, du comportement des nouvelles tentatives et des échecs, des dépendances, des droits d'accès IAM, des chemins réseau, des attentes en matière de journalisation, de surveillance et de récupération. Ces caractéristiques déterminent si OCI Functions ou un autre service OCI est la meilleure cible.
Au cours de l'évaluation, vérifiez que les exigences d'appel, de charge utile, d'expiration, de mémoire, de simultanéité, de réseau, de dépendance et d'intégration de la charge globale peuvent être prises en charge par OCI Functions.
Si OCI Functions ne peut pas répondre à une exigence documentée, mettez la migration en pause et terminez la vérification des exceptions avant de proposer une architecture non fonctionnelle. L'exception doit inclure la contrainte technique, le modèle de coût total révisé, l'effort de migration, l'impact opérationnel et l'approbation explicite de l'approche révisée.
Ce que vous ferez
- Créez un inventaire fondé sur des preuves de la configuration Lambda, des déclencheurs, des dépendances, des autorisations, du trafic, des défaillances et des signaux opérationnels.
- Comparez le comportement de la source avec les limites OCI Functions, les modes d'appel, les modèles de déclenchement, la sécurité, le packaging des dépendances, la mise en réseau et l'observabilité.
- Séparez la logique métier portable de l'analyse des événements propres au fournisseur, de l'identité, des appels SDK, du packaging du déploiement, de la journalisation, des clés secrètes, des nouvelles tentatives et du code opérationnel.
- Déployez la fonction en tant qu'image de conteneur OCI Functions et validez les sorties, les erreurs, les effets secondaires, la latence, la capacité, les nouvelles tentatives, la sécurité, l'observabilité et la préparation à l'annulation avant le basculement.
Comment utiliser ce Playbook
Pour un grand domaine Lambda, ne commencez pas par évaluer manuellement chaque fonction. Commencez par un échantillon représentatif couvrant les exécutions principales, les déclencheurs, les dépendances, les profils de trafic et les niveaux de criticité de l'entreprise.
Utilisez l'exemple pour :
- Confirmez l'approche de migration OCI Functions pour les charges globales représentatives.
- Identifiez les adaptateurs requis et les modifications de code ciblées.
- Identifier les modifications requises pour la sécurité, la mise en réseau, le déploiement et les modifications opérationnelles.
- Estimer l'effort de migration, les risques et les modèles réutilisables.
- Sélectionnez des charges globales représentatives pour un pilote de migration en cours.
Il ne convertit pas automatiquement le code Lambda ni ne génère toutes les intégrations requises.
Architecture
Inventoriez d'abord la fonction Lambda, ses déclencheurs et son comportement opérationnel. Isoler ensuite la logique métier portable des adaptateurs propres au fournisseur. L'implémentation cible s'exécute dans une application OCI Functions, est déployée à partir d'une image de conteneur stockée dans Container Registry, utilise OCI IAM et des principaux de ressource pour l'accès à l'exécution, extrait les clés secrètes d'une banque de clés secrètes approuvée telle qu'OCI Vault et émet des signaux opérationnels via OCI Logging, Monitoring, Alarmes et APM, le cas échéant.
Mappage des relations entre AWS Lambda et OCI Functions
Vue groupée de l'enveloppe de charge globale à recréer autour d'OCI Functions

Description de l'image migrate-lambda-functions-arch.png
migrer-lambda-functions-arch-oracle.zip#GUID-B6E215FE-1619-4CDD-B055-0194D46ADBF8
Principes d'architecture
- Evaluer d'abord, puis migrer. Les déclencheurs, les charges utiles, les nouvelles tentatives, les couches, les autorisations, la mise en réseau et le comportement opérationnel peuvent différer.
- Traitez la migration des déclencheurs comme une migration de comportement. Comparez la forme de l'événement, l'authentification, les nouvelles tentatives, la commande, le traitement par lots, la distribution des doublons, le filtrage, les destinations de lettres mortes ou d'échec et la gestion des messages empoisonnés.
- Mesurez la charge de travail source. Capturez le taux d'appel, la simultanéité maximale, les centiles de durée, la durée maximale, l'utilisation de la mémoire, les chemins sensibles au démarrage à froid, les tailles de charge utile, le taux d'erreur, le taux d'accélération, le nombre de DLQ ou d'échecs, le nombre de tâches à traiter et les limites en aval.
- Gardez la logique métier portable. Isoler les adaptateurs pour l'analyse des événements, l'identité, les appels SDK, l'accès aux objets ou aux messages, la journalisation, la configuration, les clés secrètes et le comportement des nouvelles tentatives.
- Intégrez les opérations à la migration. Les journaux, mesures, alarmes, tableaux de bord, traces, classeurs d'exécution, déclencheurs d'annulation et tests d'échec doivent exister avant le basculement.
Composants de base
L'architecture inclut généralement la charge globale Lambda source, un enregistrement de migration, une couche d'appel OCI, l'application et l'image OCI Functions, ainsi que les services de sécurité, de réseau et d'opérations pris en charge. Traitez la source comme une preuve, et non comme un modèle de base direct ; choisissez les composants OCI parmi les résultats de comportement et de validation requis.
Concepts équivalents AWS Lambda et OCI
Cette clé est conçue comme un guide de traduction et non comme une promesse d'équivalence individuelle. Pour chaque ligne, comparez le comportement de la source avec le comportement OCI cible et conservez des preuves dans l'enregistrement de migration.
| Concept AWS Lambda | Concept ou modèle OCI | Eléments à comparer ou à valider |
|---|---|---|
| Fonction et gestionnaire | OCI Functions avec le gestionnaire Fn FDK | Exécution, architecture, point d'entrée de gestionnaire, analyseur d'événements, objet de réponse, comportement d'erreur, chemin de test local et prise en charge de la bibliothèque propre à l'exécution. |
| Package ZIP, calques, extensions | Image de conteneur ou image de base partagée | Versions de dépendance, bibliothèques natives, taille d'image, comportement de démarrage, comportement d'extension, hypothèses de kit SDK intégré et si les dépendances doivent être partagées entre les fonctions. |
| Stratégies de rôle d'exécution et de ressource | Stratégies, groupes dynamiques et principaux de ressource OCI Identity and Access Management (IAM) | Actions d'exécution, portée des compartiments et des ressources, accès inter-comptes ou inter-compartiments, lectures de clé secrète, accès aux objets ou aux files d'attente et tests de chemin refusé. |
| API Gateway et Lambda | OCI API Gateway et OCI Functions | Authentification, route et méthode, en-têtes, chaînes de requête, schéma de corps, codes de statut, en-têtes de réponse, délai d'expiration, taille de charge utile, latence et corps d'erreur. |
| Evénements d'objet S3 | Evénements OCI Object Storage via OCI Events | Schéma d'événement, métadonnées d'objet, espace de noms, filtres de bucket et de préfixe, comportement de création/mise à jour/suppression, nouvelles tentatives, doublons, idempotence et prévention des boucles d'entrée/sortie. |
| SQS, streams, SNS, EventBridge, abonnements aux journaux | OCI Queue, OCI Streaming, OCI Notifications, OCI Events, OCI Connector Hub ou flux repensé | Taille du lot, commande, nouvelle tentative, échec partiel, destination de la lettre morte ou de l'échec, visibilité ou nouvelle tentative des fenêtres, contre-pression, messages toxiques, ventilateur, filtres et livraison en double. |
| Appel synchrone ou asynchrone | Appel de synchronisation ou détaché | Sémantique de la réponse de l'appelant, gestion des résultats, délai d'expiration de l'appel, délai d'expiration de l'exécution, traitement de fin détaché, destination de réussite/échec et chemin de nouvelle tentative. |
| Mémoire, expiration, charge utile, hypothèses éphémères | Paramètres de mémoire, de délai d'attente, de demande, de réponse, d'image et d'exécution d'OCI Functions | p95/p99 et durée maximale, nombre d'expiration, marge de mémoire, tailles de charge utile de demande/réponse, hypothèses de stockage temporaire, conception de déchargement de charge utile volumineuse et temps de chargement de dépendance. |
| Simultanéité réservée/provisionnée et redimensionnement de source d'événement | Limites de service OCI, simultanéité d'accès aux applications, simultanéité d'accès aux données provisionnées, contrôles de déclencheur et protection en aval | Concomitance actuelle et maximale, sensibilité au démarrage à froid, ralentissements ou 429, ancienneté de la file d'attente ou du carnet de commandes, tempêtes de nouvelle tentative, limites de capacité en aval, et si le paramètre source réserve la capacité, limite le trafic ou réduit la latence. |
| Journaux CloudWatch, mesures, alarmes, rayons X | OCI Logging, OCI Monitoring, alarmes, tableaux de bord et Oracle Application Performance Monitoring (APM) si nécessaire | Champs de journal requis, ID de corrélation, nombre d'appels, durée, taux d'erreur, nombre d'expiration, seuils d'alarme, traces, tableaux de bord, classeurs d'exécution et propriété des réponses aux incidents. |
| Gestionnaire de clés secrètes, stockage de paramètres, KMS, réseau VPC | OCI Vault, clés, VCN, sous-réseaux, passerelles, adresses privées, DNS et règles de sécurité | Rotation de clé secrète, vérifications de fuite, règles de routage, sortantes, DNS, listes d'autorisation, accès privé, blocage de chemin non autorisé et limites de connexion en aval. |