construya apis seguras y escalables

23
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved. © 2015, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Jesús Bonequi Olvera, Solutions Architect Latinoamérica Abril 2016, Bogotá Construya APIs seguras y escalables Utilizando Amazon API Gateway y AWS Lambda

Upload: amazon-web-services-latam

Post on 16-Apr-2017

626 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Construya APIs seguras y escalables

© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2015, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

Jesús Bonequi Olvera, Solutions Architect Latinoamérica

Abril 2016, Bogotá

Construya APIs seguras y escalables

Utilizando Amazon API Gateway y AWS Lambda

Page 2: Construya APIs seguras y escalables

¿Qué esperar de la sesión?

1. Un Nuevo modelo de desarrollo

completamente administrado

2. Declarar un API con Amazon API Gateway

3. Crear la lógica de la aplicación con AWS

Lambda

4. Autorizar el uso con AWS IAM

5. Consumir el Micro servicio

Page 3: Construya APIs seguras y escalables

Managed

Un nuevo modelo completamente administrado

InternetApps

Móviles

Funciones

AWS Lambda

AWS

API Gateway

cache

Endpoints on

Amazon EC2

Cualquier otro

endpoint accesible

públicamente

Amazon

CloudWatch

Amazon

CloudFrontAPI

Gateway

API GatewayOtros

Servicios de

AWS

Funciones

AWS Lambda

Page 4: Construya APIs seguras y escalables

Ideas Claves

AWS Lambda y Amazon API Gateway significa que no

deben administrar la infraestructura y nosotros la

escalamos por usted

La Seguridad es muy importante y compleja, utilice de

mejor manera AWS Identity and Access Management

Podemos consumar los recursos sin el uso de sdk y

APIs en el cliente

Page 5: Construya APIs seguras y escalables

Los servicios que vamos a utilizar

Amazon API Gateway AWS Lambda Amazon DynamoDB

Hospeda las APIs y

en ruta las llamadas a

las APIs

Ejecuta la lógica de la

aplicaciónAlmacenamiento de

datos

Page 6: Construya APIs seguras y escalables

Construyamos una app..

calculadora

Page 7: Construya APIs seguras y escalables

En un modelo tradicional. ¿Qué necesitamos?

Amazon EC2

Apache

Virginia

US East ‘1

VPC Calculadora

SQL master

Amazon EC2

Apache

US East ‘2

SQL slave

Page 8: Construya APIs seguras y escalables

Objetivos de la App

1. Crear una calculadora simple

2. Sin utilizar API en el lado del cliente

3. Almacenar los datos en un tabla dynamodb

4. Consulta la ultima operación realizada

5. Escalable a cualquier numero de usuarios

6. Sin uso de infraestructura

7. El mejor costo / beneficio

Page 9: Construya APIs seguras y escalables

¿Qué es lo nuevo en este modelo?

La aplicación puede utilizar muchos servidores y no

queremos mantenerlos

La autorización de las APIs la dejamos en IAM. Solo

debemos enfocarnos en los roles de IAM.

Sin administración de actualizaciones en el lado del

cliente

Page 10: Construya APIs seguras y escalables

Definición del API

Page 11: Construya APIs seguras y escalables

Vista rápida de Amazon API Gateway

Administre las

implementaciones de

múltiples versiones y

ambientes

Defina y hospede las APIs

Utilice Identity and

Access Management para

autorizar el acceso a los

recursos de la nube

Utilice la autenticación de AWS

Protección de DDoS y

throttling de peticiones

para salvaguardar su

back end

Administre el trafico de red

Page 12: Construya APIs seguras y escalables

Métodos e integración

Page 13: Construya APIs seguras y escalables

Solicitando routing y manejo de

excepciones

Page 14: Construya APIs seguras y escalables

Alto rendimiento a cualquier escala,

efectiva en costos y eficiente

Sin Infraestructura que

administrar

Pague únicamente por lo que utilice,

AWS Lambda automáticamente se

ajuste a la capacidad que usted

solicitó, compre computo en

incrementos de 100ms

Traiga su propio

código

Las funciones Lambda: Sin estado, ejecución de código trigger-based

Ejecute el código en el lenguaje

que usted elige. Utilice procesos,

threads, archivos y scripts shells

normalmente

Enfóquese en la lógica del negocio

y no en la infraestructura. Subo su

código y AWS Lamdba se encarga

de todo lo demás

Vista rápida de AWS Lambda

Page 15: Construya APIs seguras y escalables

El Lambda handler

lambdaHandler

en nuestra

Fuente NodeJS

Base de

datos

Resultados

Amazon API

Gateway

Integration request

Suma

Resta

Multiplica

Divide

Guarda

Resultados

Page 16: Construya APIs seguras y escalables

Los mapping templates son herramientas poderosas

Aprenda mas de los mapping templates en nuestros documentos

http://amzn.to/1L1hSF5

Page 17: Construya APIs seguras y escalables

Autorizando las llamadas API

Page 18: Construya APIs seguras y escalables

Creando el rol

Utilizando la consola

Page 19: Construya APIs seguras y escalables

El rol de IAM define los accesos

{

"Version": "2012-10-17",

"Statement": [

{

"Effect": "Allow",

"Action": [

"dynamodb:GetItem",

"dynamodb:PutItem",

"dynamodb:Scan",

"lambda:InvokeFunction",

"execute-api:invoke"

],

"Resource": [

"arn:aws:dynamodb:us-east-1:xxxxxx:table/test_pets",

"arn:aws:lambda:us-east-1:xxxxx:function:PetStore”,

"arn:aws:execute-api:us-east-1:xxxx:API_ID/*/POST/pets"

]

}

]

}

El rol permite llamadas a:

• DynamoDB

• API Gateway

• Lambda

Page 20: Construya APIs seguras y escalables

Demostración

Page 21: Construya APIs seguras y escalables

¿Qué hemos aprendido?

AWS Lambda + Amazon API Gateway significa que no tienen

infraestructura que administrar – nosotros la escalamos por usted

La Seguridad es muy importante y compleja – obtenga lo

mejor de AWS Identity and Access Management

Sin manejo de APIs del lado del cliente

Page 22: Construya APIs seguras y escalables

¿Preguntas?

Page 23: Construya APIs seguras y escalables

Muchas Gracias@jesusbo