Skip links

Conheça a AWS Lambda, a nova era do SOA

Com a evolução das tecnologias e novas abordagens de desenvolvimento e entrega de tarefas, a Amazon vem buscando agregar mais opções à sua plataforma de serviços, AWS (Amazon Web Services). Uma dessas novidades é a AWS Lambda.

Esse produto da Amazon possui uma nova visão sobre arquitetura orientada a serviço. No mercado competitivo de hoje, novos conceitos e visões sobre como utilizar a tecnologia podem dar um impulso importante à sua empresa.

No post de hoje, vamos contar tudo sobre esse recurso da Amazon, mas antes temos de falar sobre arquitetura orientada a serviço. Siga conosco e permaneça atento.

O que é SOA?

SOA, do inglês Service Oriented Architecture, é um conceito de arquitetura orientada a serviços pelo qual os serviços são desenvolvidos de forma a serem acoplados e desacoplados facilmente. Caso alguma mudança seja necessária, apenas um serviço é modificado, tendo impacto zero nos outros.

Esse conceito trabalha tentando unificar todos os sistemas da empresa para que possuam interoperabilidade, alinhando todas as tarefas com as metas e objetivos do negócio.

Podemos também conceituar como um conjunto de componentes de software, com o mínimo de dependências entre si, trabalhando e interagindo juntos com a utilização de uma interface definida para uma função específica.

O que é AWS Lambda?

Esse serviço revolucionário da Amazon permite que você execute código sem contar com o gerenciamento de servidores ou provisionamento de armazenamento. O AWS Lambda executará o seu código apenas quando necessário, com escalonamento automático.

Você só paga pelo tempo de computação utilizado, diferentemente de outros serviços, em que mesmo que o servidor esteja ocioso deverá ser paga a taxa de utilização. Você poderá executar código para praticamente qualquer tipo de aplicativo ou serviço de back-end.

O AWS Lambda executa o seu código em um ambiente de computação de alta disponibilidade e escalabilidade, além de administrar os recursos de infraestrutura e manutenção de servidores. Com esse serviço, você não vai se preocupar com nada além de seu código.

O Lambda suporta atualmente códigos escritos em Node.js, Java, C# e Python.

Qual a diferença em relação ao SOA?

O AWS Lambda pode ser utilizado como complemento ou evolução da arquitetura orientada a serviços. Ao contratar esse produto da Amazon, você poderá utilizar os seus componentes de software orientados a eventos.

Ou seja, eles serão executados pelo AWS Lambda conforme os eventos ocorrerem, diminuindo a necessidade de serviços de computação e infraestrutura.

Como funciona o AWS Lambda?

O código que você insere no AWS Lambda é chamado de “função de lambda”. Depois de criada a função, ela estará sempre pronta para execução, aguardando apenas ser “invocada” por algum evento.

Cada função incluirá algumas informações adjacentes, como o nome da função e seus requisitos. Todas as funções criadas podem ser associadas a outros recursos do AWS, por exemplo: uma tabela do Amazon DynamoDB, um bucket do Amazon S3 específico, uma notificação do Amazon SNS ou um stream do Amazon Kinesis.

Quais são as principais vantagens do Lambda?

O AWS Lambda possui inúmeros recursos que poderão trazer vantagens sobre outros produtos da própria Amazon. Vamos listar oito benefícios com os quais você poderá contar nesse serviço.

1. Estende outros serviços AWS

Ele permite que você adicione lógica personalizada a outros produtos da Amazon. Após criar a sua função, basta indicar quais recursos ela utilizará para ser acionada. 

Caso os requisitos mudem por algum motivo, o Lambda realizará a execução de sua função administrando os recursos de computação de acordo com as entradas.

2. Cria serviços de back-end personalizados

Uma atividade interessante para empregar o Lambda é na criação de serviços de back-end para as suas aplicações, sendo acionados sob demanda da API do Lambda ou chamadas por meio da Amazon API Gateway.

Ao processar dados utilizando o Lambda, você diminui a chance de possíveis incompatibilidades no lado do cliente.

3. Automatiza a administração

O AWS Lambda é responsável por administrar e gerenciar toda a infraestrutura que as suas funções utilizam. Dessa maneira, você não vai precisar se preocupar com a gestão de servidores nem com o poder de processamento.

Você não terá mais problemas de compatibilidade, segurança ou atualizações, já que o Lambda será responsável por todo o ambiente, podendo se dedicar somente a manter os seus códigos funcionando o melhor possível.

4. Tolera falhas

O serviço da Amazon também conta com tolerância a falhas integradas. Todo o ambiente do AWS fornece uma infraestrutura previsível e confiável.

O AWS Lambda separa o espaço de computação em várias regiões diferentes para proteger o seu código de qualquer eventualidade que possa vir a interrompê-lo.

5. Escala infraestrutura automaticamente

Outra grande vantagem apresentada pelo Lambda é a sua capacidade de escalar os recursos de computação de acordo com a demanda do momento.

Diferentemente de outros serviços da Amazon, esse recurso não precisa ser configurado, ele é implícito no Lambda. As suas funções só serão rodadas quando chamadas e serão escaláveis automaticamente.

6. Provê segurança

As suas funções poderão acessar com segurança outros serviços do AWS por meio do AWS SDK e com controle de acessos configurados.

O Lambda também permite a utilização de listas de controle de acesso de rede personalizados e security group, que garantem a aplicação segura de outros recursos da Amazon.

7. Cobra apenas pelo tempo utilizado

Ao operar o AWS Lambda, você terá de pagar apenas pelo tempo de computação que realmente foi utilizado, tornando esse modelo de serviço mais vantajoso economicamente que outros serviços ofertados pela Amazon.

Se você possui rotinas de negócio que permanecem ociosas por boa parte do tempo, não há necessidade de pagar por uma infraestrutura durante o período em que elas não estão sendo rodadas.

8. Utiliza o seu código

Outra vantagem é que você pode utilizar o seu código já pronto para inseri-lo na plataforma do Lambda sem precisar aprender uma nova linguagem de programação única do serviço. Atualmente são suportados códigos em Node.js, Java, C# e Python. É esperado que novas linguagens sejam aceitas com a evolução da plataforma.

Como você pode observar, o AWS Lambda é um ótimo recurso da Amazon que auxiliará o seu negócio a lidar com a complexidade do SOA, simplificando o gerenciamento da infraestrutura de TI necessária para a sua empresa operar.

Siga-nos no Facebook, LinkedIn, Twitter e Google+ para continuar por dentro de informações relevantes para a sua gestão!

Leave a comment