Índice:
A virtualização abrange várias tecnologias de computação e pode ser alcançada no nível do hardware e no software. Em uma empresa, a virtualização pode aprimorar a capacidade dos serviços de software, especialmente aplicativos SaaS. É também a maneira mais eficaz para as empresas reduzirem seus custos de TI. Mas junte virtualização e SaaS e você pode ter uma combinação vencedora.
O que é SaaS?
Software como serviço (SaaS) é um modelo de licenciamento de software no qual o software é licenciado com base em assinatura e é hospedado centralmente por um fornecedor ou provedor de serviços. Esses aplicativos de software distribuído são disponibilizados aos clientes pela Internet.
O SaaS está se tornando popular entre as tecnologias que oferecem suporte à arquitetura orientada a serviços (SOA) ou serviços da Web. O SaaS vem com uma série de vantagens. Os mais comuns são:
- Administração fácil
- Fácil atualização e gerenciamento de patches
- Compatibilidade (todos os usuários terão a mesma versão do software)
- Acessibilidade global
- Gerenciamento de tecnologia da informação como serviço (ITMaaS)
Virtualização e entrega de software
O conceito de virtualização foi corretamente adotado e aceito na comunidade de desenvolvimento de software. Ele tem a capacidade de fornecer mecanismos de teste e desenvolvimento mais rápidos, criando ambientes de desenvolvimento e teste rapidamente.
O VMware e o VBox são a tecnologia mais usada e permitem que vários usuários executem em diferentes sistemas operacionais, versões e instâncias. A maioria das empresas de desenvolvimento de software adota a técnica de virtualização adotando primeiro o mecanismo de virtualização de software e depois gradualmente migrando para a virtualização de hardware.
Virtualização e SaaS
Apesar de ter tantas vantagens, o SaaS ainda não recebeu o devido crédito. Existem muitos fatores responsáveis por isso. Esses incluem:- Grande custo inicial: a receita investida na instalação é recuperada ao longo de um período de anos.
- Pode violar os princípios do software livre: o ativista da liberdade de software Richard Stallman se refere ao SaaS como "serviço como substituto de software (SaaSS)" e considera uma violação dos princípios do software livre.
"Com o SaaS, os usuários não têm uma cópia do arquivo executável: é no servidor, onde os usuários não podem vê-lo ou tocá-lo. Assim, é impossível para eles verificar o que realmente faz e impossível mudar O SaaS inerentemente dá ao operador do servidor o poder de alterar o software em uso ou os dados dos usuários em operação ", escreveu Stallman no site da GNU.
Se focarmos além do custo de infraestrutura e de inicialização, uma vez implantada, uma plataforma de aplicativo SaaS deve se preocupar apenas com a reprodutibilidade. Cada instância do aplicativo baseado em SaaS deve ser idêntica uma à outra. Deve haver diferenças mínimas para manter o comportamento consistente de cada instância de aplicativo para cada cliente e para a equipe de suporte. Isso é feito para que eles tenham uma base uniforme para solucionar qualquer problema, se necessário. O engenheiro de suporte não gostaria de descobrir um problema causado por um módulo de biblioteca ausente para uma única instância do cliente. Da mesma forma, nenhum cliente gostaria de saber que poderia haver um problema em cada aplicativo solicitado, porque a empresa baseada em SaaS não pode reproduzir o problema usando as mesmas etapas para cada pedido. Todo o processo deve ser automatizado para obter consistência e benefícios de custo.
Aumento da complexidade
Torna-se importante entender a natureza complexa da implantação dos aplicativos atuais - seja o modelo SaaS ou o modelo tradicional. Mesmo o aplicativo Web mais simples não é mais responsável pelo gerenciamento da camada de armazenamento de dados subjacente. A prática padrão é ter um banco de dados, por exemplo, MySQL, Oracle, DB2 ou SQL Server. Combiná-los com pilhas da Web típicas, como Java, Ninja, Grails, Rails, etc., leva a uma arquitetura de várias camadas que exige implantação escalável. Por exemplo, ao configurar um ambiente Rails, usamos o MySQL.
A natureza ágil dos aplicativos, que permite atualizações fáceis do software via plug-ins, patches, macros e mashups, pode ser facilmente integrada ao modelo SaaS. Uma extensão ou um patch é desenvolvido para um problema menor, na maioria das vezes uma correção de bug, que precisa ser entregue como um patch no software existente. Normalmente, um cliente não gostaria de saber que ocorreu um problema devido a uma restrição de recurso ou a outras circunstâncias, ou que foi criado por outro cliente.
De acordo com a Wikipedia, a separação de preocupações é a premissa de dividir um aplicativo em recursos distintos, o que minimiza a sobreposição de funcionalidades. Com a virtualização implementada, esse conceito pode ser aplicado à infraestrutura. A separação pode ser aplicada até a base por aplicativo, por cliente e / ou por cluster. Enquanto ainda usa o hardware em sua capacidade máxima, ele oferece a capacidade de escalar horizontal e verticalmente. Isso é benéfico para aplicativos de inquilino único que desejam entrar no mercado de SaaS. A multilocação instantânea no hardware subjacente com alteração de código quase zero pode ser alcançada com facilidade.
Existem dois modelos de implantação implantados na plataforma SaaS da Contegix. O fator de diferenciação depende de como o aplicativo é desenvolvido:
- Para oferecer suporte a um único cliente por implantação, ou
- Para oferecer suporte a vários clientes em uma única implantação
Independentemente do modelo de implantação, é muito importante separar a instalação do sistema operacional e do aplicativo dos dados do aplicativo. Isso leva a discussões sobre como as atualizações são processadas e manipuladas. A instalação do sistema operacional e do aplicativo deve levar em consideração a quantidade de dados voláteis, que podem ser substituídos a qualquer momento por uma cópia atualizada ou nova versão.