Cloud-Computing In The Post-Serverless Era: Aktuelle Trends Und Mehr
Der Artikel erkundet die Zukunft des Cloud-Computings jenseits der serverlosen Ära und diskutiert drei Schlüsseltrends, die diese Entwicklung prägen.
Von Primitives zu Konstrukten als Service
Serverloses Computing entwickelt sich über seinen ursprünglichen Umfang hinaus, wobei Funktionen durch Cloud-Konstrukte ersetzt werden. Dieser Wandel verändert die Art und Weise, wie Entwickler Aufgaben wie Routing, Filterung und Ereignisauslösung behandeln. Cloud-Services werden effizienter und benutzerfreundlicher und ermöglichen Entwicklern die Verwendung vertrauter Programmiersprachen zur Konfiguration. Microservices werden auch in der Cloud-Landschaft neu definiert, indem verschiedene Cloud-Konstrukte unter einer einheitlichen Entwicklersprache integriert werden.
AWS Lambda spielte eine bedeutende Rolle bei der Popularisierung des Paradigmas des serverlosen Computings. Es bot einen einfachen Bereitstellungsprozess für Entwickler und ermöglichte es ihnen, Microservices in kleinere, skalierbare, ereignisgesteuerte Operationen umzuwandeln. Jetzt ersetzen Cloud-Konstrukte Funktionen in verschiedenen Cloud-Services und ermöglichen es Entwicklern, Operationen wie Anforderungsrouting, Validierung und Datenformatierung effektiver durchzuführen.
Diese Cloud-Konstrukte beseitigen die Notwendigkeit von benutzerdefinierten Funktionen, indem sie vorkonfigurierte Lösungen bereitstellen. Zum Beispiel kann API Gateway das Anforderungsrouting und die Validierung übernehmen, während DynamoDB Streams Datenänderungen ohne die Notwendigkeit eines Dual Writes aus dem Anwendungscode auslösen kann. Der Übergang von Funktionen zu Cloud-Konstrukten reduziert Codegröße und beseitigt den Wartungsaufwand.
Von Hyperskalierung zu Hyperspezialisierung
Der Cloud-Markt entwickelt sich hin zu hyperspezialisierten, vertikal ausgerichteten Multi-Cloud-Services. Diese Services bieten einzigartige, feinkörnige Funktionen, die speziell auf die Bedürfnisse von Entwicklern zugeschnitten sind. Während große Hyperscalers wie AWS, Azure und GCP immer noch eine breite Palette von Services anbieten, gibt es einen Anstieg von hyperspezialisierten Services, die sich darauf konzentrieren, einen umfassenden Satz von programmierbaren Konstrukten und eine verbesserte Entwicklererfahrung bereitzustellen.
Diese hyperspezialisierten Services konzentrieren sich auf ein einziges Multi-Cloud-Primitiv, wie spezialisierte Compute-, Storage- oder Networking-Services, und bereichern sie mit Entwicklerkonstrukten. Sie konkurrieren, indem sie fortschrittliche Funktionen und eine bessere Entwicklererfahrung im Vergleich zu generischen Cloud-Services bieten. Beispiele dafür sind Confluent Cloud für Kafka, MongoDB Atlas für Dokumentendatenbanken und GitLab für Code-Management.
Dieser Wandel hin zur Hyperspezialisierung wird durch den Bedarf an feineren Entwicklerkonstrukten und die zunehmende Komplexität von Cloud-Services vorangetrieben. Vertikal ausgerichtete Multi-Cloud-Services glänzen in einem bestimmten Bereich und bieten ein Produkt, das in Bezug auf Entwicklererfahrung und Konstrukte das übertrifft, was größere Hyperscalers anbieten.
Von Infrastruktur zu Komposition als Code (CaC)
Die Entwicklung des Cloud-Computings führt zu einem Wandel von Infrastructure as Code (IaC) zu Composition as Code (CaC). IaC entstand, um die Bereitstellung und Verwaltung von Infrastruktur zu vereinfachen, aber da Cloud-Services programmierbarer werden, gibt es einen Trend zur Verwendung bestehender, allgemeiner Programmiersprachen zur Definition von Cloud-Konstrukten.
Neue Tools wie Pulumi und AWS Cloud Development Kit (CDK) unterstützen Sprachen wie Python, TypeScript und Java zur Definition von Cloud-Konstrukten. Diese Verschiebung zu allgemeinen Programmiersprachen ermöglicht es Entwicklern, dynamische, logikgesteuerte Konstrukte zu definieren, die enger mit dem Anwendungscode in Einklang stehen. Es ermöglicht eine engere Integration von Anwendungs- und Automatisierungscode und verlagert die Verantwortung für die Konfiguration von Cloud-Konstrukten von Operationen auf Entwickler.
Composition as Code verwischt die Grenzen zwischen Anwendungs- und Infrastrukturaufgaben und führt zu effizienteren und benutzerfreundlicheren Praktiken. Es ermöglicht Entwicklern, ihre Anwendungen nahtlos mit ihrer bevorzugten Programmiersprache zu integrieren und vereinfacht die Orchestrierung von Cloud-Ressourcen.