Top Banner
Las APIs en el mundo Cloud Marco Antonio Sanz
40

El mundo cloud y las apis

Aug 04, 2015

Download

Technology

meetup
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: El mundo cloud y las apis

Las APIs en el mundo Cloud

Marco Antonio Sanz

Page 2: El mundo cloud y las apis

Índice

❏ ¿Quienes somos?❏ ¿Por qué unir el mundo Cloud y las Apis?❏ ¿Qué es el Cloud?❏ Tipos de Cloud❏ Iaas, Saas, Paas❏ Consideraciones en el desarrollo❏ Api Managers

Page 3: El mundo cloud y las apis

¿Quienes somos?

Grupo de meetuphttp://www.meetup.com/API-Addicts/

Meetups realizados❏ MADA. Metodología ágil de

definición de APIs❏ Taller: Definición de APIs❏ Taller: Desarrolla tu primera API❏ Seguridad en las APIs❏ Las APis en el mundo Big Data❏ Las APis en el mundo Cloud❏ Apis como modelo de negocio❏ Define y desarrolla tu primera API

Marco Antonio Sanz:http://es.linkedin.com/pub/marco-antonio-sanz-molina-prados/18/335/97/

Page 4: El mundo cloud y las apis

Patrocinadores

¿qué nos ofrece?➢ know - how de apis➢ Experiencia en el gobierno de Apis➢ Ejemplos de arquitecturas➢ Experiencia en el mundo Cloud

Calle Velasco 13

Tlf: 658 89 75 [email protected] · www.cloudappi.net

Page 5: El mundo cloud y las apis

¿Por qué unir Cloud y las Apis?

➢ Demanda variable○ Apis públicas○ Backend

➢ Demanda fija???○ Apis internas○ Apis partners

Source: http://media.amazonwebservices.com/AWS_Cloud_Best_Practices.pdf

Page 6: El mundo cloud y las apis

¿Qué es el mundo Cloud?

Cloud Computing permite el aprovisionamiento dinámico de recursos (computación, almacenamiento…)

Page 7: El mundo cloud y las apis

Características principales

❏ Elasticidad❏ Pago por uso❏ Configurabilidad (API / web)❏ Seguridad❏ Asignación de recursos bajo

demanda

Page 8: El mundo cloud y las apis

¿Tipos de Cloud?

● Cloud públicas○ Pago por uso○ Máximo grado de escalabilidad○ Economía de escala○ Fiabilidad○ Flexibilidad○ Independencia de localización

● Cloud privadas○ Mayor seguridad y privacidad○ Mayor control○ Aprovechamiento de infraestructura actual

● Cloud híbridas○ Auna lo mejor de ambas soluciones, utilizando

los recursos de la cloud públicas sólo cuando es necesario

Fuente:http://www.interoute.es/cloud-article/what-hybrid-cloud

Page 9: El mundo cloud y las apis

¿Tipos de Cloud?

● No hay una regla fija● Dependerá del tamaño de la

empresa y de la infraestructura

● Dependerá de los conocimientos de administración y desarrollo

¿Qué tipo escojo para mi Api?

Page 10: El mundo cloud y las apis

¿Iaas, Saas, Paas?

● IaaS: Infraestructure as a Service

○ AWS○ Windows Azure○ Google Cloud Platform

● PaaS: Platform as a Service○ App Engine○ Windows Azure○ Heroku

● SaaS: Software as a Service○ Apigee○ Amazon SES

Page 11: El mundo cloud y las apis

¿Iaas, Saas, Paas?

❏ ¿Existe un administrador de sistemas?

❏ ¿Tengo conocimientos del PaaS?

❏ ¿qué presupuesto tienes?

❏ ¿qué flexibilidad necesitas?

❏ ¿Existe una política de no casarse con ningún cloud dentro de la organización?

❏ ¿Necesitas algún servicio que sólo te puede dar un determinado Cloud?

¿Qué escojo para mi Api?

Page 12: El mundo cloud y las apis

¿Iaas, Saas, Paas?

AWS

Page 13: El mundo cloud y las apis

¿Iaas, Saas, Paas?

Google

Page 14: El mundo cloud y las apis

¿Iaas, Saas, Paas?

Windows Azure

Page 15: El mundo cloud y las apis

¿Iaas, Saas, Paas?

Open Stack

Page 16: El mundo cloud y las apis

¿Iaas, Saas, Paas?

Open Stack Red Hat

Page 17: El mundo cloud y las apis

¿Iaas, Saas, Paas?

¿Cual escojo?

❏ Coste (incluir costes de administración)

❏ ¿Mi Api necesita de algún servicio?

❏ Requisitos legales

❏ ¿Qué control tengo que tener sobre los recursos?

❏ ¿Qué recursos necesitos?

❏ ¿Qué conocimiento tienen los desarrolladores?

❏ ¿Qué requisitos de Big Data tengo?

Page 18: El mundo cloud y las apis

Consideraciones en el desarrollo

❏ Las Apis deben ser stateless

❏ Autenticación y autorización. ¿Voy a utilizar un Api Manager?

❏ Se debe utilizar el mínimo recurso de computo. ¿La Api necesita más recursos de memoria o de CPU?

❏ Hay que tener cuidado a la hora de almacenar información. ¿Se pueden perder los datos al autoescalar?

❏ Datos estáticos, utilizar un CDN

❏ Normativa legal

❏ Revisar los controles de elasticidad. ¿Podemos conocer la demanda?

❏ Optimización de coste. Se desarrolla pensando en el Cloud

Page 19: El mundo cloud y las apis

¿Quién no ha calculado el coste utilizando la calculadora de AWS?

Consideraciones en el desarrollo

Page 20: El mundo cloud y las apis

¿Quién no ha calculado el coste utilizando la calculadora de AWS?

Consideraciones en el desarrollo

Page 21: El mundo cloud y las apis

Cálculo de costes y mejor instancia

Consideraciones en el desarrollo

❏ Calcular estadísticamente qué servicios se van a utilizar.

❏ Calcular número medio de peticiones hora❏ Estresar (normalmente una hora)

❏ Instancia de más memoria❏ Instancia de más CPU

❏ Sí con una instancia no se alcanzan las peticiones medias, probar la instancia mayor.

❏ ¿Qué obtenemos?❏ Coste por petición❏ Coste apróx

Page 22: El mundo cloud y las apis

Verificando el cloud

Consideraciones en el desarrollo

❏ Calculamos estadísticamente el máximo de peticiones /hora

❏ Al redimensionar la infraestructura para peticiones media, deberíamos autoescalar

❏ Comprobamos que se autoescala correctamente

❏ Calculamos costes

Page 23: El mundo cloud y las apis

¿Debo de utilizar un Api Manager?

Api Managers

❏ Dependerá del negocio de la API y sobre todo, de la estrategia de la organización.

❏ Por regla general, todas las APIs que se expongan al exterior deberían ser securizadas por un API Manager.

❏ Las Apis internas a una organización también es aconsejable, debido al mayor control sobre las API

Page 24: El mundo cloud y las apis

Tipos de Api Manager

Api Managers

On Premise

SaaS

Page 25: El mundo cloud y las apis

Tipos de Api Manager

Api Managers

Page 26: El mundo cloud y las apis

Comparativa

Api Managers

Page 27: El mundo cloud y las apis

Comparativa

Source: http://www.developereconomics.com/api-management-tools-how-to-find-the-one-for-you/

Api Managers

Page 28: El mundo cloud y las apis

➢ Solución que actúa de proxy entre el API y el cliente.

➢ Gobierno de los productos expuestos:■ Gestión del ciclo de vida■ Gestión de AAA■ Control de cuotas y monetización

➢ Visibilidad y métricas

Características principales

Api Managers

Page 29: El mundo cloud y las apis

➢ Solución en la nube que actúa de proxy entre el API y el cliente.

➢ Facilidad en la inclusión de políticas de seguridad estándares.

➢ Diferentes mecanismos de autenticación:○ Apikey○ OAuth 2.0

Características principales

Api Managers

Page 30: El mundo cloud y las apis

➢ Solución on premise (en la nube en modo beta) que actúa de proxy entre el API y el cliente.

➢ Permite la codificación de políticas de seguridad.

➢ Mecanismo de autenticación mediante OAuth 2.0.

Características principales

Api Managers

Page 31: El mundo cloud y las apis

➢ Integrado con el Cloud➢ Portal del desarrollador➢ Protege y securiza las Apis

Azure Api Management

Api Managers

Page 32: El mundo cloud y las apis

Ejemplos

Netflix

Page 33: El mundo cloud y las apis

Ejemplos

Gobierno de Apis

Page 34: El mundo cloud y las apis

Ejemplos

Arquitectura MEAN

Page 35: El mundo cloud y las apis

Píldora de conocimiento

Microservicios

Servicios “pequeños” y fáciles de abordar. Cada servicio debe ser monolítico.

Page 36: El mundo cloud y las apis

Píldora de conocimiento

Docker

Sistema de virtualización ligero

❏ Permite realizar contenedores portables.

❏ Lo están implementando los principales Cloud.

❏ Ideal para microservicios

Page 37: El mundo cloud y las apis

➢ Web principal de apigee : http://apigee.com➢ Web principal de wso2: http://wso2.com➢ Azure: http://azure.microsoft.com/es-es/documentation➢ AWS: http://aws.amazon.com/es/➢ GAE: https://cloud.google.com/appengine/docs➢ Open Stack: https://www.openstack.org/➢ Red Hat Open Stack: http://www.redhat.com/en/insights/openstack➢ Microservicios: http://www.arquitecturajava.com/que-es-un-microservicio/➢ Docker: https://openwebinars.net/docker-que-es-sus-principales-caracteristicas/

Enlaces de interés

Page 38: El mundo cloud y las apis

Ruegos y preguntas

Page 39: El mundo cloud y las apis
Page 40: El mundo cloud y las apis

Contacta en:

Email: [email protected]

Web:

http://www.meetup.com/APIAddicts

Siguenos en:

➢ Linkedin: ApiAddicts

➢ Twitter: @apiaddicts

➢ Facebook: APIAddicts

➢ Meetup: APIAddicts

Contacta