play_arrow

Podcast

Execute seus códigos serveless

Vinícius Perrott 1 de fevereiro de 2022 4983 18 3


Background
share close

Olá! Seja bem-vindo ao VEEZOR Podcast.

Um espaço totalmente dedicado a discutir sobre as principais tecnologias em computação em nuvem, segurança, banco de dados e inteligência artificial, gestão de identidade e tantos outros temas, que serão discutidos aqui.

Quer entender como essas e outras tecnologias em cloud podem revolucionar o seu negócio?

Entre em contato pelo site veezor.com

Esse conteúdo conta com o apoio da AWS, Amazon Web Services.

Eu sou Vinicius Perrott. Seja bem-vindo ao VEEZOR Podcast!

Vinícius Perrott: Se você não sabe o que que é, fique ligado. Nesse episódio também, eu vou contar com a participação de dois arquitetos de soluções em Cloud. Paulo, seja muito bem-vindo.

Paulo Fagiani: Prazer Perrott.

Perrott: Giam, seja muito bem-vindo.

Giampaolo Carmagnani: Obrigado, Perrott.

Perrott: Pessoal, primeiro, a gente já ouviu falar muito desse nome, o tal de serverless. Que em uma tradução meio que genérica aqui, seria, sem servidores, né? Mas, primeiro vou começar pelo básico. Acho que o básico, sempre nos ajuda a compreender essas tecnologias. O que que é serverless?

Giam: O conceito de serverless, é basicamente quando você não tem que gerenciar os seus servidores. Isso não quer dizer que eles não existem. Então, serverless, não quer dizer que é sem servidor. Mas, é que não está no meu controle, a gestão desse servidor. Eu não sei que máquina está sendo usada, nem está na minha conta necessariamente aquela máquina. E aí, é muito mais ligada a ideia de que eu vou pagar por aquele serviço, muito mais por uma quantidade de transações, do que por uma hora ligado, por um período de utilização. Então, são outros fatores que influenciam na cobrança, muito mais pela frequência e tempo de cada uma dessas operações, do que necessariamente, eu vou pagar por uma utilização perene daquele recurso. Então, eu abstraio a existência daquele servidor, porque ele existe, e está sendo usado para atender diversos clientes que tem picos e maneiras diferentes de utilização. Mas, eu desconheço como ele está sendo gerenciado, e eu apenas faço requisições e recebo resultados. E é por essas requisições e resultados, que eu acabo por pagar. E não pela existência da hora do servidor ligado, que está por trás de tudo isso.

Perrott: Jean, só para a gente entender aqui. Método tradicional, a gente tem um conjunto de elementos que a gente faz a composição do nosso serviço. Eu tenho meu disco, eu tenho minha rede, eu tenho meu backup, eu tenho minha memória, eu tenho meu processamento. Isso no custo tradicional, o gestor ele tem que somar item a item, para descobrir qual o custo daquele serviço, para operacionalizar. No conceito de serverless, é um pouquinho diferente. É algo mais abstrato, e mais prático. Seria isso?

Giam: Exatamente. Você só vai pagar por aquilo que você está usando, basicamente. SE você tem um código rodando serverless, você vai pagar por quanto tempo ele rodou. Se você está usando o banco de dados que seja serverless, você também só vai pagar pelo número de transações que ele fez. Se você está usando um repositório de objetos serverless, você vai pagar pela quantidade de dados armazenados, e por quanto você tinha de (inaudível) [00:03:17.08] daquele repositório. Ou seja, é muito mais simples você fazer a conta.

Perrott: Então, é uma coisa que a gente pode colocar em questão aqui, se, quem estiver nos acompanhando, tiver uma aplicação que quer, de repente, se aproximar nesse conceito de serverless. Mas, já tem um comportamento de utilização para, utilização e para, já é uma coisa totalmente diferente de, ok, eu provisionei um monte de infraestrutura, usando ou não, estou pagando. O serverless não. Se eu usar, eu fui bilhetado. Se eu não usar, ok. Seria isso?

Giam: Exatamente. Inclusive, por exemplo, essa ideia, para quem está começando, é muito interessante, porque você não tem ideia de quanto vai utilizar o seu workload. Você está o startup lá, não sabe se aquele seu produto vai bombar, ou não. Você começa com serverless, que a medida… Outra vantagem do serverless, também, que ele é escalável. Ou seja, você também não vai estar preocupado em provisionar novos serviços, os servidores, em caso que seu aplicativo exploda no mercado. Ou seja, ele vai acompanhando tranquilamente sua ascensão na nuvem.

Perrott: Só um ponto que eu acho que a gente tem que desmistificar aqui, é, não preciso ter tudo em serverless não, né? Eu posso ter uma composição aqui, de serviços, para poder utilizar esse benefício que o Jean comentou, né Paulo? Eu posso trazer alguma coisa aqui pequena, sem dimensão ainda de crescimento, e que bombe. A startup bombe, a aplicação bombe, e aí sim, eu estar trazendo esse conjunto. Também faz sentido esse olhar mais crítico, e olhar que nem tudo é para serverless, mas, eu posso estar conectando outros produtos e serviços.

Paulo: Perfeito. Você tem as duas abordagens né? A abordagem que o Jean colocou, é uma empresa nova, que tem uma equipe extremamente enxuta, e que quer aproveitar o máximo desses recursos. E ela, ao invés de começar provisionando equipamentos, maquinas, serviços e tudo, ela vai utilizar aquilo que já está sendo ofertado por transação. E aí ela vai trabalhar dessa forma. Mas, imagine que você já tem isso. E aí, eu tenho maquinas ligadas, e tudo. Então, eu já tenho uma medição. Eu sei quantas requisições eu faço para aquele serviço, a frequência com que eu utilizo ele. E aí, eu posso tomar uma decisão, inclusive, se vale a pena eu pagar por hora, porque eu utilizo muito a cada hora. Ou, se vale mais a pena, eu parar de pagar por hora, e pagar por uma execução de uma transação, porque eu utilizo pouco aquele serviço. Então, eu posso fazer um misto. Para serviços que eu utilizo muito, usar o serverless eventualmente, pode se tornar caro. E aí usar uma estancia que tem capacidade de atender inúmeros, e eu não vou pagar por transação, pode se tornar mais barato. Então, a composição de serviços serverless, com serviço server full, como a gente pode dizer, faz todo o sentido. E você pode ir pelos dois caminhos. Você pode ir pelo caminho do zero, que eu não tenho nada, e vou ser 100% serverless. Depois vou dizer, isso não vale a pena ser serverless, eu tenho que ter uma estancia. Eu quero gerenciar esse serviço, porque pode ser mais barato. E o contrário também. Eu tenho tudo já gerenciado, provisionado, e isso aqui não faz sentido manter provisionado. Eu quero transformar em serverless. Então, você pode conectar peças, né, nesse motor, e parte dela serem estancias provisionadas, e outras, serem totalmente serverless.

Giam: Complementando, um assunto que a gente já falou em outros episódios, aquela parte de desacoplar às aplicações. Fazer micro serviços. Ou seja, aquele micro serviço que não interessante estar 100% rodando, que é usado raramente, 1 vez por dia, um trabalho [bet], de repente, vale a pena colocar ele no micro serviço, ao invés de estar disputando recursos ali com a aplicação que está o tempo todo sendo chamada.

Perrott: Então, o que eu consigo entender aqui, é que o serverless ajuda sim a compor diversos tipos de cenários, cenário que ainda não se sabe exatamente qual é o comportamento da aplicação, porque o negócio ainda está sendo construído. Um outro cenário, é se eu tenho um modelo, eu posso estar testando e fazendo justamente o conceito teste AB, né? Teste modelo, avalio, uso as métricas, mas, a arquitetura em Cloud, ela não é fixa em um só serviço. É um conjunto de serviços, que vai agregando. Cabe aqui, o próprio time conseguir ter essa visão um pouco mais analítica, e trazer, experimentar. A experimentação faz parte sim, mesmo nesse conceito de serverless?

Paulo: Sim, com certeza. Então, muitas vezes fazer um misto disso, e experimentar, apesar de você ter condições de presumir, né, uma vez que eu tenho a métrica pelo qual eu sou cobrado, eu posso fazer uma previsão de calculadora. Então, a Amazon tem a calculadora, eu posso ir lá e fazer uma calculadora, e comparar. Quanto custaria aquele serviço rodando em uma estancia por mês? E quanto custaria o número de transações que eu tenho. Uma vez que eu não tenho esse número, aí eu posso fazer uma experimentação. Já que eu não tenho o número, eu vou tentar aqui com o serverless, e agora outro mês, eu vou tentar usando uma outra abordagem. Poxa, isso aqui ficou mais barato para mim, porque agora com a métrica, eu consigo determinar que eu utilizo o suficiente para manter, e gerenciar uma estancia que roda aquele serviço. Ah não, eu utilizo tão pouco, que não vale a pena o trabalho de manter essa estancia gerenciada, e o custo de manter. Eu rodo um relatório mensal, que roda da madrugada, todo dia 30. Então, para que que eu vou manter uma estancia ligada o mês inteiro, para usar ela 1 vez, por 1 hora, né? Então, talvez vale a pena eu fazer isso de uma maneira utilizando funções lambda, e [step funtions], que podem chamar umas às outras, e compor uma aplicação que vai fazer esse relatório ser entregue de maneira serverless.

Perrott: Bacana. Queria agradecer a participação e insights aqui Paulo, em nosso episódio, e até o próximo.

Paulo: Valeu.

Perrott: Jean, obrigado pela participação.

Giam: Obrigado você.

Perrott: E você que está nos acompanhando, já agora está mais claro o que que de fato é o tal do serverless, consegue visualizar dentro da sua arquitetura, da sua aplicação, uma aplicação direto, e utilizando os benéficos desse conjunto de tecnologias, comenta aqui embaixo, interage aqui com a gente, e não esqueça de compartilhar, um like sempre vai bem. E até o próximo episódio.

Recomento a leitura do artigo: Análise de mídia sociais impulsionada por inteligência artificial

  • cover play_arrow

    Execute seus códigos serveless
    Vinícius Perrott

Tagueado como: .

Avaliar a postagem
Episódio anterior
Episódios relacionados
Comentários (0)

Deixe um comentário

Seu e-mail não será divulgado.