Upload
meetup
View
314
Download
4
Embed Size (px)
Citation preview
Í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
¿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/
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
¿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
¿Qué es el mundo Cloud?
Cloud Computing permite el aprovisionamiento dinámico de recursos (computación, almacenamiento…)
Características principales
❏ Elasticidad❏ Pago por uso❏ Configurabilidad (API / web)❏ Seguridad❏ Asignación de recursos bajo
demanda
¿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
¿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?
¿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
¿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?
¿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?
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
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
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
¿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
Comparativa
Source: http://www.developereconomics.com/api-management-tools-how-to-find-the-one-for-you/
Api Managers
➢ 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
➢ 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
➢ 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
➢ Integrado con el Cloud➢ Portal del desarrollador➢ Protege y securiza las Apis
Azure Api Management
Api Managers
Píldora de conocimiento
Microservicios
Servicios “pequeños” y fáciles de abordar. Cada servicio debe ser monolítico.
Píldora de conocimiento
Docker
Sistema de virtualización ligero
❏ Permite realizar contenedores portables.
❏ Lo están implementando los principales Cloud.
❏ Ideal para microservicios
➢ 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
Contacta en:
Email: [email protected]
Web:
http://www.meetup.com/APIAddicts
Siguenos en:
➢ Linkedin: ApiAddicts
➢ Twitter: @apiaddicts
➢ Facebook: APIAddicts
➢ Meetup: APIAddicts
Contacta