Pra que serve o tal do Serveless ?

Carlos Rodrigues

IT Solutions Architect

Who I'm?

Carlos Rodrigues

It Solutions Architect

carlosrodriguesjunior@gmail.com

Agenda

  • Introdução a Cloud

  • O que é Serverless ?

  • Formas de Cobrança

  • Calculadora AWS / Tags / Accounts

  • Service Limits

O que é Cloud Computing ?

A computação em nuvem é a entrega sob demanda de poder computacional, armazenamento de banco de dados, aplicativos e outros recursos de TI pela Internet com uma definição de preço conforme o uso.

Benefícios da Cloud

  • Agilidade
  • Implantação Global em minutos
  • Elasticidade
  • Economia de Custo

Responsabilidade Compartilhada

Regions / Availability Zones

Modelos de Cloud Computing

O que é Serverless ?

Sem servidor é a arquitetura nativa da nuvem que permite transferir mais das suas responsabilidades operacionais à CLOUD, aumentando a agilidade e a inovação. A arquitetura sem servidor permite criar e executar aplicativos e serviços sem preocupações com servidores. Ela elimina as tarefas de gerenciamento de infraestrutura, como provisionamento de servidores ou de clusters, patches, manutenção do sistema operacional e provisionamento de capacidade. Você pode criar servidores para praticamente qualquer tipo de aplicativo ou serviço de back-end, e a Cloud de tudo o que for necessário para executar e escalar aplicativos com alta disponibilidade.

Evolução da Infra

Vantagens do Serverless

  • Maior agilidade na implantação de novos Apps / API's
  • Menor custo total de Cloud.
  • Foco no desenvolvimento do produto / Apps / API's.
  • Alta disponibilidade automatizada.
  • Não precisa ser especialista em Cloud para implantar esse modelo.
  • Pagamento somente pelo o que você usa.

Desvantagens do Serverless

  • Algumas configurações são limitadas.
  • Os lambdas / containers ficam em IDLE, existe um delay para eles responderem a requisição.

Principais Serviços Serverless

Demo

DynamoDB - Products

Lambda - CreateProduct

const AWS = require('aws-sdk');
const dynamoDb = new AWS.DynamoDB.DocumentClient({
    api_version: '2012-08-10',
    region: 'sa-east-1'
});


exports.handler = async (event, context) => {
  console.log(event);
  let body = event;
  const params = {
    TableName: "products",
    Item: {
        id: `${Math.random()}`,
        name: body.name,
        value: body.value
    },
  };

  try {
    const data = await dynamoDb.put(params).promise();
    return { statusCode: 200, body: JSON.stringify({ params, data }) };
  } catch (error) {
    return {
      statusCode: 400,
      error: `Could not post: ${error.stack}`
    };
  }
};

ApiGateway - CreateProduct

Lambda - GetProduct

const AWS = require('aws-sdk');
const dynamoDb = new AWS.DynamoDB.DocumentClient({
    api_version: '2012-08-10',
    region: 'sa-east-1'
});


exports.handler = async (event, context) => {
  const params = {
    TableName: "products"
  };

  try {
    const data = await dynamoDb.scan(params).promise();
    return { statusCode: 200, body: JSON.stringify(data) };
  } catch (error) {
    return {
      statusCode: 400,
      error: `Could not fetch: ${error.stack}`
    };
  }
};

ApiGateway - GetProduct

Calculadora AWS

Service Limits

Referências

Obrigado

Carlos Rodrigues

carlos@cmvsolutions.com.br

Pra que serve o tal do serverless?

By Carlos de Souza Rodrigues Junior

Pra que serve o tal do serverless?

  • 295