
Tierney - stock.adobe.com
10 Cloud-Programmiersprachen, die Entwickler kennen sollten
Cloud-Programmiersprachen sind teilweise sehr unterschiedlich. Erfahren Sie mehr über die beliebtesten zehn Cloud-Programmiersprachen und für welche Szenarien sie sich eignen.
Cloud-Computing-Programmierung kann viele Formen annehmen. Ob Entwickler eine Cloud-native Anwendung erstellen oder Administratoren ein Skript zur von Automatisierung Cloud-Ressourcen entwickeln – Cloud-Programmierer haben alle Hände voll zu tun.
Damit Programmierer ihre Arbeit effektiv ausführen können, müssen sie mit der richtigen Programmiersprache arbeiten. Da eine Programmiersprache für einen bestimmten Zweck entwickelt wurde, ist es unerlässlich, die richtige Sprache für eine bestimmte Aufgabe zu kennen und zu verstehen.
Erfahren Sie mehr über die beliebtesten Cloud-Programmiersprachen. Entdecken Sie die Details einiger beliebter Programmiersprachen und ihre Anwendungsfälle und wählen Sie anhand der folgenden Kriterien die beste Sprache aus.
Die besten Cloud-Programmiersprachen
Bei der Auswahl einer Programmiersprache für Cloud Computing sollten Unternehmen die folgenden zehn Optionen evaluieren.
JavaScript
Für die Entwicklung umfangreicher, HTTP-basierter Clients, die Zugriff auf eine Vielzahl von Cloud-Diensten benötigen, wie zum Beispiel Azure Blob Storage oder sichere Authentifizierung über Amazon Cognito, ist Client-seitiges JavaScript die beste Option.
Durch die Weiterentwicklung von JavaScript ist es weitgehend überflüssig geworden, eine komplexe RESTful-Middleware-Schicht zu implementieren, in der Glue-Code, der auf einem Anwendungsserver ausgeführt wird, der Client-Ebene Zugriff auf Backend-Ressourcen gewährt. JavaScript kann direkt mit verwalteten Cloud-Diensten interagieren.
Für viele Unternehmen ist Client-seitiges JavaScript möglicherweise die einzige Sprache, die sie benötigen. Da es von jedem Browser unterstützt wird, können Entwickler eine in JavaScript geschriebene Anwendung auf jedem Laptop, Smartphone, Tablet, Smart-TV oder Desktop-Computer rendern. Umfangreiche Webentwicklungs-Frameworks wie React und AngularJS vereinfachen die Entwicklung responsiver Webanwendungen, die asynchron mit Cloud-Ressourcen interagieren.
Allerdings hat JavaScript auch seine Grenzen, beispielsweise in Bezug auf die Sicherheit. Der grundlegende Mechanismus zur Benutzernamen- und Passwortauthentifizierung eines Webbrowsers ist nicht so vertrauenswürdig und sicher wie der kryptografische Schlüsselaustausch, der für eine SSH-Verbindung erforderlich ist.
Die meisten Unternehmen benötigen Zugriffsschlüssel oder SSH-Verbindungen, um Cloud-basierte Infrastruktur programmgesteuert bereitzustellen.
Client-seitiges JavaScript eignet sich gut für die Nutzung von Cloud-Ressourcen durch benutzerseitige Anwendungen. Für die Automatisierung und Ressourcenbereitstellung ist eine Server-seitige Sprache erforderlich.

Node.js
Wenn Entwickler JavaScript universell zum Schreiben von Browser-basiertem Code auf dem Client verwenden, warum sollten sie dann nicht auch JavaScript zum Schreiben von Server-gehostetem Code verwenden? Node.js und npm machen JavaScript zu einer praktikablen Cloud-Programmiersprache.
Node.js eignet sich ideal für die Entwicklung und Bereitstellung von Microservices, da npm einen einfachen Mechanismus zum Hinzufügen von RESTful-API-Support, Konnektoren zu Datenressourcen und Dienstprogrammbibliotheken bietet, die regelmäßige Aufgaben und Funktionen vereinfachen.
Mit Node.js können Unternehmen Client-seitige und Server-seitige Cloud-Aufgaben vereinheitlichen. Außerdem sind Node.js und seine Unterstützung für JavaScript attraktiv für Unternehmen, die eine einzige Sprache für viele Anwendungsfälle suchen.
Allerdings ist Code, der auf einer virtuellen Maschine (VM) wie der Chrome V8-Engine ausgeführt wird, niemals so leistungsfähig wie Sprachen, die näher an der Hardware sind, wie Go, Rust oder C. In Situationen, in denen jedes Megabyte Speicher zählt, sind Node.js-Anwendungen möglicherweise nicht optimal.
Python
Python ist bei Entwicklern beliebt, da es imperatives Programmieren unterstützt. Dadurch können Entwickler einfache, prägnante Funktionen schreiben, die komplexe Logik ausführen. Diese funktionalen Methoden können auch mit externen Systemen interagieren, ohne die mit objektorientierten Programmiersprachen wie Java verbundenen Formalitäten und umfangreichen Codes.
Mit Python können Entwickler schnell Skripte schreiben, die die Infrastruktur mit Software Development Kits (SDK) von Anbietern bereitstellen. Die großen Cloud-Anbieter stellen SDKs für Python bereit. Wenn Cloud-Plattformen neue Funktionen veröffentlichen, werden Updates für das Python-SDK vorrangig behandelt.
Python ist auch eine bevorzugte Sprache unter Datenwissenschaftlern und KI-Entwicklungsteams. Für Unternehmen, die AWS-KI-Dienste oder die Machine Learning Tools (ML) von Google nutzen, ist es sinnvoll, Python-basierte SDKs für die Interaktion mit Cloud-Diensten zu verwenden.

C
C ist schnell und effizient. Es kommuniziert direkt mit dem CPU-Kernel, ohne die Abstraktionsschichten anderer Sprachen wie Java. Betriebssysteme, Hardwaretreiber, Hypervisoren, GPUs zum Bitcoin Mining, Load Balancer und Virtualisierungs-Tools werden häufig in C oder C++, einer eng verwandten Sprache, geschrieben. C eignet sich für Workloads, bei denen Optimierung und Effizienz im Vordergrund stehen.
Alle großen Cloud-Anbieter bieten vollständige SDK-Unterstützung für C. Für diejenigen, die Software für die Cloud entwickeln möchten, ist C die Sprache, die sie lernen sollten. Entwickler verwenden C in erster Linie, um die Software zu schreiben, die hinter den Kulissen die Cloud unterstützt.
Go
Go hat eine ähnliche Syntax wie C. Wie C kann es von Entwicklern zu abstrakionsfreien Binärdateien kompiliert werden, die direkt mit der CPU oder GPU eines Servers kommunizieren. Go, auch bekannt als Golang, enthält jedoch Funktionen, die in C nicht vorhanden sind, wie automatische Garbage Collection und Speicherschutz.
Go ist auch die Sprache, in der Terraform erstellt wurde. Zusammen mit AngularJS hat Red Hat Go verwendet, um OpenShift zu entwickeln. Jeder Entwickler, der zu Open-Source-Projekten wie Terraform beitragen, die OpenShift Container Platform erweitern oder seine Docker- und Kubernetes-Implementierungen auf Quellcodeebene anpassen möchte, muss Go beherrschen.
Alle großen Cloud-Anbieter stellen ein Go-SDK für die Interaktion mit ihren IaaS-APIs bereit, damit Benutzer Infrastruktur bereitstellen und Cloud-Verwaltungsaufgaben automatisieren können. Darüber hinaus können Entwickler ein JavaScript-Konvertierungs-Tool verwenden, um Browser-Anwendungen in Go zu erstellen.

.NET
Das .NET-Framework von Microsoft spielt in Bezug auf die Cloud die gleiche Rolle wie die Java-Plattform. Da .NET die Entwicklungsplattform von Microsoft ist, gibt es über 100 Cloud-Dienste von Microsoft, die .NET nativ unterstützen.
.NET ist ein bewährtes Middle-Tier-Framework mit Konnektoren zu allen Arten von Backend-Ressourcen. Damit eignet es sich hervorragend für die Entwicklung von Microservices und RESTful APIs, die verschiedene Teile der Infrastruktur eines Unternehmens miteinander verbinden. So wie die Java-Plattform viele alternative Sprachen unterstützt, darunter Kotlin, Scala und Groovy, unterstützt auch das .NET-Framework mehrere Sprachen, darunter C#, Visual Basic .NET, C++ und F#.
Java
Java steht seit langem ganz oben auf der Liste der Entwickler, da es plattformübergreifend und objektorientiert ist. Es ist eine zuverlässige und praktische Sprache für die Erstellung von Cloud-nativen Microservices. Bestimmte Java-Frameworks, wie Spring Boot und Eclipse MicroProfile, haben sogar die Entwicklung von Cloud-nativen Anwendungen mit Java standardisiert und vereinfacht.
Java wird seit so langer Zeit aktiv weiterentwickelt, dass es Konnektoren und Treiber für jede Server-seitige Technologie gibt, beispielsweise für Legacy-Datenbanken, Mailserver, Dokumentenspeicher oder Dateisystemtreiber. Damit ist Java die ideale Wahl für die Erstellung von Anwendungen, die verschiedene Teile einer Unternehmensarchitektur miteinander verbinden.

Viele Unternehmen verfügen bereits über einen Pool an talentierten Java-Entwicklern. Da alle großen Cloud-Anbieter Java-SDKs anbieten, müssen Ihre Mitarbeiter keine neue Sprache erlernen, wenn sie Google Cloud- oder AWS-APIs in Automatisierungsskripten oder Continuous-Delivery-Pipelines verwenden.
Kotlin
Die meisten Mobilgeräte laufen mit Android. Für Entwickler, die Android-Apps entwickeln möchten, die sich in Cloud-Ressourcen integrieren lassen, ist Kotlin eine gute Wahl.
AWS ist der einzige große Cloud-Anbieter, der ein SDK speziell für Kotlin anbietet. Kotlin läuft jedoch auf der Java Virtual Machine (JVM) und kann auf alle Java SDK-APIs zugreifen. Unternehmen, die Android-Apps mit Kotlin erstellen, können dieselben Entwicklungskenntnisse nutzen, um ihre Cloud-Ressourcen programmgesteuert zu verwalten.
Swift
Für Apple-Produkte ist Swift die iOS-Version von Kotlin. Nicht alle Anbieter stellen ein Swift-SDK zur Verfügung, jedoch bieten IBM Watson und AWS ein Swift-SDK für iOS-Entwickler an.
Für Plattformen, für die kein Swift-SDK verfügbar ist, können Entwickler RESTful APIs aufrufen, die Zugriff auf Cloud-Ressourcen bieten. Alternativ können sie ihren eigenen Code in einem unterstützten SDK wie Python oder Node schreiben und ihre Swift-Apps diese Routinen direkt aufrufen lassen.
Rust
Rust ist eine hardwareorientierte Programmiersprache, die in puncto Leistung und Effizienz mit C mithalten kann. Spezielle Sprachkonstrukte verringern die Wahrscheinlichkeit von Fehlern im Zusammenhang mit der Speicherverwaltung, was ein großer Vorteil ist, wenn das Ziel darin besteht, die Betriebssysteme, auf denen die Cloud läuft, sicher zu verbessern.
Amazon, Microsoft, Dropbox und Discord haben alle mit Rust experimentiert, und jeder der großen Public-Cloud-Anbieter bietet mittlerweile ein Rust-SDK an.
Rust ist zwar möglicherweise nicht die beste Wahl für etablierte Unternehmen mit Fachkenntnissen in anderen Sprachen, aber die Begeisterung für die Sprache wächst weiter.
Kriterien für die Auswahl einer Sprache
Unternehmen sollten bei der Auswahl einer Cloud-Programmiersprache die folgenden vier Faktoren berücksichtigen:
- Cloud-Clients und -Dienste. Fragen Sie sich: Welche Arten von Clients werde ich erstellen? und Auf welche Arten von Cloud-basierten Diensten werde ich zugreifen?
Beispielsweise hat ein VR-Headset, das die ML-Funktionen von IBM Watson benötigt, andere Sprachvoraussetzungen als eine einfache iOS-App, die Bilder aus dem Object Storage Service von Alibaba abruft.
- Zielgerichtete Cloud-Stack-Schicht. Entwickler sollten entscheiden, ob sie eine allgemeine, universell einsetzbare Programmiersprache benötigen, die viele Aufgaben gut erfüllt, oder eine Sprache, die auf eine bestimmte Technologie ausgerichtet ist.
Node.js und .NET sind universelle Plattformen, mit denen Entwickler IaaS bereitstellen, Cloud-native Microservices entwickeln und auf AWS-, Microsoft Azure- oder Google Cloud-Dienste zugreifen können. Speziellere Aufgaben, wie die Erstellung einer benutzerdefinierten Ressourcendefinition für Kubernetes, erfordern jedoch eine bestimmte Sprache, wie Go, Java oder Python, die Kubernetes für diesen Zweck unterstützt.
- Vertrautheit. IT- und Entwicklungsteams müssen nicht immer ihre Komfortzone verlassen. Manchmal ist die beste Strategie eine vertraute.
Vermeiden Sie den Hype um bestimmte Programmiersprachen. Viele Entwickler preisen Python als bevorzugte Sprache für Data Science und KI an, aber das ist keine Voraussetzung. Alle Cloud-gemanagten KI- und ML-Dienste, wie Google Cloud AutoML und Oracle Cloud Infrastructure Forecasting, unterstützen verschiedene Sprachen. Es ist nicht erforderlich, einem etablierten Team von Java-Entwicklern Python beizubringen, um mit KI und ML in der Cloud zu arbeiten. Nutzen Sie die vorhandenen Talente.
- Risikoaversion. Unternehmen müssen ihre Risikobereitschaft für bestimmte Workloads festlegen.
Beispielsweise ist Rust eine Programmiersprache, die Entwickler in fast jeder Schicht des Cloud-Stacks verwenden können. Allerdings wurde im Rahmen des Rust for Linux-Projekts noch kein Code in einen offiziellen Kernel-Build integriert, und die SDK-Unterstützung durch die führenden Cloud-Anbieter ist nicht universell. Wenn ein Unternehmen Risiken vermeiden möchte, ist es besser, eine etabliertere Sprache zu wählen.