© 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
¿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
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
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
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
Construyamos una app..
calculadora
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
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
¿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
Definición del API
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
Métodos e integración
Solicitando routing y manejo de
excepciones
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
El Lambda handler
lambdaHandler
en nuestra
Fuente NodeJS
Base de
datos
Resultados
Amazon API
Gateway
Integration request
Suma
Resta
Multiplica
Divide
Guarda
Resultados
Los mapping templates son herramientas poderosas
Aprenda mas de los mapping templates en nuestros documentos
http://amzn.to/1L1hSF5
Autorizando las llamadas API
Creando el rol
Utilizando la consola
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
Demostración
¿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
¿Preguntas?
Muchas Gracias@jesusbo
Recommended