O que são as camadas de apps?

A virtualização de aplicativos facilita desde seu advento o gerenciamento de imagens VDI pelo departamento de TI, mas também existem desafios que acompanham esse tipo de solução, como por exemplo, ao precisar corrigir um app ou atualizar para uma nova versão, é necessário recriar a imagem. Por isso surgem as camadas de apps como solução, que permite que aplicativos encapsulados pela virtualização sejam executados sobre uma dessas camadas, inclusive dando a impressão de que o app está sendo executado diretamente no topo do sistema operacional de desktop virtual.

Assim como as máquinas virtuais executadas em cima de um hipervisor comum são isoladas umas das outras, também os aplicativos virtualizados são executados em uma área de trabalho virtual. Cada aplicativo é efetivamente armazenado em área restrita a partir de outros aplicativos virtualizados em execução no sistema.

A conteinerização (ou sandbox), uma abordagem para o desenvolvimento de software e gerenciamento de aplicativos móveis (MAM) que limita os ambientes nos quais determinado código pode ser executado, também pode ser usada, tais limites de isolamento de um sandbox podem melhorar a segurança, por exemplo. Isolar aplicativos uns dos outros também possibilita a execução de aplicativos incompatíveis, lado a lado.

Alguns aplicativos têm dependências uns dos outros , e isolar esses aplicativos pode quebrar essas dependências. Mesmo se não houver dependências diretas, geralmente há benefícios em executar aplicativos em um espaço de usuário comum. Por exemplo, um usuário pode precisar copiar dados de um aplicativo e colá-lo em outro.

Algumas organizações contornaram o problema de isolamento de aplicativos ao agrupar aplicativos em um pacote de virtualização comum, em vez de virtualizar cada aplicativo de forma independente. Essa abordagem teve tanto sucesso quanto fracasso, pois se por um lado agrupar aplicativos permitiu que eles interagissem entre si, pelo outro, também aumentou a complexidade associada ao gerenciamento de aplicativos. Se um administrador de TI precisasse corrigir apenas um aplicativo em um pacote, seria necessário refazer todo o pacote.

camadas de apps

 

Como agrupar e criar camadas de apps?

A camada de aplicativos funciona de maneira diferente, geralmente utilizando discos diferenciais para aplicar camadas ao sistema operacional. Primeiro, o sistema operacional de um desktop virtual é instalado em um disco rígido virtual, quando a TI usa a camada de aplicativos, esse disco rígido virtual atua como a primeira de três ou mais camadas .

A segunda camada é geralmente a camada de aplicação, nela estão contidos os binários de aplicativo, bem como seus componentes de suporte, como arquivos de biblioteca de vínculo dinâmico. Dependendo do produto que a TI usa, pode haver um arquivo de disco rígido virtual separado para cada aplicativo.

A terceira camada da pilha é uma camada de dados, essa camada de aplicativo, assim como os discos virtuais que compõem a camada de aplicativo são geralmente tratados como somente leitura, com isso, ocorre a proteção da integridade dos binários do aplicativo e do sistema operacional. A camada de dados manipula todas as operações de gravação, podendo agir como parte do perfil do sistema operacional do usuário ou simplesmente conter dados do sistema transitório.

A camada de aplicativos não protege os aplicativos da maneira que a virtualização de aplicativos faz, os aplicativos são capazes de interagir uns com os outros, do mesmo modo que fariam se fossem instalados diretamente no sistema operacional.

Por fim, com a camada de aplicativos instalada, a TI pode gerenciar aplicativos individualmente e executar mais facilmente o gerenciamento de imagens do sistema operacional.