Computerhaus Quickborn

Portable Cloud-Apps – weiterhin unrealistisch?​

Geht doch ganz leicht von der Hand? Tyler Olson | shutterstock.com Die Portabilität der Cloud schien einst ein bahnbrechender Fortschritt für die digitale Infrastrukturlandschaft zu sein. Zumindest waren die Erwartungen groß, als Amazon S3 und weitere, ähnliche Services im Jahr 2006 an den Start gingen. Die Anbieter hatten schließlich versprochen, dass sich Workloads nahtlos von einem Serviceanbieter zum anderen migrieren lassen. Das suggerierte eine Zukunft, in der es Unternehmen möglich sein würde, schnell und einfach ihren Cloud-Anbieter zu wechseln, wenn ein Konkurrent bessere Preise oder Funktionalitäten anbietet. Doch trotz der anfänglichen Public-Cloud-Begeisterung wegen „as-a-Service“ und „on Demand“ – echte Portabilität war weiterhin nur schwer fassbar und kostspielig. Deshalb hatte ich bereits 2017 in Artikel-Form darauf hingewiesen, dass portable Cloud-Anwendungen Science-Fiction sind. Daran hat sich bis heute im Wesentlichen nichts geändert. Applikationen von Cloud zu Cloud zu migrieren, frisst immer noch wesentlich mehr Ressourcen als 2006 versprochen. Das Portabilitätsproblem Die grundlegende Herausforderung liegt in den inhärenten Unterschieden zwischen Cloud-Umgebungen: Jeder Cloud-Anbieter arbeitet mit eigenen, einzigartigen APIs, Protokollen und Funktionssätzen. Das wirft im Fall einer einfachen Migration von Plattform zu Plattform erhebliche technische Hindernisse auf. Das hat dazu geführt, dass Cloud Services als eine weitere Enterprise-Option wahrgenommen werden, die wie traditionelle IT-Dienstleistungen beschafft und gemanagt werden. Allerdings erfordern Cloud- und On-Premises-Umgebungen ein jeweils unterschiedliches Maß an Anpassungsarbeiten, um Workloads an neue Plattformen anzupassen. Je nach Betriebssystem und Programmiersprache kann dieser Aufwand geringfügig ausfallen – oder erfordern, den Anwendungs-Code fast vollständig neu zu schreiben. Ich bin mir zwar nicht sicher, warum dieser Fakt überraschen sollte – ist aber so, für viele die in die Cloud migrieren. Applikationen zu migrieren, die innerhalb virtueller Maschinen laufen mag dabei unter Umständen machbar erscheinen – das schmälert allerdings einige Vorteile der Cloud, etwa flexibel skalieren zu können. Und auch mit Blick auf Cloud-Native-Anwendungen sieht die Realität komplex aus: Zwar existiert mit Kubernetes ein Standard-Framework, das sowohl von großen als auch von kleinen Cloud-Anbietern eingesetzt wird. Allerdings gilt es oft unterschiedliche Konfigurationen oder Plugins zu berücksichtigen, wenn Apps auf Kubernetes-Basis übertragen werden sollen. Auch das ist also nie so simpel, wie Container– und Kubernetes-Enthusiasten gerne behaupten. Um Portabilität zu erreichen, ist eine sorgfältige Planung und ein gewisses Maß architektonischer Weitsicht erforderlich. Es gilt, Abhängigkeiten zu minimieren, die Anwendungen an bestimmte Cloud-Services binden. Das bedeutet im Regelfall, den kleinsten gemeinsamen Nenner zu wählen – überall laufen, aber nirgends wirklich gut. Im Klartext: Performance- und Optimierungsprobleme sind an der Tagesordnung und machen es zu teuer, solche „portablen“ Applikationen zu betreiben, selbst in der Cloud. Dabei spielt natürlich auch eine Rolle, dass formale Cloud-Standards nicht existieren und anbieterspezifische Services Entwickler oft dazu zwingen, Anwendungen auf spezielle Ökosysteme wie AWS oder Azure zu optimieren. Die Datenmigration stellt darüber hinaus eine weitere Komplexitätsebene dar: Wenn es um Datenportabilität geht, müssen häufig Daten zusammen mit den Anwendungen verschoben werden. Das ist technisch ebenfalls anspruchsvoll und kostspielig. Was können Unternehmen tun? Unternehmen haben mehrere Möglichkeiten, um die Kosten, die mit der diffizilen Übertragbarkeit von Cloud-Anwendungen verbunden sind, zu minimieren. Zum Beispiel die folgenden drei: 1. Anwendungen bei mehreren Cloud-Anbietern bereitstellen Eine Applikation über mehrere Cloud-Anbieter hinweg bereitzustellen, minimiert die Abhängigkeit von einem einzigen Anbieter. Diese Strategie bietet auch Vorteile, wenn es darum geht über Vertragsbedingungen oder Service-Migrationen zu verhandeln. Darüber hinaus ermöglicht dieser Ansatz, die Kosten zu optimieren, indem die kostengünstigsten Dienste verschiedener Anbieter kombiniert werden. Es wäre jedoch falsch zu glauben, dass Multi-Cloud die Antwort auf das Portabilitätsproblem ist. Denn um Ihre Anwendung für den jeweiligen Cloud-Anbieter zu optimieren, müssen Sie sie mit nativen Funktionen verknüpfen. Ein Multi-Provider-Ansatz minimiert zwar die negativen Auswirkungen, löst aber nicht das Portabilitätsproblem an sich. 2. Anwendungen mit Blick auf Portabilität entwickeln Dieser Ansatz umfasst Container-Technologien wie Docker und Orchestrierungs-Plattformen wie Kubernetes. Anwendungen von der zugrunde liegenden Infrastruktur zu abstrahieren, gewährleistet, dass diese mit verschiedenen Umgebungen kompatibel sind. Auf proprietäre Services zu verzichten und stattdessen auf Open-Source-Tools zu setzen, kann zudem die Portabilität verbessern und die mit Konfiguration und/oder Migration verbundenen Kosten senken. Auch hier gilt jedoch: Die meisten Unternehmen werden nicht darum herumkommen, die nativen Dienste zu nutzen, die erforderlich sind, um Container effizient zu betreiben und Geschäftsanforderungen zu erfüllen. 3. Effektives Datenmanagement nutzen Unternehmen sollten in Erwägung ziehen, ihre Daten möglichst so zu strukturieren, dass sie leicht zwischen Clouds verschoben werden können – und dabei parallel die Egress-Gebühren im Auge behalten. Der Einsatz einer Hybrid-Cloud- oder Cloud-zu-Cloud-Transferlösung kann ebenfalls dazu beitragen, einen nahtlosen Datenzugriff zu gewährleisten und die damit verbundenen Kosten zu senken. Indem sie die Datenarchitektur mit Fokus auf die Portabilität planen, können Unternehmen zudem teure und komplizierte Datenmigrationsprozesse vermeiden. (fm) Sie wollen weitere interessante Beiträge zu diversen Themen aus der IT-Welt lesen? Unsere kostenlosen Newsletter liefern Ihnen alles, was IT-Profis wissen sollten – direkt in Ihre Inbox! 

Portable Cloud-Apps – weiterhin unrealistisch?​ Geht doch ganz leicht von der Hand? Tyler Olson | shutterstock.com Die Portabilität der Cloud schien einst ein bahnbrechender Fortschritt für die digitale Infrastrukturlandschaft zu sein. Zumindest waren die Erwartungen groß, als Amazon S3 und weitere, ähnliche Services im Jahr 2006 an den Start gingen. Die Anbieter hatten schließlich versprochen, dass sich Workloads nahtlos von einem Serviceanbieter zum anderen migrieren lassen. Das suggerierte eine Zukunft, in der es Unternehmen möglich sein würde, schnell und einfach ihren Cloud-Anbieter zu wechseln, wenn ein Konkurrent bessere Preise oder Funktionalitäten anbietet. Doch trotz der anfänglichen Public-Cloud-Begeisterung wegen „as-a-Service“ und „on Demand“ – echte Portabilität war weiterhin nur schwer fassbar und kostspielig. Deshalb hatte ich bereits 2017 in Artikel-Form darauf hingewiesen, dass portable Cloud-Anwendungen Science-Fiction sind. Daran hat sich bis heute im Wesentlichen nichts geändert. Applikationen von Cloud zu Cloud zu migrieren, frisst immer noch wesentlich mehr Ressourcen als 2006 versprochen. Das Portabilitätsproblem Die grundlegende Herausforderung liegt in den inhärenten Unterschieden zwischen Cloud-Umgebungen: Jeder Cloud-Anbieter arbeitet mit eigenen, einzigartigen APIs, Protokollen und Funktionssätzen. Das wirft im Fall einer einfachen Migration von Plattform zu Plattform erhebliche technische Hindernisse auf. Das hat dazu geführt, dass Cloud Services als eine weitere Enterprise-Option wahrgenommen werden, die wie traditionelle IT-Dienstleistungen beschafft und gemanagt werden. Allerdings erfordern Cloud- und On-Premises-Umgebungen ein jeweils unterschiedliches Maß an Anpassungsarbeiten, um Workloads an neue Plattformen anzupassen. Je nach Betriebssystem und Programmiersprache kann dieser Aufwand geringfügig ausfallen – oder erfordern, den Anwendungs-Code fast vollständig neu zu schreiben. Ich bin mir zwar nicht sicher, warum dieser Fakt überraschen sollte – ist aber so, für viele die in die Cloud migrieren. Applikationen zu migrieren, die innerhalb virtueller Maschinen laufen mag dabei unter Umständen machbar erscheinen – das schmälert allerdings einige Vorteile der Cloud, etwa flexibel skalieren zu können. Und auch mit Blick auf Cloud-Native-Anwendungen sieht die Realität komplex aus: Zwar existiert mit Kubernetes ein Standard-Framework, das sowohl von großen als auch von kleinen Cloud-Anbietern eingesetzt wird. Allerdings gilt es oft unterschiedliche Konfigurationen oder Plugins zu berücksichtigen, wenn Apps auf Kubernetes-Basis übertragen werden sollen. Auch das ist also nie so simpel, wie Container– und Kubernetes-Enthusiasten gerne behaupten. Um Portabilität zu erreichen, ist eine sorgfältige Planung und ein gewisses Maß architektonischer Weitsicht erforderlich. Es gilt, Abhängigkeiten zu minimieren, die Anwendungen an bestimmte Cloud-Services binden. Das bedeutet im Regelfall, den kleinsten gemeinsamen Nenner zu wählen – überall laufen, aber nirgends wirklich gut. Im Klartext: Performance- und Optimierungsprobleme sind an der Tagesordnung und machen es zu teuer, solche „portablen“ Applikationen zu betreiben, selbst in der Cloud. Dabei spielt natürlich auch eine Rolle, dass formale Cloud-Standards nicht existieren und anbieterspezifische Services Entwickler oft dazu zwingen, Anwendungen auf spezielle Ökosysteme wie AWS oder Azure zu optimieren. Die Datenmigration stellt darüber hinaus eine weitere Komplexitätsebene dar: Wenn es um Datenportabilität geht, müssen häufig Daten zusammen mit den Anwendungen verschoben werden. Das ist technisch ebenfalls anspruchsvoll und kostspielig. Was können Unternehmen tun? Unternehmen haben mehrere Möglichkeiten, um die Kosten, die mit der diffizilen Übertragbarkeit von Cloud-Anwendungen verbunden sind, zu minimieren. Zum Beispiel die folgenden drei: 1. Anwendungen bei mehreren Cloud-Anbietern bereitstellen Eine Applikation über mehrere Cloud-Anbieter hinweg bereitzustellen, minimiert die Abhängigkeit von einem einzigen Anbieter. Diese Strategie bietet auch Vorteile, wenn es darum geht über Vertragsbedingungen oder Service-Migrationen zu verhandeln. Darüber hinaus ermöglicht dieser Ansatz, die Kosten zu optimieren, indem die kostengünstigsten Dienste verschiedener Anbieter kombiniert werden. Es wäre jedoch falsch zu glauben, dass Multi-Cloud die Antwort auf das Portabilitätsproblem ist. Denn um Ihre Anwendung für den jeweiligen Cloud-Anbieter zu optimieren, müssen Sie sie mit nativen Funktionen verknüpfen. Ein Multi-Provider-Ansatz minimiert zwar die negativen Auswirkungen, löst aber nicht das Portabilitätsproblem an sich. 2. Anwendungen mit Blick auf Portabilität entwickeln Dieser Ansatz umfasst Container-Technologien wie Docker und Orchestrierungs-Plattformen wie Kubernetes. Anwendungen von der zugrunde liegenden Infrastruktur zu abstrahieren, gewährleistet, dass diese mit verschiedenen Umgebungen kompatibel sind. Auf proprietäre Services zu verzichten und stattdessen auf Open-Source-Tools zu setzen, kann zudem die Portabilität verbessern und die mit Konfiguration und/oder Migration verbundenen Kosten senken. Auch hier gilt jedoch: Die meisten Unternehmen werden nicht darum herumkommen, die nativen Dienste zu nutzen, die erforderlich sind, um Container effizient zu betreiben und Geschäftsanforderungen zu erfüllen. 3. Effektives Datenmanagement nutzen Unternehmen sollten in Erwägung ziehen, ihre Daten möglichst so zu strukturieren, dass sie leicht zwischen Clouds verschoben werden können – und dabei parallel die Egress-Gebühren im Auge behalten. Der Einsatz einer Hybrid-Cloud- oder Cloud-zu-Cloud-Transferlösung kann ebenfalls dazu beitragen, einen nahtlosen Datenzugriff zu gewährleisten und die damit verbundenen Kosten zu senken. Indem sie die Datenarchitektur mit Fokus auf die Portabilität planen, können Unternehmen zudem teure und komplizierte Datenmigrationsprozesse vermeiden. (fm) Sie wollen weitere interessante Beiträge zu diversen Themen aus der IT-Welt lesen? Unsere kostenlosen Newsletter liefern Ihnen alles, was IT-Profis wissen sollten – direkt in Ihre Inbox!

Portable Cloud-Apps – weiterhin unrealistisch?​

Geht doch ganz leicht von der Hand? Tyler Olson | shutterstock.com Die Portabilität der Cloud schien einst ein bahnbrechender Fortschritt für die digitale Infrastrukturlandschaft zu sein. Zumindest waren die Erwartungen groß, als Amazon S3 und weitere, ähnliche Services im Jahr 2006 an den Start gingen. Die Anbieter hatten schließlich versprochen, dass sich Workloads nahtlos von einem Serviceanbieter zum anderen migrieren lassen. Das suggerierte eine Zukunft, in der es Unternehmen möglich sein würde, schnell und einfach ihren Cloud-Anbieter zu wechseln, wenn ein Konkurrent bessere Preise oder Funktionalitäten anbietet. Doch trotz der anfänglichen Public-Cloud-Begeisterung wegen „as-a-Service“ und „on Demand“ – echte Portabilität war weiterhin nur schwer fassbar und kostspielig. Deshalb hatte ich bereits 2017 in Artikel-Form darauf hingewiesen, dass portable Cloud-Anwendungen Science-Fiction sind. Daran hat sich bis heute im Wesentlichen nichts geändert. Applikationen von Cloud zu Cloud zu migrieren, frisst immer noch wesentlich mehr Ressourcen als 2006 versprochen. Das Portabilitätsproblem Die grundlegende Herausforderung liegt in den inhärenten Unterschieden zwischen Cloud-Umgebungen: Jeder Cloud-Anbieter arbeitet mit eigenen, einzigartigen APIs, Protokollen und Funktionssätzen. Das wirft im Fall einer einfachen Migration von Plattform zu Plattform erhebliche technische Hindernisse auf. Das hat dazu geführt, dass Cloud Services als eine weitere Enterprise-Option wahrgenommen werden, die wie traditionelle IT-Dienstleistungen beschafft und gemanagt werden. Allerdings erfordern Cloud- und On-Premises-Umgebungen ein jeweils unterschiedliches Maß an Anpassungsarbeiten, um Workloads an neue Plattformen anzupassen. Je nach Betriebssystem und Programmiersprache kann dieser Aufwand geringfügig ausfallen – oder erfordern, den Anwendungs-Code fast vollständig neu zu schreiben. Ich bin mir zwar nicht sicher, warum dieser Fakt überraschen sollte – ist aber so, für viele die in die Cloud migrieren. Applikationen zu migrieren, die innerhalb virtueller Maschinen laufen mag dabei unter Umständen machbar erscheinen – das schmälert allerdings einige Vorteile der Cloud, etwa flexibel skalieren zu können. Und auch mit Blick auf Cloud-Native-Anwendungen sieht die Realität komplex aus: Zwar existiert mit Kubernetes ein Standard-Framework, das sowohl von großen als auch von kleinen Cloud-Anbietern eingesetzt wird. Allerdings gilt es oft unterschiedliche Konfigurationen oder Plugins zu berücksichtigen, wenn Apps auf Kubernetes-Basis übertragen werden sollen. Auch das ist also nie so simpel, wie Container– und Kubernetes-Enthusiasten gerne behaupten. Um Portabilität zu erreichen, ist eine sorgfältige Planung und ein gewisses Maß architektonischer Weitsicht erforderlich. Es gilt, Abhängigkeiten zu minimieren, die Anwendungen an bestimmte Cloud-Services binden. Das bedeutet im Regelfall, den kleinsten gemeinsamen Nenner zu wählen – überall laufen, aber nirgends wirklich gut. Im Klartext: Performance- und Optimierungsprobleme sind an der Tagesordnung und machen es zu teuer, solche „portablen“ Applikationen zu betreiben, selbst in der Cloud. Dabei spielt natürlich auch eine Rolle, dass formale Cloud-Standards nicht existieren und anbieterspezifische Services Entwickler oft dazu zwingen, Anwendungen auf spezielle Ökosysteme wie AWS oder Azure zu optimieren. Die Datenmigration stellt darüber hinaus eine weitere Komplexitätsebene dar: Wenn es um Datenportabilität geht, müssen häufig Daten zusammen mit den Anwendungen verschoben werden. Das ist technisch ebenfalls anspruchsvoll und kostspielig. Was können Unternehmen tun? Unternehmen haben mehrere Möglichkeiten, um die Kosten, die mit der diffizilen Übertragbarkeit von Cloud-Anwendungen verbunden sind, zu minimieren. Zum Beispiel die folgenden drei: 1. Anwendungen bei mehreren Cloud-Anbietern bereitstellen Eine Applikation über mehrere Cloud-Anbieter hinweg bereitzustellen, minimiert die Abhängigkeit von einem einzigen Anbieter. Diese Strategie bietet auch Vorteile, wenn es darum geht über Vertragsbedingungen oder Service-Migrationen zu verhandeln. Darüber hinaus ermöglicht dieser Ansatz, die Kosten zu optimieren, indem die kostengünstigsten Dienste verschiedener Anbieter kombiniert werden. Es wäre jedoch falsch zu glauben, dass Multi-Cloud die Antwort auf das Portabilitätsproblem ist. Denn um Ihre Anwendung für den jeweiligen Cloud-Anbieter zu optimieren, müssen Sie sie mit nativen Funktionen verknüpfen. Ein Multi-Provider-Ansatz minimiert zwar die negativen Auswirkungen, löst aber nicht das Portabilitätsproblem an sich. 2. Anwendungen mit Blick auf Portabilität entwickeln Dieser Ansatz umfasst Container-Technologien wie Docker und Orchestrierungs-Plattformen wie Kubernetes. Anwendungen von der zugrunde liegenden Infrastruktur zu abstrahieren, gewährleistet, dass diese mit verschiedenen Umgebungen kompatibel sind. Auf proprietäre Services zu verzichten und stattdessen auf Open-Source-Tools zu setzen, kann zudem die Portabilität verbessern und die mit Konfiguration und/oder Migration verbundenen Kosten senken. Auch hier gilt jedoch: Die meisten Unternehmen werden nicht darum herumkommen, die nativen Dienste zu nutzen, die erforderlich sind, um Container effizient zu betreiben und Geschäftsanforderungen zu erfüllen. 3. Effektives Datenmanagement nutzen Unternehmen sollten in Erwägung ziehen, ihre Daten möglichst so zu strukturieren, dass sie leicht zwischen Clouds verschoben werden können – und dabei parallel die Egress-Gebühren im Auge behalten. Der Einsatz einer Hybrid-Cloud- oder Cloud-zu-Cloud-Transferlösung kann ebenfalls dazu beitragen, einen nahtlosen Datenzugriff zu gewährleisten und die damit verbundenen Kosten zu senken. Indem sie die Datenarchitektur mit Fokus auf die Portabilität planen, können Unternehmen zudem teure und komplizierte Datenmigrationsprozesse vermeiden. (fm) Sie wollen weitere interessante Beiträge zu diversen Themen aus der IT-Welt lesen? Unsere kostenlosen Newsletter liefern Ihnen alles, was IT-Profis wissen sollten – direkt in Ihre Inbox! 

Nach oben scrollen