Developing

Was bedeutet die Cloud für die Entwickler?

Dienstag, 22.11.2011 | 10:16 von Eric Knorr
Was bedeutet die Cloud für die Entwickler?
Vergrößern Was bedeutet die Cloud für die Entwickler?
© iStockphoto.com/Devy Masselink
Die Aufgaben der Anwendungs-Entwickler ändern sich mit der Verbreitung der Cloud, aber gerade hierhin liegt das große Potential für diesen Berufszweig.
Wenn die Zukunft der Unternehmenssoftware wirklich in der Cloud liegen soll, sind die Entwickler besonders gefordert. Und zwar nicht so sehr die relativ kleine Anzahl von Entwicklern, die eine PaaS (Platform as a Service) wie Azure, CloudFoundry, Force.com oder die Google App Engine benutzen. Sondern betroffen sind die "normalen" Entwickler und Infrastrukturtester, die neue Apps erstellen und auf hunderten oder tausenden von Servern in privaten oder öffentlichen Clouds installieren.

Traditionellerweise hatten die Entwickler ein angespanntes Verhältnis mit den Testern. Natürlich wird der Großteil der Programme auf den Rechnern der Programmierer geschrieben, aber wenn ein Programm wirklich im Unternehmen laufen soll, muss jemand das Programm im gewünschten Umfeld testen. Also muss in einem Unternehmen der Zugriff, die Verlässlichkeit, Skalierbarkeit der Anwendung und nicht zu vergessen, dessen Sicherheit überprüft werden. Die Personen, die diese Aufgaben dann im Unternehmen übernehmen, erfüllen manchmal nicht die notwendigen Voraussetzungen, um einen wirklich aussagekräftigen Test durchzuführen. Das kann zu Anwendungen führen, die nicht gewissenhaft getestet wurden, bevor sie ausgeliefert werden. Es sollte also einen besseren Weg geben, als eine mühsame manuelle Entwicklung und Konfiguration solcher Umgebungen.

Entwicklungs- und Test-Umgebung mit der Cloud simulieren

Tatsächlich kann Cloud-Computing heutzutage am besten dazu genutzt werden, um direkt den Entwicklern Werkzeuge zur Verfügung zu stellen, um eine Entwicklungs- und Test-Umgebung zu bekommen, die der tatsächlichen Situation im Unternehmen entspricht. Dies sollte entweder über eine private Cloud, einem künstlichen IaaS (Infrastructure as a Service) wie beispielsweise Amazon Web Service oder einer PaaS-Cloud geschehen. HP und IBM bieten auf der privaten Cloud sogar Blade-Server an, die extra für diesen Zweck konfiguriert wurden. Typischerweise erhalten die Entwickler einen vorinstallierten App-Server, unterstützende Werkzeuge, Ressourcenüberwachung und weitere Funktionen, die sie für Ihre Arbeit benötigen.

Aber die Vorteile der Cloud reichen nicht nur die Entwicklungs- und Test-Umgebung. Heutzutage sind die Entwicklungsteams häufig über die ganze Welt verstreut und webbasierte Social-Media-Werkzeuge wie Wikis bieten einen hervorragenden Weg für Entwickler um Probleme zu besprechen, Statusberichte zu liefern und miteinander zu kommunizieren. Wenn es eine geradezu typische Cloud-Anwendung gibt, dann ist es die Zusammenarbeit/Collaboration. Ihre Ablage und die Fehlerverfolgung verlegen Entwickler am besten auch in die Cloud, wo jeder Zugriff darauf erhält.

Testen mit der Cloud

Natürlich nutzen viele Entwicklertätigkeiten die Web-Zusammenarbeit, egal, ob sie nun in der Cloud-Umgebung arbeiten, oder nicht. Aber denken Sie mal darüber nach, wie gut sich die Cloud für den Testzyklus eignet. Mit der Cloud und insbesondere mit den öffentlichen Cloud-Services verwenden Sie lediglich so viele virtuelle Maschinen genau so lange, wie Sie es für notwendig erachten. Sie müssen auch nur für diese Zeit bezahlen.

Eine Konsequenz der Cloud-basierten Anwendungsentwicklung wird die steigende Anzahl an Projekten und Anwendungen auf den vielen öffentlichen und privaten Plattformen sein. Das stellt besondere Herausforderungen an die Verwaltung, denn die Anwendungen müssen überwacht, integriert und ausgewertet werden. Durch die Vielfalt der Anwendungen ist es erforderlich eine neue Art der Verwaltungs-Werkzeuge für die Cloud-App-Entwicklung zu erschaffen. Aber auch hier gibt es bereits erste Lösungsansätze. Diese Programme reichen von VMWare Hyperic , das eine Anwendungsüberwachung in virtuellen Umgebungen bietet, über Nimsoft , das Verwaltungs- und Service Desk-Funktionen vereint, bis zu zAgile , das eine Anwendung über dessen gesamte Entwicklungszeit und dessen gesamten Lebenszyklus übersichtlich darstellt.

Letztendlich profitieren die Entwickler, die lernen, wie sie die Cloud beeinflussen können, nicht nur von einer wesentlich größeren Effizienz. Sie erschaffen Anwendungen, die besser auf die Bedürfnisse der Unternehmen zugeschnitten sind und können diese wesentlich schneller einsetzen. Das spart Zeit, die die Entwickler für die eigentliche Arbeit verwenden können.

Dienstag, 22.11.2011 | 10:16 von Eric Knorr
Kommentieren Kommentare zu diesem Artikel (0)
1112853