
Bin ein relativ unerfahrener Machine-Learning-Ingenieur mit Interesse an DevOps und Softwareentwicklung. Entschuldigen Sie die vage und meinungsbasierte Frage.
Mehrere Blogs und Tutorials, die einige Cloud-Konzepte vermitteln, raten mir jedoch von der Verwendung von Diensten ab, die zu einer Abhängigkeit von einem bestimmten Anbieter führen, ohne klarzustellen, um welche Art von Diensten es sich handelt.
Wenn ich beispielsweise automatisierte Skripte zum Verwalten von Cloud-Server-Startvorgängen usw. verwende, sollte ich dann Open-Source-Skripte wie Terraform anstelle von AWS oder Azure CLI verwenden?
Sollte ich beim Orchestrieren von Docker-Containern und Ausführen von Webdiensten auf die Verwendung von Abstraktionen höherer Ebene wie Fargate oder ECS verzichten und stattdessen stattdessen Container innerhalb einer EC2-Instanz wie einem lokalen Linux-Server starten?
Aber in jedem Fall müsste ich immer noch sehr Cloud-spezifische Lösungen und APIs verwenden, um mit ihnen zu interagieren, oder? Beispielsweise bieten Amazon S3 Bucket und Azure Blog Storage ähnliche Dienste, aber mit unterschiedlichen APIs.
Oder verstehe ich das Konzept irgendwie völlig falsch und es bedeutet etwas völlig anderes. Einige Beispiele für Entscheidungen, die zum sogenannten Vendor Lock-in führen oder nicht, wären sehr willkommen.
Entschuldigen Sie nochmal die Anfängerfrage.
Antwort1
Um eine Bindung zu vermeiden, verwenden Sie letztendlich nur virtuelle Maschinen und nicht die Dienste von Cloud-Anbietern. Wenn Sie keine Cloud-Dienste verwenden, können Sie genauso gut die günstigsten zuverlässigen VMs verwenden, die Sie finden können.
Ich schlage jedoch vor, dass es besser ist, die ausgewählten Dienste und Funktionen des Cloud-Anbieters zu nutzen und sich keine Gedanken über die Bindung zu machen. So erhalten Sie eine zuverlässigere und wahrscheinlich auch günstigere Lösung. Wenn Sie den Cloud-Anbieter wechseln möchten, wird das viel schwieriger, aber das werden Sie wahrscheinlich nicht tun.