As arquiteturas sem servidor (serverless) são
projetos de aplicações que incorporam serviços
“Backend as a Service” (BaaS) de terceiros e/ou
que incluem execução de código personalizado
em contêineres efêmeros gerenciados em uma
plataforma “Function as a Service” (FaaS).
4
Slide 5
Slide 5 text
Ta, mas...
5
Slide 6
Slide 6 text
BaaS? FaaS? O que
é tudo isso?
6
Slide 7
Slide 7 text
O que é Backend as
a Service?
7
Slide 8
Slide 8 text
“Backend as a Service” (BaaS) é um serviço de
computação em nuvem que serve como
middleware. O mesmo fornece aos
desenvolvedores uma forma para conectar suas
aplicações mobile e web a serviços na nuvem a
partir de APIs e SDKs.
8
Slide 9
Slide 9 text
9
Abordagem tradicional
Slide 10
Slide 10 text
10
Abordagem com serverless
Slide 11
Slide 11 text
O que é Function as
a Service?
11
Slide 12
Slide 12 text
FaaS é um conceito da arquitetura serverless.
Uma função representa uma ação ou parte da
lógica de negócios individual. Espera-se que essas
funções iniciem em milissegundos e processem
solicitações individuais e, em seguida finalizem o
processo.
12
Slide 13
Slide 13 text
13
Princípios de FaaS
● Abstração completa de servidores;
● Cobrança baseada no consumo ou execução,
não nos tamanhos de instâncias de servidores;
● Stateless;
● Efêmero;
● Escaláveis instantaneamente;
● Serviços orientado a eventos.
Slide 14
Slide 14 text
14
Orientação a eventos
Slide 15
Slide 15 text
A ideia de tudo isso
é
15
Slide 16
Slide 16 text
Focar na aplicação
e não na
infraestrutura
16
Slide 17
Slide 17 text
Ta bom, mas como
eu crio minhas
aplicações
serverless?
17
Slide 18
Slide 18 text
Defina a
plataforma
18
Slide 19
Slide 19 text
19
Slide 20
Slide 20 text
Cada plataforma
tem a sua maneira
de desenvolver
20
Slide 21
Slide 21 text
21
serverless
framework
Mas para facilitar esse processo, podemos usar
Slide 22
Slide 22 text
O framework Serverless consiste em
uma aplicação CLI, open source, que
torna mais fácil o desenvolvimento,
deploy e testes de aplicações
serverless entre diferentes provedores
de nuvem.
22
Slide 23
Slide 23 text
23
Exemplo
Slide 24
Slide 24 text
Configurando o
ambiente
24
Slide 25
Slide 25 text
25
Instalando o serverless
Slide 26
Slide 26 text
26
Configurando as credenciais
Slide 27
Slide 27 text
27
Se fossemos criar uma função pelo site
Slide 28
Slide 28 text
Atualmente o
Lambda não dá
suporte para o PHP
28
Slide 29
Slide 29 text
Para resolver esse
problema, temos as
Layers
29
Slide 30
Slide 30 text
As Layers são componentes configurados que
podem ser incluídos em qualquer função.
30
Slide 31
Slide 31 text
Você vai ter que
construir a
comunicação da
plataforma com o seu
código
31
Slide 32
Slide 32 text
Po, mas nós não
estamos tentando fugir
da infra?
32
Slide 33
Slide 33 text
33
Slide 34
Slide 34 text
34
Instalando o bref
Slide 35
Slide 35 text
35
Configurando o bref
Slide 36
Slide 36 text
36
Estrutura gerada
Slide 37
Slide 37 text
37
index.php
Slide 38
Slide 38 text
A anatomia do
serverless.yml
38
Slide 39
Slide 39 text
39
Slide 40
Slide 40 text
40
Nome da aplicação
Configurações do provedor
Nome do provedor
Região
Plataforma que irá rodar sua função
Slide 41
Slide 41 text
41
Lista de plugins a serem utilizados
Plugin do bref
Slide 42
Slide 42 text
42
Lista de funções do projeto
Descrição da função
Tempo máximo de execução em seg.
Camadas da função
Eventos esperados da função
Nome da função
Arquivo que será executado
Camada do bref com do php fpm
Evento HTTP
Evento HTTP
Slide 43
Slide 43 text
Agora você tem
uma função básica
que funciona!
43
Slide 44
Slide 44 text
44
Fazendo deploy
Slide 45
Slide 45 text
45
Deploy finalizado
Slide 46
Slide 46 text
46
Testando
Slide 47
Slide 47 text
47
Slide 48
Slide 48 text
É possível evoluir
para aplicações
mais complexas?
48
Slide 49
Slide 49 text
49
Instalando dependências do slim
Slide 50
Slide 50 text
50
Fazendo um roteamento com slim
Slide 51
Slide 51 text
51
Fazendo deploy novamente
Slide 52
Slide 52 text
52
Testando novamente
Slide 53
Slide 53 text
Criar aplicações
serverless não é só
utilizar o serverless
framework
53