O conceito de Cloud Computing possui, no momento, 11 categorias de serviços. As mais populares são: Saas, PaaS e IaaS. As demais vertentes são aprimoradas dia a dia. Em curto prazo, outros serviços estarão segmentados de acordo com essas categorias no mercado. Entretanto, o ideal é analisar, mais de perto, as categorias mais populares quando o assunto é computação em nuvem.
Saas (Software as a Service)
É um conceito de software oferecido em forma de serviço ou prestação de serviços. O software é executado em um servidor remoto. Não é necessário instalar o sistema no computador do cliente, basta acessá-lo pela internet. Alguns serviços que se encaixam nessa modalidade são:
- PABX Virtual e Call Center Virtual
- E-mail Marketing
- Mobimail
- Loja Pronta
Os serviços do tipo SaaS mais comuns no mercado:
- Google Docs
- Gmail
- Sales Force (salesforce.com)
PaaS (Platform as a Service)
Este conceito oferece uma plataforma de desenvolvimento de aplicações, inclusive de software como um serviço. Em resumo: ações como desenvolver, compilar, debugar, deploy e teste em uma aplicação passaram a ser executadas na nuvem.
Pode parecer que estamos voltando à época dos mainframes - e, de certa forma é isso mesmo -, porém de forma organizada e escalar. A vantagem deste serviço é poupar custos, não alocar hardware desnecessariamente e poder escalar dados de forma simples sem ter que lidar com o ambiente físico diretamente. Alguns serviços que se encaixam nessa modalidade são:
- Hospedagem de sites
- Revenda
Serviços comuns no mercado:
- Google AppEngine
- Force.com da Salesforce
IaaS (Infrastructure as a Service)
Refere-se ao fornecimento de infraestrutura computacional (geralmente em ambientes virtualizados) como um serviço. Em vez de o cliente comprar servidores para uma determinada aplicação, ele contrata um serviço dentro de um datacenter proporcional aos seus requisitos de infraestrutura e tem acesso completo à plataforma e ao software. Esse tipo de serviço é cobrado de acordo com a utilização ou pela reserva de recursos contratados.
Alguns serviços que se encaixam nessa modalidade são:
- Cloud Server com gerenciamento pelo cliente
- Servidor dedicado com gerenciamento pelo cliente
Serviços comuns no mercado:
- EC2 da Amazon
- Blue Cloud da IBM
Fora as categorias de Cloud Computing mencionadas, existem outras que estão ganhando força no mercado. Segue uma lista com outras categorias:
- DaaS (DB as a Service) - Oferece serviço de banco de dados como serviço operando em um datacenter, podendo ser acessado externamente por qualquer tipo de aplicação, como se fosse local.
- Governance as a Service - Serviço que viabiliza o gerenciamento de topologias, monitoramento de recursos e virtualização via internet, com base em políticas definidas para dados e serviços.
- Process as a Service - Recurso que oferece remotamente meios de criar processos de negócio. O aplicativo pode interagir com sistemas, serviços e informações, que, combinados, geram uma sequência de processos empresariais.
- Security as a Service - Oferece serviços de segurança lógica aplicadas a e-mail, navegação, controle de vulnerabilidades, entre outros, incluindo uma interface de monitoramento via internet.
- Storage as a Service - Modalidade que oferece armazenamento como serviço dentro de um datacenter, podendo ser acessado por aplicações externas.
- Test as a Service - Ambiente para testes de aplicações em nuvem, websites e aplicações remotas disponibilizado na internet.
O conceito vem evoluindo constantemente, tanto que já se fala até em Everything as a Service (EaaS ou XaaS), ou seja, "tudo como serviço" rodando na nuvem. O caminho, sem dúvida, tende a esse final, visto que a rede pode, de fato, viabilizar essa tendência.
Conclusão
Independentemente da escolha de arquitetura que façamos para fornecer nossa aplicação, devemos nos preocupar também com a administração e manutenção do banco de dados, pois, ao adotar uma plataforma usando Cloud Computing, precisaremos gerenciá-la a distância, e as "velhas rotinas" seguidas à risca pelos DBAs deverão ser mantidas.
É arriscado não se preocupar com backup, migração e extração, administração correta de dados e usuários, controle de performance e modelagem de dados. Já temos no mercado ferramentas para lidar com arquiteturas mais complexas, como Computação em Nuvens, e que podem ajudar a maximizar ainda mais a performance do banco de dados e também garantir que SLAs firmadas na contratação do serviço sejam atingidas.
Além disso, você terá a certeza de que o problema do banco não está em quem o administra - no caso, não em você, contratante do serviço, mas sim em quem o oferece a você.
Fontes de pesquisa:
Agradeço pela atenção de todos.
Viva o
Linux, porque nos amamos a liberdade!