Tag: arquitetura sem servidor

  • AWS, Google Cloud e Microsoft Azure: qual a melhor arquitetura Serverless?

    Seguindo a série de posts que estamos publicando em nosso blog sobre arquitetura Serverless (sem servidor), resolvemos trazer um comparativo dos principais fornecedores desse tipo de tecnologia: Amazon Web Services (AWS), Google Cloud e Azure, da Microsoft.

    A ideia é mostrar porque, apesar de prometerem praticamente as mesmas coisas, algumas se destacam no mercado. 

    Confira em detalhes, a seguir!

    Principais diferenças entre a arquitetura Serverless de AWS, Google Cloud e Microsoft Azure

    Idioma suportado 

    O AWS Lambda é melhor do que outros, pois a linguagem de programação é bastante diversificada e o Lambda fornece mais versões e mais tipos de linguagens compatíveis do que outros provedores de arquitetura sem servidor.

    Suporte a funções com estado 

    O AWS Lambda não oferece esse suporte, mas pode acessar os serviços de armazenamento da AWS onde o Azure fornece esse recurso, e o Google Cloud não possui esse elemento até o momento.

    Identity and Access Management (IAM) granular

    As políticas do Identity and Access Management (IAM) podem ser anexadas ao Lambda. Enquanto o RBAC tem suporte na Assinatura e as Funções estão dentro do Azure. O Google Cloud não divulgou publicamente nada relacionado a isso.

    Armazenamento persistente 

    A AWS usa S3 e DynamoDB para armazenamento persistente sem estado completo, enquanto no ambiente do Azure as variáveis ​​podem ser definidas para que possam ser usadas em funções.

    O Azure armazena no armazenamento de blobs. 

    Já o Google Cloud fornece Cloud Storage, Cloud Datastore, Cloud SQL para o mesmo.

    Desdobramento, desenvolvimento

    Na AWS, a implantação é feita no formato zip. 

    O zip é carregado no Lambda/S3. Enquanto no Azure Git, dropbox, visual studio, console Kudu etc. podem ser usados ​​para implantação. 

    Na CLI do Google Cloud, o upload Zip, o Cloud Storage ou o Source e o editor da Web embutido são usados ​​para essa finalidade.

    Número máximo de funções

    No AWS Serverless e no Azure Serverless, não há limite para um número máximo de funções, enquanto no Google Cloud o limite é de até 1000 por projeto.

    Vista a superioridade da AWS, confira os aplicativos que ela oferece  

    Os destaques abaixo são os principais aplicativos da computação AWS Serverless:

    Aplicativo da Web e back-end

    Aplicativos da web sem servidor e back-end podem ser criados usando AWS Lambda, Amazon API Gateway, Amazon S3 e Amazon DynamoDB e ajudariam a lidar com solicitações da web, dispositivos móveis, IoT e chatbots.

    Exemplo: Backend móvel para aplicativo de mídia social.

    Processamento de dados

    Muitas variantes diferentes de sistemas de processamento de dados em tempo real podem ser criadas na AWS Serverless Computing. Pode-se usar o seguinte para processamento de dados. 

    • AWS Lambda;
    • Amazon Kinesis;
    • Amazon S3;
    • Amazon DynamoDB

    Exemplos: 

    1. Criação de miniaturas de imagens;
    2. Análise de dados de streaming de mídia social;
    • Descubra como criar aplicativos sem servidor na AWS;
    • Explore os serviços de desenvolvimento de aplicativos sem servidor.

    → Leia também: AWS Serverless: os benefícios da arquitetura sem servidor.

    Que tal, conseguimos te mostrar as diferenças entre as arquiteturas Serverless da AWS, Google Cloud e Azure? Para seguir aprendendo sobre o tema, baixe agora o eBook Computação sem Servidor!

    eBook Computação sem Servidor
    Clique para fazer download.
  • Serverless Computing: o que é a computação sem servidor

    Serverless Computing, ou computação sem servidor, é um método de fornecimento de serviços de back-end baseado em como eles são utilizados. Nele, uma empresa que contrata um fornecedor sem servidor é cobrada com base no uso, não por uma quantidade fixa de largura de banda ou pelo número de servidores.

    Na prática, estamos falando de uma tendência cada vez mais adotada pelas organizações — crescimento de 30% ao ano, segundo estudo da Witekio. E, portanto, é bastante aconselhável saber mais sobre essa abordagem.

    Continue lendo para entender!

    O que é Serverless Computing?

    Serverless Computing surgiu como um novo paradigma para a implantação de aplicativos e serviços. Representa uma evolução dos modelos de programação em nuvem, abstrações e plataformas.

    Uma empresa que usa serviços de back-end de um fornecedor sem servidor é cobrada com base na computação utilizada e não precisa reservar e pagar por uma quantidade fixa de largura de banda ou número de servidores. Isso porque o serviço pode ser dimensionado automaticamente quando necessário. 

    Vale notar que, embora os serviços sejam chamados de “sem servidor”, os servidores físicos ainda são utilizados, mas os usuários não precisam estar cientes deles.

    Nos primeiros dias da internet, qualquer pessoa que desejasse criar uma aplicação web precisava possuir o hardware físico para rodar um servidor, uma tarefa complicada e cara.

    Mais tarde apareceu a computação em nuvem (Cloud Computing), em que um número fixo de servidores ou quantidades de espaço podiam ser alugados remotamente. 

    Os desenvolvedores e as empresas que alugavam essas unidades fixas de espaço no servidor geralmente compravam espaço extra. Elas queriam garantir que um pico de tráfego ou de atividade não excedesse limites mensais e interrompesse aplicativos. Isso significa que boa parte do espaço de servidor pago pode ser desperdiçado. 

    Para resolver o problema, os fornecedores de nuvem introduziram modelos com dimensionamento automático. No entanto, mesmo esse tipo de modelo poderia acabar saindo muito caro se ocorresse um pico de atividade indesejado, como um ataque DDoS.

    A computação sem servidor permite a compra de serviços de back-end com base em um esquema flexível “pague pelo que usar”. É como migrar de um plano de dados de celular com limite fixo mensal para um que cobra apenas por cada byte de dados que é realmente usado.

    Também é bom saber que o termo “sem servidor” não deve ser interpretado ipsis litteris, já que os servidores que fornecem esses serviços de back-end continuam existindo. O X da questão é que quem lida com todas as questões de espaço e infraestrutura é o fornecedor.

    Quais são as vantagens do modelo Serverless Computing?

    • Custos mais baixos — a computação sem servidor geralmente é muito econômica, já que o modelo de serviços de back-end na nuvem dos provedores tradicionais (alocação de servidores) geralmente significa que o usuário acaba pagando pelo espaço não utilizado ou pelo tempo ocioso da CPU.
    • Escalabilidade simplificada — os desenvolvedores que usam arquitetura sem servidor não precisam se preocupar com as políticas de aumento da capacidade de seu código. O fornecedor sem servidor se encarrega de aumentar os serviços de acordo com a demanda.
    • Código de back-end simplificado — os desenvolvedores podem criar funções simples que rodam independentemente para executar uma única finalidade, como fazer uma chamada de API.
    • Retorno mais rápido — a arquitetura sem servidor pode reduzir significativamente o tempo de lançamento no mercado. Ao invés de demandar um processo complicado de implantação para implementar correções de bugs e novas funcionalidades, os desenvolvedores podem adicionar e modificar o código gradualmente.

    Resumindo

    Serverless Computing, a computação sem servidor, oferece uma série de vantagens sobre a infraestrutura tradicional baseada em nuvem ou centrada em servidores. 

    Para muitos desenvolvedores, as arquiteturas sem servidor oferecem maior escalabilidade, maior flexibilidade e tempo de lançamento mais rápido, tudo isso a um custo reduzido. 

    Com as arquiteturas sem servidor, os desenvolvedores não precisam se preocupar em comprar, provisionar e gerenciar servidores de back-end. Entretanto, a computação sem servidor não é uma solução mágica para todos os desenvolvedores de aplicativos web.

    Que tal, você já conhecia o conceito de Serverless Computing? Para se aprofundar ainda mais no tema, baixe agora mesmo o eBook que acabamos de lançar!

    Clique para fazer download.
  • Serverless, o futuro sem servidor — ou o presente?

    Há algum tempo espera-se que o Serverless seja tendência e se torne mais importante para empresas dos mais variados portes e segmentos. 

    O termo descreve uma arquitetura de software emergente onde os aplicativos são hospedados na nuvem pública, a fim de tornar mais fácil para os desenvolvedores compôr o código destinado a ser executado.

    No futuro, Serverless pode se tornar tão central que as empresas não precisarão mais se preocupar com a infraestrutura, pois todo o ciclo de vida dependerá dos provedores de serviços em nuvem.

    Sobre isso queremos te ajudar a refletir.

    Confira, a seguir, o que os especialistas dizem sobre arquitetura sem servidor e como ela seguirá evoluindo cada vez mais!

    Serverless: afinal, o que é isso?

    Em primeiro lugar, é essencial definirmos o que uma arquitetura Serverless significa e implica.

    Em linhas gerais, podemos definir Serverless como a manutenção de qualquer aplicativo em uma plataforma autosuficiente com dependências embutidas. Neste modelo, os clientes não precisam se preocupar com os recursos da máquina.

    Além disso, é um padrão de desenvolvimento de software sem interação direta com o servidor. 

    No entanto, sem servidor não significa que os aplicativos sejam executados exatamente sem um servidor. 

    Pelo contrário, o servidor em nuvem de terceiros é usado para hospedar as aplicações. Portanto, não há necessidade de gerenciar hardware e software de servidor para hospedar o aplicativo. 

    Basicamente, o provedor de hospedagem é responsável pela infraestrutura e tarefas operacionais. Isso significa que os desenvolvedores de aplicativos sem servidor não estão preocupados com planejamento de capacidade, configuração, manutenção, dimensionamento do contêiner, máquina virtual e servidor físico.

    Por que o modelo Serverless está em ascensão

    Serverless é um modelo em que você não precisa gerenciar nenhuma infraestrutura, mas seu host fará tudo isso por você.

    Além disso, você obtém o poder de executar e executar qualquer coisa que precisar e sempre que precisar, em um nível ad hoc. Ou seja, você atribui a tarefa de execução e o provedor faz o restante da alocação de recursos, construção, execução, retorno de um status e, finalmente, desalocação do recurso.

    Também é interessante destacar a importância da computação sem servidor. 

    De fato, se você tiver apenas um software que deseja executar na nuvem como reação a algum evento externo e não quiser se preocupar com o provisionamento e a manutenção de servidores ou contêineres, poderá aproveitá-lo. 

    Na prática, você terá que aderir a uma maneira específica de escrever e implantar seu código, mas o provedor de serviços de nuvem fornecerá a infraestrutura para executá-lo sem sua intervenção e liberá-lo após a conclusão do código.

    Dois tipos de serviços atendidos pela arquitetura Serverless

    Veja esses dois tipos de serviços que a arquitetura serverless atende:

    • Função como Serviço: este modelo simplesmente implanta seu código e o servidor o executa automaticamente. 

    Nesse caso, os desenvolvedores não se preocupam com o ambiente de hospedagem. 

    → O AWS Lambda é um serviço popular neste sentido. 

    • Back-end como Serviço: este modelo ajuda a automatizar o desenvolvimento de back-end e gerenciar a infraestrutura de nuvem. Aqui o Frontend interage com o backend via API. 

    Os recursos de Back-end como Serviço são: notificação, gerenciamento de usuários, autenticação, banco de dados escalável e API.

    → Um exemplo famoso é o AWS Amplify

    Resumindo

    Por que usar uma arquitetura serverless?

    Após os desafios enfrentados pelas empresas durante o período mais crítico da pandemia, é interessante se perguntar o que a arquitetura Serverless pode trazer para um negócio e por que usá-la.

    Na arquitetura serverless, você simplesmente precisa implantar os aplicativos em uma plataforma e a plataforma cuidará de todas as dependências. Portanto, é fácil de manusear, dimensionar e reverter qualquer aplicativo.

    Ao usar uma arquitetura sem servidor, as empresas têm a possibilidade de manter a eficácia de seus aplicativos em alta, ao mesmo tempo em que escalam rapidamente seus serviços e aumentam seus clientes e produtividade.

    Além disso, o Serverless pode ser usado em muitos hosts, como o AWS Lambda. Então, a arquitetura sem servidor é muito útil, pois as organizações não precisam de nenhuma sobrecarga de arquitetura, enquanto ainda executam o código necessário.

    E mais: é econômico; a maioria dos hosts cobrará apenas pelo tempo de execução. Assim, em vez de pagar por servidores que estão lá cobrando dinheiro, você pode reduzir o custo de seu aplicativo apenas quando ele precisa ser executado. Por exemplo, se você tem um site de pequenas e médias empresas que não tem um tráfego insano, pode executá-lo por algumas centenas de reais por mês.

    O que você achou da reflexão que trouxemos neste artigo? Conseguimos te mostrar por que Serverless é o futuro? Se precisar de ajuda, faça contato conosco!

    Você também vai gostar do eBook que preparamos sobre computação sem servidor. Baixe agora mesmo!

    eBook Computação sem Servidor
    Clique para fazer download.
  • AWS Serverless: os benefícios da arquitetura sem servidor

    AWS Serverless, a arquitetura sem servidor da AWS é uma maneira de criar e executar serviços e aplicativos sem precisar gerenciar a infraestrutura. 

    O aplicativo de usuários ainda é executado em servidores, mas os servidores são gerenciados pela AWS. Portanto, é um método que fornece suporte para serviços de back-end. 

    Além disso, os usuários pagam com base em seus cálculos, e nada mais é cobrado apenas pelos serviços utilizados. Embora sejam chamados de serverless, os servidores físicos ainda são usados, mas os desenvolvedores não precisam ter conhecimento disso. 

    Continue lendo para entender!

    Por que usar a arquitetura sem servidor da AWS 

    A arquitetura sem servidor da AWS oferece várias vantagens sobre a infraestrutura tradicional centrada em servidor ou baseada em nuvem. 

    Por exemplo, dá aos desenvolvedores maior escalabilidade, rapidez no lançamento, mais flexibilidade e tudo isso a um custo reduzido, pois o usuário paga apenas pelos serviços utilizados. 

    Logo, um desenvolvedor pode se concentrar em seu produto principal em vez de fazer malabarismos entre gerenciar e operar servidores ou tempos de execução e desenvolver o aplicativo. Ajuda a diminuir a latência.

    Mas tem mais!

    O usuário pode criar facilmente um aplicativo sem servidor com um pipeline de implantação automatizado no console do AWS Lambda

    Os serviços da AWS integrados ao AWS SAM são usados ​​para automatizar implantações. O AWS SAM ajuda a implantar novas versões da função Lambda e cria automaticamente aliases que apontam para a versão mais recente. 

    Se as distribuições graduais forem habilitadas por meio do AWS SAM, um recurso do CodeDeploy será criado automaticamente para o usuário. 

    Os principais serviços da arquitetura sem servidor da AWS 

    Existem vários serviços para computação sem servidor da AWS, alguns deles estão listados abaixo!

    Serviços de computação sem servidor 

    AWS Serverless fornece o AWS Lambda que permite que o usuário execute código sem gerenciar servidores, e o usuário paga apenas pelos cálculos usados. 

    O Lambda Edge permite que o usuário execute funções do Lambda nos pontos de presença da AWS em resposta a eventos do Amazon CloudFront AWS Fargate é um mecanismo de computação sem servidor criado para contêineres. 

    Ele ajuda a dimensionar e gerenciar a infraestrutura necessária para executar a caixa do usuário.

    Serviços de armazenamento sem servidor

    O Amazon S3 oferece a uma equipe de desenvolvimento um armazenamento de objetos durável, seguro e altamente escalável. É fácil de usar e portátil.

    O Amazon EFS oferece armazenamento de arquivos puro, escalável e elástico. É auto-ajustável e cresce e diminui conforme a demanda do usuário.

    Serviços de armazenamento de dados  sem servidor

    A AWS fornece o Amazon DynamoDB, que é um serviço de banco de dados No-SQL rápido e flexível para todos os aplicativos; ele precisa de latência de milissegundos em qualquer escala.

    Já o Amazon Aurora Serverless é uma configuração de dimensionamento automático sob demanda (sistema compatível com MySQL). Neste banco de dados irá iniciar e desligar automaticamente. O sistema será dimensionado de acordo com as necessidades da aplicação do usuário.

    Serviços de proxy de API 

    Amazon API Gateway é um serviço totalmente gerenciado que facilita a tarefa dos desenvolvedores de criar, manter, publicar, monitorar e proteger APIs em qualquer escala. 

    Os gateways permitem processar milhares de chamadas de API simultâneas e ajudam o usuário a lidar com gerenciamento de tráfego, autorização e controle de acesso, monitoramento e gerenciamento de versão de API.

    Serviços de Integração de Aplicativos 

    • Amazon SNS — serviço de mensagens pub/sub totalmente gerenciado que ajuda a desacoplar e dimensionar microsserviços, sistemas distribuídos e aplicativos sem servidor.
    • Amazon SQS — serviço de mensagens totalmente gerenciado que ajuda a desacoplar e dimensionar microsserviços, sistemas distribuídos e aplicativos sem servidor.
    • AWS AppSync — ajuda a simplificar o desenvolvimento de aplicativos, permitindo que você crie uma API GraphQL flexível, ajuda a proteger o acesso, a manipulação e combina dados de uma ou mais fontes de dados.
    • Amazon EventBridge — serviço de barramento de eventos para computação sem servidor que ajuda a facilitar o acesso a dados de aplicativos de várias fontes e enviá-los para o ambiente AWS do usuário.

    Serviços de Orquestração 

    • AWS Step Functions — ajuda a facilitar a coordenação dos componentes de aplicativos e microsserviços distribuídos; ele usa fluxos de trabalho visuais para o mesmo.

    Serviços de análise 

    • Amazon Kinesis — usado para transmitir dados na AWS. O Kinesis oferece ótimos serviços para ajudar a carregar e analisar os dados de streaming.
    • Amazon Athena —serviço interativo que facilita a análise dos dados no Amazon S3 usando SQL padrão. Athena não tem servidor.

    Serviços de ferramentas para desenvolvedores 

    A AWS fornece ferramentas e serviços que ajudam os desenvolvedores no processo de desenvolvimento de aplicativos sem servidor. 

    Tais como ferramentas para integração contínua, entrega, teste, implantação, monitoramento e diagnóstico, SDKs, estruturas e plugins de ambiente de desenvolvimento integrado.

    Benefícios de usar a arquitetura AWS Serverless

    A arquitetura sem servidor da AWS é uma benção, pois ajuda o desenvolvedor a concentrar todo o seu poder no desenvolvimento, em vez de se preocupar com a implantação e o gerenciamento de servidores. 

    Ela pode ser usada para executar ou construir qualquer aplicativo moderno e aumenta a agilidade, ao mesmo tempo em que ajuda a reduzir o custo do seu produto.

    Confira, a seguir, uma síntese dos principais benefícios:

    • Os servidores não precisam de atenção para instalação e manutenção.
    • O pagamento é de acordo com a taxa de transferência, tornando-o valor para o dinheiro.
    • Você pode escolher as configurações apropriadas de acordo com a necessidade do seu produto, pagando apenas pelas funções que usar.
    • Ajuda o desenvolvedor a se concentrar apenas no código, dando-lhe tempo suficiente para inovar o programa ou interagir com os clientes para obter feedbacks dos clientes, aumentando assim o tempo de lançamento no mercado.
    • Você pode escrever código e, quando terminar tudo, pode implantar o sistema imediatamente, e ele estará disponível para o mundo em poucos minutos. Assim, não há necessidade de fazer nenhum esforço para criar e gerenciar servidores.

    Que tal, nós conseguimos te mostrar quais são os benefícios da arquitetura AWS Serverless? Se precisar de ajuda para implementá-la na sua empresa, faça contato conosco! Para se aprofundar ainda mais no tema, baixe agora o eBook Computação sem Servidor!

    eBook Computação sem Servidor
    Clique para fazer download