SlideShare uma empresa Scribd logo
@fidelissauro
Matheus Fidelis (Raj)
Arquiteto Cloud / DevOps
Superlógica / PJBank
Road to serverless
Road to serverless
ESQUEÇA TUDO
NoOps
Sem Servers
DevOps
Sem Preocupação
com Servers
Funções tem entrega e escala de forma unitária;
Máquinas, VM's ou containers não são VISÍVEIS ao usuário;
Storage Persistente é mantido transparentemente;
Scaling por request; Nunca acima ou abaixo da necessidade;
Never pay for idle; Sem custos por recursos sem utilização;
Tolerante a falhas;
Bring Your Own Code;
Métricas e logging são direitos universais;
MANIFESTO
PROVER RECURSOS DE INFRA
SEM AS EVENTUAIS
PREOCUPAÇÕES DE INFRA
CAMADA DE APLICAÇÃO
ONDE ISSO
MORA?
STORAGE
DATABASES
STREAMING
CONTAINERS
FAAS
API’s
IOT /
Road to serverless
Road to serverless
On Quase
Premise
Escala de...
ACESSOS
CLIENTES
DEMANDA
EQUIPE
INFRA
CLOUD REVOLUTION
X-aaS
IaaS
PaaS
BaaS
DaaS
MaaS
SaaS
FaaS
IaaS
Capacidade Computacional;
VM Servers, Network, Routers e
etc;
Focado em Infraestrutura e SO;
Requer mais provisionamento e
configuração;
Ideal para equipes grandes ou
aplicações mais complexas;
PaaS
Nível básico de abstração de
infra;
Focado em plataformas e
aplicação;
Ideal para equipes de
desenvolvedores;
Provisionamento e Escala
Facilitado;
BaaS
Alto nível de abstração;
Objetivos Específicos;
Corte de demanda;
Gerenciamento por terceiros;
FaaS
(Function as a Service)
Funções Independentes
Responsabilidades Independentes
Escala Independente
OBJETIVOS ESPECÍFICOS
MICROSERVIÇOS
Road to serverless
Cloud Native
(Código escrito para nuvem)
Negócio
Abstração de administração
Auto-scaling
Pay-per-use*
Time to market
Baixo Overhead
Curva de aprendizado
BENEFÍCIOS
Road to serverless
Road to serverless
Road to serverless
Road to serverless
Road to serverless
FaaS
Baseado em eventos
Alta disponibilidade
Alta escalabilidade
RUNTIMES
Event-Driven Applications
Triggers
ARQUITETURA
Event Sources
EPHEMERAL CONTAINERS
EPHEMERAL
Criados para morrer
Não garante um longo TTL
Online somente quando requisitado
Warm Ups
WARM UPS
COLD WARM UP
COLD WARM UP
Uma nova execução é requisitada
O código é copiado para o container
A função é inicializada
A função é executada
O container é congelado para execução
HOT WARM UP
HOT WARM UP
Uma nova execução é requisitada
Um container é descongelado (warm)
A função é executada
O container é congelado novamente
Road to serverless
COMO ORQUESTRAR
TUDO ISSO?
Road to serverless
FRAMEWORK
CLI
Open Source
Otimização de Deploy
Gerenciamento FaaS
Arquivo YAML de configuração
https://serverless.com
npm install -g serverless
$ serverless
create
deploy
invoke
logs
remove
serverless create 
--template aws-nodejs 
--path ./demo
handler.js
handler.js
nome do app
providers, runtimes e configurações globais
Declaração de uma função
serverless.yml
nome do app
providers, runtimes e configurações globais
Declaração de uma função
serverless.yml
Configuração de um evento HTTP
serverless.yml
Configurações específicas
serverless deploy -v
Road to serverless
Road to serverless
Road to serverless
PROVIDERS
POR ONDE EU COMEÇO?
COMEÇANDO DO ZERO
Pequenos serviços satélites
Projetos novos em geral
Processos mais braçais
Crons e outros processos agendados
Gerenciamento de logs e alertas
MIGRANDO O PRODUTO
Migração parcial
Otimizações de Pain Points
Endpoints de gargalo
API Gateway
MIGRANDO O PRODUTO
MIGRANDO O PRODUTO
MIGRANDO O PRODUTO
MIGRANDO O PRODUTO
MIGRANDO O PRODUTO
DevOps
DEVOPS + FaaS
Pipelines
Unit Tests
Multi-environment
CI/CD de FaaS
Dev Onboarding
Desenvolvimento + Mocks
localstack - AWS Resources (Docker)
serverless-offline (npm)
serverless-dynamodb-local (npm)
Unit Tests
Mocha
Chai
Lab
Unit Tests
Módulo da função lambda
Unit Tests
Módulo da função lambda
Mock de um evento HTTP
Unit Tests
Módulo da função lambda
Mock de um evento HTTP
Captura do callback do Lambda
Autenticação
Amazon Cognito
JWT
Telemetria
New Relic
Cloudwatch
X-Ray
Serverless Dashboard
Dashbird
SERVERLESS PIPELINE
https://github.com/msfidelis/serverless-pipeline
Aplicações
Casos de Uso
Webhooks
API Gateway
Lambda Save webhooks-db
webhooks-queue
Webhooks Consumer
Async
Webhooks Execution
Async
execution feedback
SERVERLESS WEBHOOKS
https://github.com/superlogica/serverless-webhooks
API Logs / IDS / Comportamento
App Servers
RedisMQ - IDS
RedisMQ - API Logs
IDS Consumer
Logs Consumer
Lazy Data Streaming
API Gateway Lambda Post SQS
Messages
Consumer
App Servers
API’s de Bigdata
Cron Jobs
ETC...
S3 Batch Processing
HTTP Requests
AWS API Actions
Database Process
rate(2 hours)
cron(00 23 * * ? * )
cron(00 05 1 * * ? *)
cron(00 05 1 * ? * )
cron(* * * * * * )
Cron Jobs
SERVERLESS FRAMEWORK
https://github.com/serverless/serverless
SERVERLESS DOCS
https://serverless.com/framework/docs/
SERVERLESS EXAMPLES
https://github.com/serverless/examples
SERVERLESS ARCHITECTURE BOILERPLATE
https://github.com/msfidelis/serverless-architecture-boilerplate
Configurações de Ambiente
API Endpoints
Workers
Shared Libs
Tests
Docker
Travis
CI / CD
SERVERLESS EXPRESS
https://github.com/dougmoscrop/serverless-http
OBRIGADO!
PERGUNTAS?
Matheus Fidelis (Raj)
Twitter: @fidelissauro
Github: msfidelis
Web: raj.ninja

Mais conteúdo relacionado

Mais procurados

JBoss Application Server 7
JBoss Application Server 7JBoss Application Server 7
JBoss Application Server 7
Ray Ploski
 
Unidade2 projeto lógico da rede
Unidade2   projeto lógico da redeUnidade2   projeto lógico da rede
Unidade2 projeto lógico da rede
Leandro Almeida
 
SSIS Connection managers and data sources
SSIS Connection managers and data sourcesSSIS Connection managers and data sources
SSIS Connection managers and data sources
Slava Kokaev
 
Introduction au Framework Laravel
Introduction au Framework LaravelIntroduction au Framework Laravel
Introduction au Framework Laravel
Houcem Hedhly
 
[오픈소스컨설팅]클라우드기반U2L마이그레이션 전략 및 고려사항
[오픈소스컨설팅]클라우드기반U2L마이그레이션 전략 및 고려사항[오픈소스컨설팅]클라우드기반U2L마이그레이션 전략 및 고려사항
[오픈소스컨설팅]클라우드기반U2L마이그레이션 전략 및 고려사항
Ji-Woong Choi
 
Segurança de redes - Conceitos de firewall
Segurança de redes - Conceitos de firewall Segurança de redes - Conceitos de firewall
Segurança de redes - Conceitos de firewall
Cleber Ramos
 
Chp3 - Les Services Web
Chp3 - Les Services WebChp3 - Les Services Web
Chp3 - Les Services Web
Lilia Sfaxi
 
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
Terry Cho
 
XML Schema (2002)
XML Schema (2002)XML Schema (2002)
XML Schema (2002)
Helder da Rocha
 
Trabalho de Sistemas Distribuídos
Trabalho de Sistemas DistribuídosTrabalho de Sistemas Distribuídos
Trabalho de Sistemas Distribuídos
Juliana Cindra
 
Monitoramento rede
Monitoramento redeMonitoramento rede
Monitoramento rede
André Déo
 
introduction au SQL et MySQL
introduction au SQL et MySQLintroduction au SQL et MySQL
introduction au SQL et MySQL
Abdoulaye Dieng
 
Segurança de Dados e Informações - Aula 5 - Firewall | Iptables
Segurança de Dados e Informações - Aula 5 - Firewall | IptablesSegurança de Dados e Informações - Aula 5 - Firewall | Iptables
Segurança de Dados e Informações - Aula 5 - Firewall | Iptables
Ministério Público da Paraíba
 
Sistemas Distribuídos - Comunicação Distribuída – Web Services
Sistemas Distribuídos - Comunicação Distribuída – Web ServicesSistemas Distribuídos - Comunicação Distribuída – Web Services
Sistemas Distribuídos - Comunicação Distribuída – Web Services
Adriano Teixeira de Souza
 
HTAP Queries
HTAP QueriesHTAP Queries
HTAP Queries
Atif Shaikh
 
.php1 : les fondamentaux du PHP
.php1 : les fondamentaux du PHP.php1 : les fondamentaux du PHP
.php1 : les fondamentaux du PHP
Abdoulaye Dieng
 
Alphorm.com Formation MySQL Administration(1Z0-883)
Alphorm.com   Formation MySQL Administration(1Z0-883)Alphorm.com   Formation MySQL Administration(1Z0-883)
Alphorm.com Formation MySQL Administration(1Z0-883)
Alphorm
 
API Design - When to buck the trend (Webcast)
API Design - When to buck the trend (Webcast)API Design - When to buck the trend (Webcast)
API Design - When to buck the trend (Webcast)
Apigee | Google Cloud
 
Les bases de l'HTML / CSS
Les bases de l'HTML / CSSLes bases de l'HTML / CSS
Les bases de l'HTML / CSS
Samuel Robert
 
.block() 은 신중하게
.block() 은 신중하게.block() 은 신중하게
.block() 은 신중하게
NAVER SHOPPING
 

Mais procurados (20)

JBoss Application Server 7
JBoss Application Server 7JBoss Application Server 7
JBoss Application Server 7
 
Unidade2 projeto lógico da rede
Unidade2   projeto lógico da redeUnidade2   projeto lógico da rede
Unidade2 projeto lógico da rede
 
SSIS Connection managers and data sources
SSIS Connection managers and data sourcesSSIS Connection managers and data sources
SSIS Connection managers and data sources
 
Introduction au Framework Laravel
Introduction au Framework LaravelIntroduction au Framework Laravel
Introduction au Framework Laravel
 
[오픈소스컨설팅]클라우드기반U2L마이그레이션 전략 및 고려사항
[오픈소스컨설팅]클라우드기반U2L마이그레이션 전략 및 고려사항[오픈소스컨설팅]클라우드기반U2L마이그레이션 전략 및 고려사항
[오픈소스컨설팅]클라우드기반U2L마이그레이션 전략 및 고려사항
 
Segurança de redes - Conceitos de firewall
Segurança de redes - Conceitos de firewall Segurança de redes - Conceitos de firewall
Segurança de redes - Conceitos de firewall
 
Chp3 - Les Services Web
Chp3 - Les Services WebChp3 - Les Services Web
Chp3 - Les Services Web
 
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
 
XML Schema (2002)
XML Schema (2002)XML Schema (2002)
XML Schema (2002)
 
Trabalho de Sistemas Distribuídos
Trabalho de Sistemas DistribuídosTrabalho de Sistemas Distribuídos
Trabalho de Sistemas Distribuídos
 
Monitoramento rede
Monitoramento redeMonitoramento rede
Monitoramento rede
 
introduction au SQL et MySQL
introduction au SQL et MySQLintroduction au SQL et MySQL
introduction au SQL et MySQL
 
Segurança de Dados e Informações - Aula 5 - Firewall | Iptables
Segurança de Dados e Informações - Aula 5 - Firewall | IptablesSegurança de Dados e Informações - Aula 5 - Firewall | Iptables
Segurança de Dados e Informações - Aula 5 - Firewall | Iptables
 
Sistemas Distribuídos - Comunicação Distribuída – Web Services
Sistemas Distribuídos - Comunicação Distribuída – Web ServicesSistemas Distribuídos - Comunicação Distribuída – Web Services
Sistemas Distribuídos - Comunicação Distribuída – Web Services
 
HTAP Queries
HTAP QueriesHTAP Queries
HTAP Queries
 
.php1 : les fondamentaux du PHP
.php1 : les fondamentaux du PHP.php1 : les fondamentaux du PHP
.php1 : les fondamentaux du PHP
 
Alphorm.com Formation MySQL Administration(1Z0-883)
Alphorm.com   Formation MySQL Administration(1Z0-883)Alphorm.com   Formation MySQL Administration(1Z0-883)
Alphorm.com Formation MySQL Administration(1Z0-883)
 
API Design - When to buck the trend (Webcast)
API Design - When to buck the trend (Webcast)API Design - When to buck the trend (Webcast)
API Design - When to buck the trend (Webcast)
 
Les bases de l'HTML / CSS
Les bases de l'HTML / CSSLes bases de l'HTML / CSS
Les bases de l'HTML / CSS
 
.block() 은 신중하게
.block() 은 신중하게.block() 은 신중하게
.block() 은 신중하게
 

Semelhante a Road to serverless

Azure Overview
Azure OverviewAzure Overview
Azure Overview
Fabian Gehrke
 
Overview Azure
Overview AzureOverview Azure
Overview Azure
Fabian Gehrke
 
WSO2 API Forum Brazil - Adotando APIs e Microserviços com Serverless
WSO2 API Forum Brazil - Adotando APIs e Microserviços com Serverless WSO2 API Forum Brazil - Adotando APIs e Microserviços com Serverless
WSO2 API Forum Brazil - Adotando APIs e Microserviços com Serverless
WSO2
 
Apresentação Cloud - Open(Stack/Shift)
Apresentação Cloud - Open(Stack/Shift)Apresentação Cloud - Open(Stack/Shift)
Apresentação Cloud - Open(Stack/Shift)
Raul Leite
 
Serverless Framework - Creating serverless applications
Serverless Framework - Creating serverless applicationsServerless Framework - Creating serverless applications
Serverless Framework - Creating serverless applications
Wallison Marra
 
Cloud Native Microservices - Rumo a uma Arquitetura de Microsserviços Nativos...
Cloud Native Microservices - Rumo a uma Arquitetura de Microsserviços Nativos...Cloud Native Microservices - Rumo a uma Arquitetura de Microsserviços Nativos...
Cloud Native Microservices - Rumo a uma Arquitetura de Microsserviços Nativos...
Frederico Garcia Costa
 
Desvendando a Plataforma de Serviços Windows Azure
Desvendando a Plataforma de Serviços Windows AzureDesvendando a Plataforma de Serviços Windows Azure
Desvendando a Plataforma de Serviços Windows Azure
LucasRomao
 
Mergulhando em desenvolvimento de aplicações serverless
Mergulhando em desenvolvimento de aplicações serverlessMergulhando em desenvolvimento de aplicações serverless
Mergulhando em desenvolvimento de aplicações serverless
Amazon Web Services LATAM
 
O BACK-END PERFEITO PARA APLICAÇÕES DELPHI E C++ BUILDER
O BACK-END PERFEITO PARA APLICAÇÕES DELPHI E C++ BUILDERO BACK-END PERFEITO PARA APLICAÇÕES DELPHI E C++ BUILDER
O BACK-END PERFEITO PARA APLICAÇÕES DELPHI E C++ BUILDER
Fernando Rizzato
 
Containers com docker #CPRecife4
Containers com docker #CPRecife4Containers com docker #CPRecife4
Containers com docker #CPRecife4
David Ruiz
 
Cloud Publica Com alta performance, flexível e gerenciável.
Cloud Publica Com alta performance, flexível e gerenciável.Cloud Publica Com alta performance, flexível e gerenciável.
Cloud Publica Com alta performance, flexível e gerenciável.
Thiago Viola
 
Iniciando com AWS Lambda e serverless em cloud
Iniciando com AWS Lambda e serverless em cloudIniciando com AWS Lambda e serverless em cloud
Iniciando com AWS Lambda e serverless em cloud
Amazon Web Services LATAM
 
Azure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / Goiânia
Azure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / GoiâniaAzure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / Goiânia
Azure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / Goiânia
Rodrigo Marques Teixeira
 
DevCommerce Conference 2016: Vantagens e resultados de containers e VMs para ...
DevCommerce Conference 2016: Vantagens e resultados de containers e VMs para ...DevCommerce Conference 2016: Vantagens e resultados de containers e VMs para ...
DevCommerce Conference 2016: Vantagens e resultados de containers e VMs para ...
iMasters
 
Contêineres e VMs no mundo dos E-commerces (Devcommerce2016)
Contêineres e VMs no mundo dos E-commerces (Devcommerce2016)Contêineres e VMs no mundo dos E-commerces (Devcommerce2016)
Contêineres e VMs no mundo dos E-commerces (Devcommerce2016)
Wellington Silva
 
Apresentação do grupo Serverless Floripa + Introdução ao Serverless e seu eco...
Apresentação do grupo Serverless Floripa + Introdução ao Serverless e seu eco...Apresentação do grupo Serverless Floripa + Introdução ao Serverless e seu eco...
Apresentação do grupo Serverless Floripa + Introdução ao Serverless e seu eco...
Ricardo Lima
 
Docker para devs .NET
Docker para devs .NETDocker para devs .NET
Docker para devs .NET
Fabrício Lopes Sanchez
 
DevOps - melhores práticas e integração contínua
DevOps - melhores práticas e integração contínuaDevOps - melhores práticas e integração contínua
DevOps - melhores práticas e integração contínua
Amazon Web Services LATAM
 
Soluçõo Oracle Cloud VMware
Soluçõo Oracle Cloud VMwareSoluçõo Oracle Cloud VMware
Soluçõo Oracle Cloud VMware
Oracle
 
Construindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS LambdaConstruindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS Lambda
Amazon Web Services LATAM
 

Semelhante a Road to serverless (20)

Azure Overview
Azure OverviewAzure Overview
Azure Overview
 
Overview Azure
Overview AzureOverview Azure
Overview Azure
 
WSO2 API Forum Brazil - Adotando APIs e Microserviços com Serverless
WSO2 API Forum Brazil - Adotando APIs e Microserviços com Serverless WSO2 API Forum Brazil - Adotando APIs e Microserviços com Serverless
WSO2 API Forum Brazil - Adotando APIs e Microserviços com Serverless
 
Apresentação Cloud - Open(Stack/Shift)
Apresentação Cloud - Open(Stack/Shift)Apresentação Cloud - Open(Stack/Shift)
Apresentação Cloud - Open(Stack/Shift)
 
Serverless Framework - Creating serverless applications
Serverless Framework - Creating serverless applicationsServerless Framework - Creating serverless applications
Serverless Framework - Creating serverless applications
 
Cloud Native Microservices - Rumo a uma Arquitetura de Microsserviços Nativos...
Cloud Native Microservices - Rumo a uma Arquitetura de Microsserviços Nativos...Cloud Native Microservices - Rumo a uma Arquitetura de Microsserviços Nativos...
Cloud Native Microservices - Rumo a uma Arquitetura de Microsserviços Nativos...
 
Desvendando a Plataforma de Serviços Windows Azure
Desvendando a Plataforma de Serviços Windows AzureDesvendando a Plataforma de Serviços Windows Azure
Desvendando a Plataforma de Serviços Windows Azure
 
Mergulhando em desenvolvimento de aplicações serverless
Mergulhando em desenvolvimento de aplicações serverlessMergulhando em desenvolvimento de aplicações serverless
Mergulhando em desenvolvimento de aplicações serverless
 
O BACK-END PERFEITO PARA APLICAÇÕES DELPHI E C++ BUILDER
O BACK-END PERFEITO PARA APLICAÇÕES DELPHI E C++ BUILDERO BACK-END PERFEITO PARA APLICAÇÕES DELPHI E C++ BUILDER
O BACK-END PERFEITO PARA APLICAÇÕES DELPHI E C++ BUILDER
 
Containers com docker #CPRecife4
Containers com docker #CPRecife4Containers com docker #CPRecife4
Containers com docker #CPRecife4
 
Cloud Publica Com alta performance, flexível e gerenciável.
Cloud Publica Com alta performance, flexível e gerenciável.Cloud Publica Com alta performance, flexível e gerenciável.
Cloud Publica Com alta performance, flexível e gerenciável.
 
Iniciando com AWS Lambda e serverless em cloud
Iniciando com AWS Lambda e serverless em cloudIniciando com AWS Lambda e serverless em cloud
Iniciando com AWS Lambda e serverless em cloud
 
Azure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / Goiânia
Azure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / GoiâniaAzure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / Goiânia
Azure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / Goiânia
 
DevCommerce Conference 2016: Vantagens e resultados de containers e VMs para ...
DevCommerce Conference 2016: Vantagens e resultados de containers e VMs para ...DevCommerce Conference 2016: Vantagens e resultados de containers e VMs para ...
DevCommerce Conference 2016: Vantagens e resultados de containers e VMs para ...
 
Contêineres e VMs no mundo dos E-commerces (Devcommerce2016)
Contêineres e VMs no mundo dos E-commerces (Devcommerce2016)Contêineres e VMs no mundo dos E-commerces (Devcommerce2016)
Contêineres e VMs no mundo dos E-commerces (Devcommerce2016)
 
Apresentação do grupo Serverless Floripa + Introdução ao Serverless e seu eco...
Apresentação do grupo Serverless Floripa + Introdução ao Serverless e seu eco...Apresentação do grupo Serverless Floripa + Introdução ao Serverless e seu eco...
Apresentação do grupo Serverless Floripa + Introdução ao Serverless e seu eco...
 
Docker para devs .NET
Docker para devs .NETDocker para devs .NET
Docker para devs .NET
 
DevOps - melhores práticas e integração contínua
DevOps - melhores práticas e integração contínuaDevOps - melhores práticas e integração contínua
DevOps - melhores práticas e integração contínua
 
Soluçõo Oracle Cloud VMware
Soluçõo Oracle Cloud VMwareSoluçõo Oracle Cloud VMware
Soluçõo Oracle Cloud VMware
 
Construindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS LambdaConstruindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS Lambda
 

Mais de Matheus Fidelis

Criando API's com HapiJS
Criando API's com HapiJSCriando API's com HapiJS
Criando API's com HapiJS
Matheus Fidelis
 
Desbravando o REST com Python
Desbravando o REST com PythonDesbravando o REST com Python
Desbravando o REST com Python
Matheus Fidelis
 
Web scraping com python
Web scraping com pythonWeb scraping com python
Web scraping com python
Matheus Fidelis
 
Docker Para Maiores - GDG Cabreúva
Docker Para Maiores - GDG CabreúvaDocker Para Maiores - GDG Cabreúva
Docker Para Maiores - GDG Cabreúva
Matheus Fidelis
 
Escalando API's com NodeJS, Docker e RabbitMQ
Escalando API's com NodeJS, Docker e RabbitMQEscalando API's com NodeJS, Docker e RabbitMQ
Escalando API's com NodeJS, Docker e RabbitMQ
Matheus Fidelis
 
Desmistificando a Amazon AWS
Desmistificando a Amazon AWSDesmistificando a Amazon AWS
Desmistificando a Amazon AWS
Matheus Fidelis
 
Docker para maiores
Docker para maioresDocker para maiores
Docker para maiores
Matheus Fidelis
 
O Fantástico Mundo de Git
O Fantástico Mundo de GitO Fantástico Mundo de Git
O Fantástico Mundo de Git
Matheus Fidelis
 
Introdução a Containers Docker
Introdução a Containers DockerIntrodução a Containers Docker
Introdução a Containers Docker
Matheus Fidelis
 
Aula 1 - Testando a Segurança de Sua Aplicação Web
Aula 1 - Testando a Segurança de Sua Aplicação WebAula 1 - Testando a Segurança de Sua Aplicação Web
Aula 1 - Testando a Segurança de Sua Aplicação Web
Matheus Fidelis
 

Mais de Matheus Fidelis (10)

Criando API's com HapiJS
Criando API's com HapiJSCriando API's com HapiJS
Criando API's com HapiJS
 
Desbravando o REST com Python
Desbravando o REST com PythonDesbravando o REST com Python
Desbravando o REST com Python
 
Web scraping com python
Web scraping com pythonWeb scraping com python
Web scraping com python
 
Docker Para Maiores - GDG Cabreúva
Docker Para Maiores - GDG CabreúvaDocker Para Maiores - GDG Cabreúva
Docker Para Maiores - GDG Cabreúva
 
Escalando API's com NodeJS, Docker e RabbitMQ
Escalando API's com NodeJS, Docker e RabbitMQEscalando API's com NodeJS, Docker e RabbitMQ
Escalando API's com NodeJS, Docker e RabbitMQ
 
Desmistificando a Amazon AWS
Desmistificando a Amazon AWSDesmistificando a Amazon AWS
Desmistificando a Amazon AWS
 
Docker para maiores
Docker para maioresDocker para maiores
Docker para maiores
 
O Fantástico Mundo de Git
O Fantástico Mundo de GitO Fantástico Mundo de Git
O Fantástico Mundo de Git
 
Introdução a Containers Docker
Introdução a Containers DockerIntrodução a Containers Docker
Introdução a Containers Docker
 
Aula 1 - Testando a Segurança de Sua Aplicação Web
Aula 1 - Testando a Segurança de Sua Aplicação WebAula 1 - Testando a Segurança de Sua Aplicação Web
Aula 1 - Testando a Segurança de Sua Aplicação Web
 

Road to serverless

Notas do Editor

  1. Conversar sobre tecnologias Serverless Quais são; Os principios; Onde são utilizadas; Apresentar ferramentas; frameworks; casos de uso;
  2. Confusão; Nome; Sem Servidor; A gente sabe que isso não é possível; Pedra; Tudo tem que arcar com custos computacionais;
  3. O termo Serverless, tem servidor. O que caracteriza um serviço Serverless é muito mais que isso, e muito menos mágico que isso. A usabilidade do paradigma já começa bugando o cérebro pelo primeiro contato, pelo NOME;
  4. Alguém aqui é usuário de serviços serverless? Alguém aqui já trabalha com serviços serverless? Alguém aqui tem algum projetinho pessoal legal usando Serverless? Alguém aqui já brincou em casa, no escuro, no silêncio da noite com alguma tecnologia Serverless? Antes de mais nada então, vamos começar do inicio. Quero que vocês peguem a gavetinha mental de vocês sobre o assunto, e coloque apenas folhas em branco. Vamos começar do zero a entender o que é esse tipo de tecnologia. Beleza?
  5. Uma das primeiras coisas mágicas que ouvimos falar a respeito do Serverless, é a total eliminação de práticas DevOps e custos computacionais. Isso não é verdade. Pra alguém dizer isso ela não faz a minima ideia do que é DevOps. As boas práticas de software, de qualidade, pipeline ainda são aplicadas normalmente. E como já vimos, vamos modificar a ideia de “Sem Servidores” para “Sem PREOCUPAÇÃO com servidores”.
  6. O paradigma/filosofia Serverless não nasceu da bagunça do dia pra noite. Existe um manifesto das tecnologias Serverless, Que ninguém sabe ao certo quem é o autor, só sei que esse manifesto está publicado em blogs da AWS, de figurões como Martin Folwer, Uncle Bob e etc. É meio confuso achar o autor verdadeiro disso, mas todas as ideias e tecnologias que surgiram com base em Serverless seguem ou estão tentando seguir fielmente o que está descrito nesse manifesto.
  7. Resumindo tudo isso, a ideia do Serverless é prover recursos de infraestrutura e serviço, sem as eventuais preocupações de manutenção e suporte pra recursos de infra.
  8. Te permitindo focar direto na camada de aplicação e consumo dos serviços que você pretende utilizar.
  9. E dentro dos níveis de abstração de cloud mais conhecidos, onde está o Serverless? Essa é a melhor imagem do universo pra explicar os níveis de abstração de Núvem
  10. Mas antes da gente responder essas perguntas, vamos pegar mais folhas brancas e onde tudo era mato.
  11. Mas esse cenário se tornou inviável com o BOOM da adoção da tecnologia. Com transformação digital da maioria dos produtos tradicionais, a facilidade de criar novos produtos de tecnologia, com a facilidade de acesso aos serviços de tecnologia, começaram a surgir N necessidades de escala. Sejam elas
  12. Foi mais ou menos ai que o Cloud começou a explodir em termos de adoção, custo, escalabilidade e performance pra esse novo tipo de necessidade.
  13. E com ele vieram vários terminhos técnicos, que são chamados de QualquerCoisaAaaS, que hoje são os níveis de abstração de Cloud,
  14. Vamos passar rapidamente entre os mais conhecidos, sendo o primeiro e até hoje mais adotado, o Infrastructure As A Service. A ideia de criar, dimensionar e destruir infraestrutura conforme demanda serviu como uma luva pra suportar o surgimento e crescimento de novos produtos e negócios. Porém o custo manual disso ainda era muito grande, seja por provisionamento, configuração de servidores, rede, roteadores virtuais. Gerenciamento de imagens, versionamento, manutenção de S.O. O que faz ele ideal pra quando seu produto requer níveis mais baixos de configuração. Esse modelo otimiza e muito custos, escala vertical, horizontal, te provê mais níveis de customização, porém ainda existem necessidades que não precisam de tanta gestão, e precisam ser mais ágeis.
  15. Dai foi criada mais um nível de abstração de infraestrutura, focada em código e na produtividade do desenvolvedor, o Platform as a Service, facilitando e abstraindo muito questões de infraestrutura pra quem não tinha a necessidade de tamanha customização, ou não possuia Know How suficiente pra tal. Esse modelo na maioria dos casos te provê apenas uma forma de você subir seu código desde que o Runtime fosse suportado, e disponibilizar o acesso para consumo dos clientes. Mais tarde esse nível evoluiu bastante, principalmente com a adoção de Containers e etc.
  16. Também existe o Backend as a Service que talvez fosse o primeiro passo pra algo Serverless de verdade. Esse modelo foi criado pra abstrair o uso de recursos especificos como Storage, Databases, Runtimes especificos de código, e ele veio para cortar a demanda de algum objetivo complicado de backlog.
  17. E o principal dessa noite o Function as a Service.
  18. Que são basicamente a possibilidade de fazer deploy de funções independentes, com responsabilidades independentes e que elas possam escalar independentemente de acordo com a demanda.
  19. A ideia é ter codar e entregar uma função que tenha um objetivo especifico, e permitir que a ela execute de forma independente e transparente pra cumprir o que ela foi criada pra fazer.
  20. Uma ideia que mais tarde evoluiu do que a gente conhece hoje como Microserviço, e uma ideia ajudou a evoluir a outra até chegar num nível de abstração que elas conseguiram se unir e se tornar a mesma coisa dentro de contextos especificos.