Modelos de Serviço de Cloud e Principais Providers

Mariana Carvalho
SysAdminas

--

Quando falamos em provisionar recursos na área de Computação em Nuvem, devemos levar em consideração três diferentes tipos de modelo, os quais são baseados nas responsabilidades que o provedor de serviços de nuvem possui versus o que ficará sob responsabilidade da organização que consome tais serviços.

Os três modelos mais importantes são:

  • Infrastructure as a Service (IaaS, ou Infraestrutura como Serviço): neste modelo, os serviços são muito parecidos com o gerenciamento e manutenção de servidores em um centro de dados privado. O prestador de serviço de nuvem é responsável pela infraestrutura, mas a empresa contratante é responsável pela manutenção e também pela configuração de redes. O modelo de IaaS é muito utilizado por empresas que querem a agilidade dos serviços de nuvem, mas com controle sobre o gerenciamento de sua infraestrutura. Alguns exemplos de provedores e plataformas de IaaS são o OpenStack, a AWS, o Azure, o GCP, e a Dell. Como exemplos de IaaS é possível citar: Compute Engine do GCP, o EC2 e EBS da AWS, e o Azure Disk Storage.

Limitações da IaaS:

  • Ao abrir mão do controle da infraestrutura de base para deixá-la nas mãos do provedor de serviço, o cliente se beneficia de todos os pontos citados acima, mas caso haja algum downtime (queda no sistema) ou invasão nos servidores remotos dos provedores (como já vimos algumas notícias na indústria, como esse caso de um ataque de DDoS — Denial of Service — na AWS), há muito pouco o que o cliente consiga fazer remediar, a não ser que haja uma infraestrutura híbrida e de alta disponibilidade suportando o centro de dados e aplicações (com load balancing, zonas de alta disponibilidade, entre outros);
  • Alta demanda do time de TI para gerenciar a infraestrutura;
  • Garantir que todos os patches de segurança estejam aplicados e o que os sistemas operacionais estejam up to date.

Platform as a Service (PaaS, ou Plataforma como Serviço): o provedor oferece serviços gerenciados que farão o papel de uma máquina virtual e sistema operacional, fazendo com que a camada da infraestrutura seja transparente para o cliente e ele não precise gerenciá-las. O cliente fica responsável pela implementação da aplicação e também pelos dados que irão alimentar esta aplicação. Alguns exemplos de PaaS são: Google App Engine, Jenkins, GitLab, RedHat OpenShift.

Limitações da PaaS:

  • É preciso considerar que poderá haver limitações em uma plataforma oferecida pela nuvem que não seja compatível ou que não seja a melhor opção para o tipo de aplicação que uma organização necessita. É sempre importante considerar as limitações das plataformas para tomar uma decisão bem informada ao escolher o melhor tipo de serviço para a sua aplicação;
  • Outra limitação é o “vendor lock-in”, no qual o cliente pode acabar ficando preso ao provedor de serviços, atrapalhando assim o cliente a implementar uma estratégia multi-cloud.

Software as a Service (SaaS, ou Software como Serviço): neste modelo, o provedor de serviço é responsável por gerenciar toda a infraestrutura do serviço, bem como sua plataforma (o desenvolvimento e manutenção da aplicação em si). O cliente é apenas responsável por fornecer os dados que alimentarão aquele software. Alguns exemplos de SaaS são: Microsoft Office 365, Salesforce, Google Docs.

Limitações da SaaS:

  • Como o cliente utiliza um software pronto, ele não tem controle sobre suas funcionalidades. Ao escolher a melhor solução de SaaS, é importante levar em consideração as necessidades das aplicações do negócio e as limitações do provedor de serviço. Outra limitação é o controle que a empresa deixa na mão do provedor de serviço. Não há controle de onde esse software está hospedado e um downtime de serviço pode prejudicar a empresa;
  • Uma pesquisa de 2019 da Statista mostrou que o custo médio sofrido por uma empresa durante um downtime varia entre $300.000,00 a $500.000,00, por hora.

Veja o gráfico abaixo para melhor entendimento dos modelos:

Criado por Mariana Carvalho, inspirado neste link.

A seguir, encontra-se um exemplo inspirado no Pizza as a Service 2.0, de Paul Kerrison, o qual é uma analogia sobre o preparo e consumo de pizzas, que ajuda a simplificar o entendimento:

Arquitetura Serverless

A arquitetura serverless, ou “sem servidor”, ainda causa muita confusão. Quando falamos sobre ela, não significa que não há servidores por trás dos códigos dos desenvolvedores, mas sim sobre o fato de que os desenvolvedores não precisam se preocupar em configurar e gerenciar máquinas virtuais (VMs) para rodarem seus códigos.

A arquitetura serverless traz mais agilidade e produtividade para a equipe de desenvolvimento. Sem a preocupação em configurar servidores, uma empresa consegue trilhar seu caminho em entregar produtos mais rápido para o mercado, otimizar seus recursos e focar seus esforços e staff no que importa: inovação e melhores produtos e serviços para o mercado.

Cultura XaaS (Anything-as-a-Service)

Além dos serviços mencionados acima, existem muitos outros que visam a entregar para empresas e consumidores finais serviços pré-montados, de fácil e rápida implementação. Alguns desses serviços são os que se encontram a seguir. A intenção deste livro não é explorar todos os modelos as-a-Service, mas sim mostrar que sua cultura vem crescendo em diferentes layers do stack (camadas da pilha) de um negócio ou organização.

Através dos servidores de nuvem, é possível solicitar múltiplos serviços e ferramentas e entregá-los de forma self-service e rápida através da internet, com um pagamento flexível de consumo ao invés de um investimento alto de entrada. Todos estes serviços e ferramentas podem ser consumidos as-a-service, surgindo assim o conceito de “XaaS”, ou Anything-as-a-Service.

Alguns serviços para exemplificar:

  • FaaS: Function-as-a-Service, ou Função como Serviço. Segundo a Red Hat, a FaaS é um modelo de execução de computação orientada a eventos em que os desenvolvedores escrevem a lógica que é implantada em contêineres totalmente gerenciados por uma plataforma e, em seguida, executado sob demanda. O FaaS oferece um maior grau de controle aos desenvolvedores, que criam aplicativos personalizados em vez de depender de uma biblioteca de serviços pré-desenvolvidos;
  • DBaaS: Database-as-a-Service, ou Banco de Dados como serviço é um serviço gerenciado pelo provedor que tem como objetivo oferecer toda a infraestrutura de um banco de dados para o cliente, mas a responsabilidade do cliente está em providenciar os dados de input para o banco de dados. Os tipos de bancos de dados disponíveis como serviços são inúmeros, e alguns deles são: MySQL, PostgreSQL, MongoDB Atlas, NoSQL, e muitos outros. Para se aprofundar mais em Banco de Dados, confira o capítulo 11 do Guia de Infraestrutura de TI;
  • DaaS: Desktop-as-a-Service, ou Área de Trabalho como Serviço. Neste serviço, o provedor de nuvem oferece áreas de trabalho (sim, uma área de trabalho em uma máquina virtual na nuvem assim como essa que você está usando agora!) pela internet, através de uma licença para o negócio, fazendo com que suas dezenas (ou centenas, ou milhares) de funcionários possam ter acesso rápido e seguro ao ambiente de trabalho. Esse serviço foi ainda mais utilizado durante a pandemia da COVID-19, em 2020, uma vez que a força de trabalho migrou para o modelo remoto e cresceu exponencialmente, tanto no Brasil quanto no mundo.

Principais Cloud Providers

No mercado atual, existem inúmeras empresas que prestam os serviços nos modelos apresentados acima (SaaS, PaaS e IaaS). Empresas como Microsoft, Google e Amazon possuem uma infraestrutura inteira para sustentar desde pequenas a médias e grandes empresas.

Abaixo, estão descritas as soluções de nuvem mais comumente ouvidas no mercado de infraestrutura de TI. Vale a pena entrar no site de cada uma delas para conhecer seus catálogos, aprender mais sobre os serviços que elas oferecem e também as regiões em que elas atuam. Em ordem alfabética, elas são:

Além de conhecer os catálogos de serviços desses provedores, você pode aprender mais sobre cada um deles nos portais de treinamento que possuem, os quais estão disponíveis de maneira gratuita e on demand:

Outros websites recomendados para treinamentos são o Cloud Guru, FreeCodeCamp e o ExamPro. Estes sites oferecem desde treinamentos para provas de certificação em nuvem, como também recursos, informações e infográficos para quem quer saber mais sobre os principais provedores de nuvens.

Esse texto faz parte do Guia da Guia da Computação em Nuvem: Conceito, Prática & Capacitação publicado no Medium, no LeanPub, e na Open Library. Para checar todos os capítulos, clique aqui e acesse a Introdução.

Próximo capítulo: Comparação dos serviços da AWS, Azure e GCP

--

--

Mariana Carvalho
SysAdminas

Career mentor, writer, researcher. Latino 30 Under 30. Sharing my experience along the way • Connect https://www.linkedin.com/in/mari/