Fiche technique | |
---|---|
Catégorie : | Infonuagique |
Auteur : | Apache |
Date de publication : | 2016 à maintenant |
Sommaire
L'Apache OpenWhisk est une plate-forme sans serveur distribuée open source exécutant des fonctions (fx) en réponse à des événements à n'importe quelle échelle. OpenWhisk gère l'infrastructure, les serveurs et la mise à l'échelle à l'aide de conteneurs Docker afin que vous puissiez vous concentrer sur la création d'applications étonnantes et efficaces.
La plateforme OpenWhisk prend en charge un modèle de programmation dans lequel les développeurs écrivent une logique fonctionnelle (appelée Actions), dans n'importe quel langage de programmation pris en charge, pouvant être planifiée et exécutée de manière dynamique en réponse à des événements associés (via des déclencheurs) provenant de sources externes (flux) ou de requêtes HTTP. Le projet comprend une interface de ligne de commande (CLI) basée sur l'API REST ainsi que d'autres outils pour prendre en charge le paquet, les services de catalogue et de nombreuses options de déploiement de conteneurs populaires.
Se déploie n'importe où
Étant donné qu'Apache OpenWhisk construit ses composantes à l'aide de conteneurs, il prend facilement en charge de nombreuses options de déploiement à la fois localement et au sein des infrastructures infonuagique. Les options incluent de nombreux cadres d'application de conteneurs populaires actuels tels que Kubernetes et OpenShift, ainsi que Compose. En général, la communauté approuve le déploiement sur Kubernetes à l'aide de chartes Helm, car elles offrent de nombreuses implémentations simples et pratiques tant pour les développeurs que pour les opérateurs.
Écrire des fonctions dans n'importe quelle langue
L'OpenWhisk prend en charge une liste croissante de vos langages de programmation et/ou technologies tels que Go, Java, Node.js, .NET, PHP, Python, Ruby, Rust, Scala, Swift. Il existe également un environnement d'exécution expérimental pour Deno en développement.
Si vous avez besoin de langages ou de bibliothèques que les environnements d'exécution "prêts à l'emploi" actuels ne prennent pas en charge, vous pouvez créer et personnaliser vos propres exécutables en tant qu'actions Zip s'exécutant sur l'environnement d'exécution Docker à l'aide du Docker SDK. Quelques exemples de prise en charge d'autres langages à l'aide de Docker Actions incluent un didacticiel pour Rust et un projet terminé pour Haskell.
Une fois votre fonction écrite, utilisez la CLI wsk pour cibler votre instance Apache OpenWhisk et exécutez votre première action en quelques secondes.
Intégre facilement à de nombreux services populaires
OpenWhisk permet aux développeurs d'intégrer facilement leurs actions à de nombreux services populaires à l'aide de paquets fournis soit sous forme de projets développés indépendamment dans la famille OpenWhisk, soit dans le cadre de notre catalogue par défaut.
Les paquets offrent des intégrations avec des services généraux tels que les files d'attente de messages Kafka, des bases de données telles que Cloudant, les avertissements push des applications mobiles, la messagerie Slack et les flux RSS. Les pipelines de développement peuvent tirer parti des intégrations avec GitHub, JIRA ou se connecter facilement à des services de données personnalisés.
Vous pouvez même utiliser le paquet Alarms pour planifier des heures ou des intervalles récurrents pour exécuter vos actions.
Combine vos fonctions dans des compositions riches
Codez dans différents langages de programmation comme JavaScript/Node.js, Swift, Python, Java ou exécutez une logique personnalisée en empaquetant le code avec Docker. Invoquez votre code de manière synchronisé, désynchronisé ou selon une planification. Utilisez des constructions de programmation de niveau supérieur telles que des séquences pour enchaîner de manière déclarative plusieurs actions. Utilisez la liaison de paramètres pour éviter de coder en dur les informations d'identification du service dans votre code. Et également, déboguez votre code en temps réel à l'aide de divers outils de développement.
Mise à l'échelle par demande et utilisation optimale
Exécutez votre action dix mille fois en une fraction de seconde, ou une fois par semaine. Les instances d'action évoluent pour répondre à la demande selon les besoins, puis disparaissent. Profitez d'une utilisation optimale sans payer pour des ressources inutilisées.