PaaS, l'ostacolo del lock-in è una barriera al suo utilizzo
La platform-as-a-service è un servizio cloud che permette agli sviluppatori di potersi servire di configurazioni e distribuzioni automatiche delle loro applicazioni grazie ad un fornitore che mette a disposizione la piattaforma con tutta l'automazione necessaria. Il fornitore di PaaS si prende quindi la responsabilità di aspetti quali la distribuzione dell'applicazione, i big data, la scalabilità, rendendo possibili funzionalità quali la multitenancy e la gestione dei cluster. Il mercato è attualmente denso di offerte PaaS, che contemplano leader quali Google Apps Engine, Force.com, Heroku, Xeround, MS Azure, e molti altri.
Le PaaS sono sicuramente il futuro, ma uno dei grandi nodi che rimane da sciogliere nella loro diffusione totale riguarda i loro problemi di lock-in, che possono impedire alle compagnie di creare applicazioni portabili. E' questa la grande sfida che le PaaS devono superare per crescere.
Ogniqualvolta una compagnia aggiunge un nuovo servizio ad un provider IaaS esistente, c'è il rischio di rimanere bloccati dentro quel servizio, rischiando di non poter spostare altrove le proprie applicazioni. Oltre a questo bisogna considerare che più una compagnia archivia dati in un'unica piattaforma, più diventerà difficile poi spostarsi, a causa dei tempi di trasferimento di questi dati: più crescono le moli di dati e di calcolo necessarie per gestirli, più questi devono affrontare un lock in.
Microsoft Azure può esserci da esempio per chiarire il problema: rimanere bloccati con un unico framework quale .NET in cui c'è solo un provider per tool .NET, può essere una forte limitazione per ogni decisione futura di una compagnia. Microsoft Azure mostra lock-in sul suo sistema operativo, lock-in sulla piattaforma di linguaggio, e lock-in sui suoi servizi Azure. Inoltre molte compagnie si trovano a dover risolvere molti problemi di calcolo per cui Java a differenza di .NET è molto più ferrato.
Salesforce è un altro esempio di questo problema, a causa del suo database e linguaggio di programmazione “closed source”, e della scarsa portabilità della sua infrastruttura. Se sviluppiamo un'applicazione usando il linguaggio di programmazione Apex, possiamo eseguirla solo nell'infrastruttura cloud di Force.com.