Cloud Computing Tipps
Photo by Samuel Zeller on Unsplash
Photo by Samuel Zeller on Unsplash

Gastartikel - Pierre-Yves Ritschard, Exoscale

Entwickler profitieren von der Cloud

Im Gegensatz zu den Ressourcen im eigenen Rechenzentrum, sind diese in der Cloud skalierbarer. Damit kann die Unternehmens-IT zeitnah auf die sich ändernden Bedürfnisse der eigenen Mitarbeiter und des Geschäftsverlaufs reagieren. Das gilt insbesondere für Entwickler, die auf einer flexiblen Plattform ihre Anwendungen erstellen. Doch gibt es hier einige Faktoren zu beachten, die die Architektur, die auf der Cloud ausgeführten Code oder den laufenden Betrieb betreffen.

Skalierbarkeit

Die Skalierung der Cloud kann dreifach verstanden werden. Bei der vertikalen Skalierung werden die Ressourcen in der Cloud erweitert. So erhält der virtuelle Server mehr Arbeitsspeicher, CPU-Leistung oder virtuellen Festplattenplatz. Da hier nur Systemkomponenten hinzugefügt werden, ist dieser Ansatz einfach durchzuführen und die Administration bleibt unverändert. Eine vertikale Skalierung bietet sich beispielsweise beim Einsatz von relationalen Datenbanksystemen an. Dem gegenüber steht das Prinzip der horizontalen Skalierung. Bei ihr bleibt die Charakteristik des virtuellen Servers unangetastet. Es wird lediglich eine zweite Instanz hinzugefügt. Anwendungsbeispiel dafür wäre der Betrieb eines oder mehrerer Webserver. Da hier mehrere Server miteinander interagieren müssen, wird in diesem Fall die Administration komplexer. Um die Arbeitslast zwischen den virtuellen Servern möglichst effektiv zu verteilen, ist der Einsatz eines Load Balancers notwendig. Weiter gibt es eine Mischform zwischen horizontaler und vertikaler Skalierung, den diagonalen Ansatz. Er erweitert zunächst die Kapazitäten eines virtuellen Servers und fügt erst danach weitere hinzu. Die horizontale Skalierung spart einigen Verwaltungsaufwand, da durch die Leistungserweiterung der virtuellen Server die Anzahl der Instanzen insgesamt möglichst niedrig gehalten wird.

Ende des Mooreschen Gesetzes

Steht einem ein ständig erweiterbarer Pool an Ressourcen zur Verfügung, mag es nicht so wichtig erscheinen, sparsam zu entwickeln. Das Mooresche Gesetz hat in der Vergangenheit zu einem exponentiell wachsenden IT-Ressourcenreichtum geführt. Es besagt, dass sich bei minimalen Kosten die Komplexität integrierter Schaltkreise alle 12 bis 24 Monate verdoppelt. Jedoch ging der Schöpfer dieser Regel, Gordon Moore, davon aus, dass sich dieser Mechanismus lediglich auf die Anzahl der Schaltkreiskomponenten bezog. Mittlerweile hat sich die zeitliche Skala, in der von einer Verdoppelung gesprochen werden kann, etwas verlängert. So unterscheidet sich ein heutiges Notebook nicht mehr in dem Ausmaß von seinem drei Jahre alten Gegenstück, als dies noch vor zehn Jahren der Fall gewesen wäre. Der Hauptunterschied zwischen den zwei Modellen liegt eher bei anderen Faktoren, wie etwa Display, Energiebedarf oder die Anzahl der im Rechner verbauten Kerne.

Threading wird prominenter

Letzteres führt mit sich, dass das Thema Threading bei der Entwicklung von Anwendungen immer prominenter wird. Plattformen wie Java unterstützen bereits Multithreading und bieten ebenso Funktionen, die für ein sicheres Threading sorgen. Dieser Bereich ist keinesfalls neu und gut dokumentiert. Der Ansatz für die Programmierung ist dabei nicht so komplex und bedarf vieler Prozesse. Das führt dazu, dass nicht mehr ausschließlich der vertikale Skalierungsansatz tonangebend ist, sondern auch andere Skalierungsmodelle wie die horizontale in Frage kommen. Voraussetzung dafür sind Entwicklungsumgebungen, die ihre Ressourcen maschinenübergreifend nutzen können. Dies ist besonders in Cloud-Umgebungen gegeben. Sie bietet eine programmierbare, anpassbare Umgebung. Damit kann der Entwickler die für ihn wichtigen Ressourcen auswählen und auch nur für die in Anspruch genommene Leistung bezahlen. Technisch umgesetzt wird die Bereitstellung der jeweils nötigen Infrastruktur vom Cloud-Anbieter.

Die Vorteile der Entwicklung von Anwendungen auf einem Cloud-Server sind evident: Die Anschaffung einer eigenen Entwicklungsplattform entfällt zur Gänze. Das für die Entwicklungsumgebung veranschlagte Budget kann so zielgerichteter dem Projekt zugeordnet werden.

Entwickler konzentrieren sich auf Kernaufgaben

Die Entwickler sind somit von allgemeinen Verwaltungs- und Infrastrukturaufgaben befreit und können sich ihren Kernaufgaben widmen. Bei Nutzung eigener IT-Ressourcen wären Entwickler zusätzlich für die Wartung der Entwicklungsserver verantwortlich – einschließlich einem vierundzwanzigstündigen Notdienst.

Um die Leistungsfähigkeit einer Anwendung zu optimieren und ihr Laufzeitverhalten vollends zu verstehen, reicht ein hervorragendes Standard-Monitoring nicht mehr aus. Zusätzlich müssten entsprechende Monitoring-Funktionen direkt in die Applikation eingebettet werden. Beispielsweise ist dort, wo Informationen in Reihung abgearbeitet werden, wichtig zu wissen, welche davon weiterverarbeitet werden und bei welchen das nicht der Fall ist. Mit einem internen Applikations-Monitoring können Entwickler etwaige Fehler schnell und ressourcenschonend finden und beheben – ohne große Mengen an Daten analysieren zu müssen. Hierzu existiert eine Vielfalt an Softwarewerkzeugen, die diese Herangehensweise unterstützen.

Ein Beispiel für ein solches Werkzeug ist Prometheus. Es fertigt Prozesslandkarten und Prozessdiagramme an und ist ebenfalls als Cloud-Lösung verfügbar. Durch die Hinzuziehung von Prozesslandkarten und -diagramme können Entwickler die Defizite in den Anwendungen eliminieren, Laufzeiten beschleunigen und somit budgetsparend agieren. Weiter steigert ihre Nutzung die Gesamteffizienz nachhaltig, etwa indem durch Add-Ons weitere Funktionen bereitgestellt werden. Dadurch kann der Code der Anwendungen schlanker und effizienter ausfallen. Ebenfalls dient die Strukturprotokollierung einem detaillierteren Einblick in die Auswirkungen der Arbeitsweise der Anwendungen.

Gerade Cloud-Ressourcen führen zur effizienteren und flexibleren Entwicklungsarbeit. Die Skalierbarkeit und die genauere Abrechenbarkeit sowohl der einzelnen Entwicklungsschritte als auch des gesamten Entwicklungsprozesses erleichtern damit die Budgetierung von Softwareprojekten bei weitem. 

Pierre-Yves Ritschard ist CTO des eropäischen Cloud-Hosting-Anbieters Exoscale.

Mehr Artikel zum Thema: Cloud Computing Tipps

Pflanzendaten in der Wolke lösen menschliche Probleme

Das Wiener Gregor-Mendel-Institut ist seit 18 Jahren in der...

Weiterlesen

Weit vorn bei der digitalen Transformation

Über ein Drittel der Mitglieder der Deutschsprachigen...

Weiterlesen

Vertrauen in den IT-Standort Wien

Interxion hat in den vergangenen fünf Jahren mehr als 100...

Weiterlesen

Modernes Arbeiten - Quo vadis?

Modernes Arbeiten ist zum Schlagwort unserer Arbeitswelt...

Weiterlesen

All-IP integriert Sprache in den digitalen Kommunikationsmix

Mit der Umstellung auf All IP wird auch das letzte analoge...

Weiterlesen

Max Schrems: "Fehlinterpretationen der DSGVO"

Die Datenschutzbehörde ist seit dem "Startschuss" für die...

Weiterlesen

SEO Sommerfrische Woche 8 – Mobile Website und SEO

Mobile ist ein SEO-Thema, an dem man kaum vorbeikommt....

Weiterlesen

SEO Sommerfrische Woche 7 – Google My Business

Google My Business ist nicht nur ein Firmeneintrag in Google...

Weiterlesen

5 Tipps katapultieren KMU ins digitale Zeitalter

Viele KMU gehen noch immer zögerlich mit dem Thema...

Weiterlesen

Digitalisierung im Automobilhandel durch Modularisierung

Während die Automobilindustrie weltweit den größten...

Weiterlesen

SEO Sommerfrische Woche 6 – Seitengeschwindigkeit optimieren

Wer hat schon Zeit und Geduld, auf langsam ladende Seiten zu...

Weiterlesen

Wenn Firmengeräte auf Reisen gehen

Immer öfter landen auch Firmen-Handy oder -Laptop im...

Weiterlesen

SEO Sommerfrische Woche 5 – interne Links

Links sind ein wichtiger Rankingfaktor für Google. Wenn sie...

Weiterlesen

SEO Sommerfrische Woche 4 – Bilder auf SEO-Hochglanz optimieren

Bilder sind Blickfang und Informationsträger zur gleichen...

Weiterlesen

Sicherheits-Container für Datenschutz unterwegs

Führungskräfte und Mitarbeiter, die viel unterwegs sind,...

Weiterlesen

Wachsende IT-Komplexität: 6 Strategien für CIOs

Die Zukunft erschien nie komplexer. IT-Führungskräfte sollen...

Weiterlesen

SEO Sommerfrische Woche 3 – Content optimieren

Nach dem letzten Teil der SEO-Sommerfrische haben Sie sicher...

Weiterlesen

SEO Sommerfrische Woche 2 – Care for your Keywords

Mit der "SEO Sommerfrische" bringen wir heuer praktische...

Weiterlesen