În timp ce furnizorii de servicii IT preferă să sugereze încărcări de lucru în mișcare între mediile cloud, considerând că este o operațiune ușoară de tip drag-and-drop mutarea aplicațiilor între medii, realitatea poate fi mult mai complexă. Multi-cloud reprezintă o recunoaștere veche din partea industriei IT că organizațiile vor utiliza IT de la mai mulți furnizori de cloud și că este puțin probabil ca sistemele din interiorul companiilor să dispară în viitorul apropiat. Problemele legate de modelul multi-cloud încep să apară atunci când companiile își dau seama că mutarea volumului de lucru în mișcare de la un mediu cloud la altul nu este atât de ușoară cum spun furnizorii.
Multi-cloud reflectă utilizarea software-as-a-service (SaaS) pentru aplicații de genul emailului, împreună cu platform-as-a-service (PaaS), pentru dezvoltarea apliațiilor, dar și cu infrastructure-as-a-service (IaaS) pentru operarea unor încărcări cu ajutorul mașinilor virtuale. Clienții se orientează către mai multe servicii de cloud datorită unor specializări unice oferite de fiecare provider în parte. Printre acestea sunt incluse apliații pentru companii de tipul SQL Server, de tipul Microsoft Azure, sau abilitatea de a conecta inteligența artificială cu servicii de data analytics, cum ar fi Google Cloud. Un alt exemplu este Amazon Web Services, care oferă o multitudine de funcții și servicii unice, la care se adaugă sute de noi servicii în fiecare an.
Multe companii au început să utilizeze IaaS încă din primele etape ale trecerii în cloud, mutând eficient încărcările din zona echipamentelor locale. Companiile au tendința de a converti serverele în mașini virtuale, dar cu aceleași funcții și arhitecturi, pentru a copia cât mai fidel mediile ce erau instalate local. Fie ca urmare a unui accident sau a unui proiect, multe organizatii vor ajunge să opereze sarcini de lucru pe mai multe platforme IaaS. Acest lucru s-ar putea produce pentru suveranitatea datelor, griji legate de anti-blocare sau pentru redundanță. Furnizorii de servicii cloud spun că nu există motive de îngrijorare, pentru că încărcările pot fi mutate ușor dintr-un mediu cloud în altul, dacă oferă alte funcții suplimentare sau o ofertă mai bună. Furnizorii vorbesc constant despre mediul cloud hybrid și cum pot fi mutate ușor aplicațiile cu metoda drag-and-drop de la un mediu cloud la altul, dar în realitate există numeroase probleme și obstacole în acest sens.
Obstacolele încep cu variația de caracteristici ale serverelor diferiților provideri de cloud, iar formatele standard ale pachetelor ce sunt transferate între provideri și mașini virtuale sunt rar utilizate în practică. În plus, aplicațiile tradiționale cu trei niveluri necesită de obicei acces la o bază de date implementată pe un cluster separat de servere, complicând în continuare migrația. Toate acestea înseamnă că mașinile virtuale nu sunt aparatul ideal de folosit dacă doriți libertatea de a schimba volumul de lucru de la un cloud la altul. O opțiune alternativă este aceea a containerelor, care oferă dezvoltatorilor o modalitate ușoară de a încapsula codul aplicației și de a-l distribui pentru a fi executat atât la bază, cât și în cloud.
Containerele au câteva avantaje în ceea ce privește portabilitatea, sunt mult mai mici în comparație cu mașinile virtuale, în timp ce o mașină virtuală conține un întreg sistem de operare, precum și aplicația. Containerele sunt, în mod eficient, o tehnologie Linux și sunt utilizate în mare parte încărcările cloud-native, mai degrabă decât pentru aplicațiile tradiționale ale întreprinderilor care funcționează pe sistemele deținute de companii. Containerele sunt, de asemenea, o tehnologie mai puțin matură decât mașinile virtuale, astfel încât ecosistemul evoluează rapid, cu soluții concurente pentru securitate, disponibilitate ridicată și resurse cheie, cum ar fi suportul pentru stocarea permanentă.
Există și o serie de rezolvări pentru portabilitatea cloud, una fiind reprezentată de utilizarea unui mediu al apliațiilor, cum este PaaS. PaaS oferă în sine o mare parte din serviciile necesare unei aplicații, dar poate să ofere și mobilitatea necesară în cazul unui mediu ce este mutat de pe un cloud pe altul. Un exemplu notabil al acestui lucru este platforma de aplicații OpenShift a Red Hat, care permite utilizatorilor să construiască și să implementeze aplicații utilizând containerele Docker. Acesta este disponibil într-o versiune care poate fi implementată la nivel local, precum și pe Microsoft Azure, AWS și Google Cloud Platform. Acest lucru ar trebui, în teorie, să permită unui client să transfere codul aplicației între oricare dintre aceste platforme.
Privind dincolo de PaaS, organizațiile s-ar putea îndrepta spre tendința emergentă a așa-numitei computerizări fără server, prin care aplicațiile sunt construite în funcție de funcțiile pay-per-use specifice, ceea ce duce la denumirea alternativă a ” functions as a service “. Aproape toate platformele fără servere suportă Python, astfel încât aplicațiile de codificare din acea limbă ar trebui să permită mutarea cu ușurință a codului de la unul la altul. Dar, problemele pot apărea atunci când medii cloud susțin diferite funcții și, cu excepția cazului în care codul este foarte generic și evită legătura cu orice funcții sau servicii specifice cloud-ului, nu va fi o mișcare fără probleme. O altă barieră în atingerea portabilității cloud este reprezentată de datele reale. Este posibil să nu fie practică mișcarea unor tipuri de informații locale din motive de conformitate sau de reglementare. Mai apare și problema volumului de date care trebuie transferat, existând riscul ca transferul să dureze mai multe zile pentru canități mari de date și conexiuni medii sau slabe. Pentru această problemă, soluți ar fi reprezentată de o aparatură bazată pe hard-disk, mutată la centrul de date al providerului de cloud.
În final, punem și problema administrării unor asemenea medii. Furnizorii de cloud și de infrastructură au propriile instrumente de gestionare, însă acestea se concentrează în mare parte pe o strânsă integrare cu propriul lor pachet de software, lăsând la decizia furnizorilor terți decizia de a oferi o formă de strat unificat care poate suporta mai multe medii cloud. Această situație lasă departamentelor IT să aleagă că trebuie să stăpânească o gamă largă de instrumente de gestionare pentru a-și supraveghea mediul multi-cloud sau pentru a folosi un instrument de gestionare cross-platform care poate avea o gamă limitată de funcționalități.
Întreprinderile ar trebui, prin urmare, să planifice cu atenție atunci când își lansează strategia cloud-ului, deoarece schimbara furnizorilor de cloud poate aduce dificultăți sau procese costisitoare.