DEV Community

Mateus Malaquias for CollabCode

Posted on • Edited on

2 3

O Guia dos Serverless das Galaxias - #2 - Como chegamos até aqui?

Serverless Capa

Nesse momento imagino que você não está conseguindo conter a sua ansiedade por codar uma aplicação Serverless, sei que é fácil se empolgar (não vamos codar nesse artigo). Todavia é importante entendermos como chegamos até aqui para que possamos tentar imaginar o que vem por aí.

Lá nos anos 60, a visão de futuro era ter todo mundo interconectado e acessando sites e dados de qualquer lugar do planeta. Mas acredito que foi na década de 90 que a internet ganhou mais popularidade e as tecnologias web começaram a amadurecer.

Com isso se criou uma necessidade para hospedar esses sites. Os provedores de serviço de internet multiplicaram-se rapidamente oferecendo infraestrutura e alugando recursos compartilhados para satisfazer a necessidade de seus clientes.

Rapidamente entramos num fenômeno que posteriormente ficou mundialmente conhecido como a bolha da internet e para atender as necessidades da época uma uma estratégia de hospedagem distribuída nasceu e deu origem aos centros globais de dados.

Esses centros de dados abstraíam o ambiente de hospedagem oferecendo elasticidade limitada e diversos de recursos. Nessa época a escala ainda era obtida adicionando mais hardware. O papel do consumidor era de gerenciar seus aplicativos, o sistema operacional contratado, os dados das suas aplicações, armazenamento, rede e hardware.

A medida que o tempo foi passando esse cenário foi evoluindo e esses centros de dados se transformaram em plataformas de infraestrutura conhecidos como IaaS (Infraestrutura como serviço), são alguns exemplos de provedores: Amazon Web Services (AWS), Microsoft Azure, Google Compute Engine (GCE) e o OpenStack.

Ficou então a cargo desses e outros provedores de abstrair os componentes de infraestrutura, gerenciar as virtualizações (VMs), servidores, discos rígidos, armazenamento de dados e rede. Logo os seus consumidores são responsáveis por gerenciar suas aplicações, as pilhas de VMs e sistema operacional.

O escalonamento nesse modelo é alcançado alocando mais VMs e recursos de infraestrutura.

Não demorou muito tempo para o PaaS (Platform-as-a-Service) aparecer, com esse modelo uma nova camada de abstração floresceu por cima do modelo IaaS com o intuito de fornecer uma plataforma de computação em nuvem com um portal de autoatendimento para as aplicações. São alguns exemplos de provedores: Amazon Web Services (AWS), Microsoft Azure, Google Compute Engine (GCE), Heroku*, *Red Hat OpenShift e a Pivotal CF.

O PaaS abstraiu bastante a gestão de infraestrutura, aumento a facilidade de se obter escalabilidade, alta disponibilidade e multilocação (sua aplicação executando em diversas regiões do mundo), além disso os provedores passaram a gerenciar o sistema operacional, as VMs, os servidores, o armazenamento de dados e a estrutura de rede. Os Consumidores passaram a gerenciar suas aplicações.

Um tempo depois chegaram os containers (docker) que abstraiu as VMs, tornando mais leve por usar menos recursos e mais rápido em nas inicializações das aplicações. Nossas aplicações agora passaram a ser portáteis para todos os sistemas operacionais, nasceu também um mecanismo de empacotamento e distribuição de configurações de ambiente.

Os fornecedores de PaaS logo passaram a usar containers para gerenciar e orquestrar as aplicações de seus clientes.

Os containers também foram responsáveis por alavancar a arquitetura de micro-serviços, facilitando o encapsulando e isolando componentes funcionais reutilizáveis.

São alguns exemplos de provedores: Amazon Web Services (AWS), Microsoft Azure, Google Compute Engine (GCE), Docker Data Center.

Os provedores passaram então a gerenciar os containers, sistema operacional, os servidores, o armazenamento de dados e a estrutura de rede. Enquanto os consumidores continuam gerenciando suas aplicações.

Em 2014 a AWS lançou um serviço conhecido como AWS Lambda e muita gente considera isso o nascimento do modelo FaaS (Functions-as-a-service), todavia lá em 2006 uma empresa chamada Zimki já nos apresentava a característica de “pague quando usar” em sua plataforma e 6 anos depois (2012) nascem o Firebase e a Iron.io, tirando a Zimki e mostrando aos demais provedores a força de novos modelos de cobrança por prestação de serviço.

Voltamos para 2014 o nascimento do AWS Lambda e avançando mais 2 anos (2016) nascem o IBM Cloud Functions, Google Cloud Functions, Microsoft Azure Cloud Functions e Stackpath, em 2017 o Huawei Function Stage, em 2018 nasceram o Cloudflare Workers, Now by Zeit, Alibaba Function Compute. Com tantos provedores novos entrando no mercado, só deus sabe o que vem por aí.

O modelo Serverless passou a abstrair como acontece a execução do código fazendo com que o provedor se torne o responsável por gerenciar todo o ambiente de execução do código dos seus clientes. Para os consumidores restou a responsabilidade de gerenciar o código da aplicação.


Finalizando…

Se você gostou desse post não esquece de dar um like e compartilhar 😄

Se quiser saber o que ando fazendo por ai ou tirar alguma dúvida fique a vontade para me procurar nas redes sociais como @ malaquiasdev.

Para ler mais post meus acesse MalaquiasDEV | A Vida, o código e tudo mais.

Postmark Image

Speedy emails, satisfied customers

Are delayed transactional emails costing you user satisfaction? Postmark delivers your emails almost instantly, keeping your customers happy and connected.

Sign up

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay