Desarrollo de Soluciones Escalables de Software como Servicio (SaaS)

  • 1,654 views
Uploaded on

Cloud Computing es un modelo que está siendo adoptado por muchas empresas a nivel mundial ya que los más grandes proveedores de software y vendedores de software independiente (ISVs) de todos los …

Cloud Computing es un modelo que está siendo adoptado por muchas empresas a nivel mundial ya que los más grandes proveedores de software y vendedores de software independiente (ISVs) de todos los tamaños han empezado a diseñar sus aplicaciones para que sean consumidas bajo el modelo cloud computing de Software como Servicio (SaaS). El diseño de soluciones de Software como Servicio involucra grandes retos a nivel técnico incluyendo aspectos como la escalabilidad
de la soluciones, los niveles de personalización, el modelo multi-arrendatario, el acceso desde múltiples dispositivos, la seguridad y el desarrollo sobre servicios PaaS e IaaS son algunos de los temas abordados en esta presentación realizada en el XXXIII Salón de Informática realizado en la ciudad de Bogotá, Colombia (2013).

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
1,654
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
62
Comments
3
Likes
2

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Desarrollo de Soluciones Escalables de Software como Servicio (SaaS) Mario Villamizar – Harold Castro Universidad de los Andes {mj.villamizar24, hcastro}@uniandes.edu.co Cámara de Comercio de Bogotá – Centro Empresarial Chapinero
  • 2. XXXIII Salón de Informática ACIS Agenda Introducción al Software como Servicio (SaaS) y Cloud Consideraciones de un Modelo de Negocio SaaS Consideraciones Técnicas Para Implementar un SaaS Desarrollo Técnico de una Solución SaaS Aprendizaje Continuo, Mediciones y Mejoras El Ciclo de Vida de una Compañía SaaS
  • 3. XXXIII Salón de Informática ACIS Agenda Introducción al Software como Servicio (SaaS) y Cloud Consideraciones de un Modelo de Negocio SaaS Consideraciones Técnicas Para Implementar un SaaS Desarrollo Técnico de una Solución SaaS Aprendizaje Continuo, Mediciones y Mejoras El Ciclo de Vida de una Compañía SaaS
  • 4. XXXIII Salón de Informática ACIS ¿Qué es el Software como Servicio (SaaS)? Un Nueva Manera de Adquirir Aplicaciones Bajo un Modelo de Suscripción
  • 5. XXXIII Salón de Informática ACIS Cambio de Mentalidad Los usuarios/clientes pagan una suscripción anual por el uso del servicio (no por la licencia)
  • 6. XXXIII Salón de Informática ACIS Ejemplo de Soluciones SaaS – Sales Cloud Se paga con base en el número de usuarios y las funcionalidades requeridas.
  • 7. XXXIII Salón de Informática ACIS Ejemplo de Soluciones SaaS – Survey Monkey Se paga con base en el número de transacciones, acciones, cantidad de datos, etc.
  • 8. XXXIII Salón de Informática ACIS Cientos de Soluciones Bajo el Modelo SaaS Cientos de startups, ISVs, empresas de tecnología y fábricas de software se han movido a crear SaaS.
  • 9. XXXIII Salón de Informática ACIS Cientos de Soluciones Bajo el Modelo SaaS www.tiendacloud.co
  • 10. XXXIII Salón de Informática ACIS Principales Beneficios Para los Usuarios/Clientes La mayor parte del presupuesto de TI se gasta en mantener la operación y no se invierte en el negocio.
  • 11. XXXIII Salón de Informática ACIS Principales Beneficios Para los Usuarios/Clientes Eficiencia Agilidad Innovación • Mejorar la productividad y reducir los costos requeridos para desarrollar y mantener aplicaciones. • Reducción de CAPEX. • Más enfoque de TI en el negocio. • Agilizar el aprovisionamiento de aplicaciones. • Soportar los picos en la demanda de las aplicaciones. • Respuesta rápida a nuevas necesidades del negocio. • Uso de nuevas tecnologías: dispositivos móviles, tabletas, análisis de datos (BI), big data, redes sociales, campañas de marketing online, etc. • Generar una cultura de emprendimiento.
  • 12. XXXIII Salón de Informática ACIS Consideraciones al Adquirir SaaS/Cloud
  • 13. XXXIII Salón de Informática ACIS ¿Por Qué Crear un SaaS? Permitir que cientos o millones de clientes usen el SaaS bajo un esquema de economías de escala.
  • 14. XXXIII Salón de Informática ACIS Agenda Introducción al Software como Servicio (SaaS) y Cloud Consideraciones de un Modelo de Negocio SaaS Consideraciones Técnicas Para Implementar un SaaS Desarrollo Técnico de una Solución SaaS Aprendizaje Continuo, Mediciones y Mejoras El Ciclo de Vida de una Compañía SaaS
  • 15. XXXIII Salón de Informática ACIS Encontrar un Problema Identificar un problema/oportunidad que pueda ser resuelto/aprovechada a través de un SaaS.
  • 16. XXXIII Salón de Informática ACIS Definir el Mercado Definir el tipo de cliente o empresa que va a pagar por el SaaS.
  • 17. XXXIII Salón de Informática ACIS Definir la Industria Definir la industria donde están los clientes o empresas que va a pagar por el SaaS.
  • 18. XXXIII Salón de Informática ACIS Identificar las Necesidades Específicas del Mercado Entrevistas Grupos de Trabajo Definir cuáles son los principales servicios o funcionalidades que debe ofrecer el SaaS.
  • 19. XXXIII Salón de Informática ACIS Refinar el Perfil Final del Cliente y del Producto Seleccionar las funcionalidades más comunes para una gran cantidad de clientes.
  • 20. XXXIII Salón de Informática ACIS Limitar El Desarrollo del Producto Esta es la estimación de una pequeña funcionalidad. Esta es la implementación de una pequeña funcionalidad. Evitar hacer cientos de funcionalidades “Pequeñas” (es un SaaS!!!).
  • 21. XXXIII Salón de Informática ACIS Definir los Paquetes Que Serán Ofrecidos
  • 22. XXXIII Salón de Informática ACIS Esquema Inicial de Suscripción • Freemium (Limitaciones). • Prueba por X días.
  • 23. XXXIII Salón de Informática ACIS Definir el Portal de Auto Servicio ¿Qué pasos debe hacer un nuevo cliente para registrarse y hacer la configuración inicial?
  • 24. XXXIII Salón de Informática ACIS Modelo de Negocio
  • 25. XXXIII Salón de Informática ACIS ¿Cómo se van a recibir los pagos? • Tarjeta de crédito (pagos mensuales / anuales). • A través de facturas (por consignación).
  • 26. XXXIII Salón de Informática ACIS Dispositivos de los Clientes Identificar los dispositivos desde donde se podrá acceder al SaaS y el orden de las implementaciones.
  • 27. XXXIII Salón de Informática ACIS Ubicación de los Clientes Identificar la ubicación geográfica de los clientes (rendimiento, legales, seguridad, etc.).
  • 28. XXXIII Salón de Informática ACIS ¿Cuántos Usuarios/Clientes Van a Acceder? Con base en el número de usuarios esperados se debe diseñar una solución que pueda escalar.
  • 29. XXXIII Salón de Informática ACIS ¿Qué Integraciones Serían Útiles Para los Usuarios? Es importante analizar si el SaaS debería integrarse con productos ya existentes (APIs, REST, etc.).
  • 30. XXXIII Salón de Informática ACIS Agenda Introducción al Software como Servicio (SaaS) y Cloud Consideraciones de un Modelo de Negocio SaaS Consideraciones Técnicas Para Implementar un SaaS Desarrollo Técnico de una Solución SaaS Aprendizaje Continuo, Mediciones y Mejoras El Ciclo de Vida de una Compañía SaaS
  • 31. XXXIII Salón de Informática ACIS El Esquema de Aprovisionamiento Tradicional Cliente C Cliente A Cliente B Cliente D Cada cliente paga por instalar, configurar, operar, escalar, administrar y monitorear su propia aplicación.
  • 32. XXXIII Salón de Informática ACIS El Esquema de Aprovisionamiento SaaS Cada cliente configura, usa y monitorea una aplicación compartida y paga de acuerdo a lo que requiere.
  • 33. XXXIII Salón de Informática ACIS Multi-Arrendamiento a Nivel de Aplicación Servidores Web/APIs Máquina Física o Virtual ¿Cómo se van a entregar los servidores de aplicaciones Web/APIs a diferentes clientes (tenants)?
  • 34. XXXIII Salón de Informática ACIS Multi-Arrendamiento a Nivel de DB ¿Cómo se van a almacenar los datos (DBs) de los diferentes clientes (tenants)?
  • 35. XXXIII Salón de Informática ACIS El Esquema Multi-Arrendamiento (Multi-tenancy) baja alta Eficiencia alta Flexibilidad baja ¿Cuánto cuesta entregar los servidores Web y de BD? ¿Cómo hago la administración de forma eficiente?
  • 36. XXXIII Salón de Informática ACIS Niveles de Personalización a Ofrecer • Diseño (logo, emails, etc.) • Variables globales • Nuevos campos • Niveles de acceso • Métodos de autenticación • Notificaciones • Workflows • Etc. Cada cliente ¿Qué va a poder personalizar?
  • 37. XXXIII Salón de Informática ACIS ¿A Dónde Se Va a Ejecutar el SaaS? Usar el Cloud: IaaS/PaaS Usar Un Centro de Datos Propio
  • 38. XXXIII Salón de Informática ACIS Consideraciones a Tener en Cuenta Usar Un Centro de Datos Propio Usar el Cloud: IaaS/PaaS
  • 39. XXXIII Salón de Informática ACIS Importante Temas Legales y de Seguridad Usar el Cloud: IaaS/PaaS Usar Un Centro de Datos Propio
  • 40. XXXIII Salón de Informática ACIS Nivel de Administración Requerido IaaS/PaaS Packaged Software Applications Applications Software Applications Applications Data Data Runtime Runtime Runtime Middleware Middleware Middleware Middleware O/S O/S O/S Virtualization Virtualization Servers Servers Storage Storage Networking Networking You manage You manage Runtime Data Managed by vendor Virtualization Servers Storage Networking O/S Virtualization Servers Managed by vendor (as a Service) (as a Service) Managed by vendor (as a Service) Data You manage Platform Infrastructure Storage Networking ¿Qué administra el proveedor de IaaS/PaaS? ¿Qué tengo que administrar para desplegar el SaaS?
  • 41. XXXIII Salón de Informática ACIS Proveedores de Infraestructura como Servicio (IaaS) Infrastructure You manage (as a Service) Applications Data Runtime Middleware O/S Servers Storage Networking Managed by vendor Virtualization Ofrecen mayores niveles de personalización. Las labores de administración son más complejas.
  • 42. XXXIII Salón de Informática ACIS Proveedores de Plataforma como Servicio (PaaS) You manage Platform (as a Service) Applications Data Runtime O/S Virtualization Servers Storage Managed by vendor Middleware Networking Ofrecen menores niveles de personalización. Las labores de administración son más simples.
  • 43. XXXIII Salón de Informática ACIS ¿Qué Servicios Necesita el SaaS Para Ejecutarse? • • • • • • • • Web/API Servers Workers/Colas Crons Databases Caching Blob Storage Monitoring Utilidades (SMS, Email, Logs, etc.)
  • 44. XXXIII Salón de Informática ACIS Definir el Lenguaje de Programación/Framework Es importante revisar como el lenguaje/framework a utilizar en el Back-End es soportado por el IaaS/PaaS.
  • 45. XXXIII Salón de Informática ACIS Definir el Motor de Bases de Datos A Utilizar SQL No-SQL Es importante revisar cómo el motor de base de datos SQL/No-SQL a utilizar es soportado por el IaaS/PaaS.
  • 46. XXXIII Salón de Informática ACIS Definir una Arquitectura Escalable Para la Aplicación • • • • • • • • Web/API Servers Workers/Colas Crons Databases Caching Blob Storage Monitoring Utilidades (SMS, Email, Logs, etc.)
  • 47. XXXIII Salón de Informática ACIS Escalabilidad de los Web/API Servers Los proveedores IaaS/PaaS cobran por hora de cómputo
  • 48. XXXIII Salón de Informática ACIS Escalabilidad de la Base de Datos - SQL Los proveedores IaaS/PaaS cobran por el tipo de base de datos a consumir
  • 49. XXXIII Salón de Informática ACIS Escalabilidad de la Base de Datos – No-SQL Los proveedores IaaS/PaaS o proveedores externos cobran por el tipo de base de datos a consumir.
  • 50. XXXIII Salón de Informática ACIS Escalabilidad del Contenido (Imágenes/Videos) Sistemas de Almacenamiento Externo Blob Storage Si los servidores Web aparecen y desaparecen, ¿Dónde se deben almacenar los archivos (imágenes, etc.)?
  • 51. XXXIII Salón de Informática ACIS Caching y Datos de Sesión Almacenamiento Llave/Valor en Memoria Sistema de Caching Si los servidores Web aparecen y desaparecen, ¿Dónde se deben almacenar los datos de sesión?
  • 52. XXXIII Salón de Informática ACIS Procesos en Background – Workers/Colas Los proveedores IaaS/PaaS cobran por hora de cómputo y por uso de las colas. Las solicitudes HTTP/JSON deben responderse en menos de 30/60 segundos, sino deben procesarse en background.
  • 53. XXXIII Salón de Informática ACIS Distribución del Contenido (CDNs) Es buena idea colocar el contenido (video, imágenes, archivos, etc.) cerca al origen de los usuarios.
  • 54. XXXIII Salón de Informática ACIS Integración con Servicios (SaaS) Internos/Externos del IaaS/PaaS de Apoyo Para La Solución SaaS • Email transaccional. • Logs. • Excepciones. • Análisis de uso a nivel del negocio. • Notificaciones PUSH. • Crons. • SSL. • Load Testing. • SMS. • Etc.
  • 55. XXXIII Salón de Informática ACIS Monitoreo de la Solución SaaS ¿Cómo monitorear la aplicación una vez ha sido desplegada? Ya hay herramientas externas de apoyo.
  • 56. XXXIII Salón de Informática ACIS Monitoreo de la Solución SaaS Monitoreo de los diferentes servicios internos del IaaS/PaaS y los servicios externos utilizados.
  • 57. XXXIII Salón de Informática ACIS Arquitectura de una Aplicación Web Escalable ¿Cuál es la disponibilidad de cada servicio?
  • 58. XXXIII Salón de Informática ACIS Es Importante Revisar la Disponibilidad de los Servicios
  • 59. XXXIII Salón de Informática ACIS ¿Cómo Mejorar La Disponibilidad de la Aplicación? Importante revisar las políticas de disponibilidad del proveedor IaaS/PaaS para ver si es posible hacer configuraciones que incrementar la disponibilidad.
  • 60. XXXIII Salón de Informática ACIS ¿Cuánto Cuestan Los Servicios Consumidos (PaaS/IaaS/SaaS) Mensual/Anualmente? Valor de los Servicios S • • • • • • • • Web/API Servers Workers/Colas Crons Databases Caching Blob Storage Monitoring Utilidades (SMS, Email, Logs, etc.)
  • 61. XXXIII Salón de Informática ACIS Ajustes a la Estructura de Costos/Paquetes
  • 62. XXXIII Salón de Informática ACIS Agenda Introducción al Software como Servicio (SaaS) y Cloud Consideraciones de un Modelo de Negocio SaaS Consideraciones Técnicas Para Implementar un SaaS Desarrollo Técnico de una Solución SaaS Aprendizaje Continuo, Mediciones y Mejoras El Ciclo de Vida de una Compañía SaaS
  • 63. XXXIII Salón de Informática ACIS Desarrollo Ágil – Despliegues Continuos Desarrollar el Producto (SaaS) de Forma Iterativa e Ir Probando Con Posibles Clientes
  • 64. XXXIII Salón de Informática ACIS Conocimientos del Equipo de Desarrollo • Desarrollo • Gestión • Operación Importante Que Todo El Equipo de Desarrollo Conozca los IaaS/PaaS Utilizados
  • 65. XXXIII Salón de Informática ACIS Configuración de los Entornos de Desarrollo Definir los Entornos Locales Para El Grupo de Desarrollo (Development/Testing)
  • 66. XXXIII Salón de Informática ACIS Configuración de los Entornos de Desarrollo • • • • • • • Web/API Servers Workers/Colas Crons Databases Caching Blob Storage ….. Configuración de los Diferentes Servicios en el Entorno Local
  • 67. XXXIII Salón de Informática ACIS Desarrollo Directamente en el Cloud Ya hay IDEs que están disponibles directamente en el cloud como servicio.
  • 68. XXXIII Salón de Informática ACIS Desarrollo de los Componentes de la Solución SaaS Diseño / Identidades Presentación (local, LDAP, SN) Funcionalidades Core Funcionalidades Opcionales Información (DBs) Paquetes de Servicios Monetización / Facturación Integraciones con el IaaS/PaaS Integraciones con Servicios Externos APIs y Apps Nativas Despliegue de las Aplicaciones Operación y Monitoreo
  • 69. XXXIII Salón de Informática ACIS Despliegue a Entornos en el Cloud Despliegue a los Ambientes Configurados (pre-staging, staging, production) en el IaaS/PaaS
  • 70. XXXIII Salón de Informática ACIS Despliegue a Entornos en el Cloud Los despliegues del SaaS sobre el IaaS/PaaS se hacen a través del IDE o CLI.
  • 71. XXXIII Salón de Informática ACIS Agenda Introducción al Software como Servicio (SaaS) y Cloud Consideraciones de un Modelo de Negocio SaaS Consideraciones Técnicas Para Implementar un SaaS Desarrollo Técnico de una Solución SaaS Aprendizaje Continuo, Mediciones y Mejoras El Ciclo de Vida de una Compañía SaaS
  • 72. XXXIII Salón de Informática ACIS Comenzar a Aprender de los Primeros Clientes
  • 73. XXXIII Salón de Informática ACIS Manejar Buenas Relaciones y El Soporte Con los Clientes: Una Prioridad Estar disponible cuando el cliente lo necesite. Crear una base de contenido y conocimientos.
  • 74. XXXIII Salón de Informática ACIS Desarrollar un Mínimo Producto Viable (MVP)
  • 75. XXXIII Salón de Informática ACIS Iterar Hasta Tener Un Producto Que Le Guste A Los Primeros Clientes Hacer los cambios y refinar el perfil del cliente que va a adquirir el SaaS (para escalar el negocio).
  • 76. XXXIII Salón de Informática ACIS Medir Cómo Los Primeros Clientes Usan El SaaS
  • 77. XXXIII Salón de Informática ACIS Enfocarse en Una Sola Métrica • Cuántos usuarios están iniciando sesión diariamente/semanalmente. • Cuantos usuarios están ejecutando la acción X. • Cuántos usuarios están ejecutando la acción X y luego la acción Y.
  • 78. XXXIII Salón de Informática ACIS Solo Agregar Las Funcionalidades Solicitadas por La Mayoría de Clientes Limitar las funcionalidades para que la solución sea Simple, Amigable, Útil y Escalable.
  • 79. XXXIII Salón de Informática ACIS Estrategias Para Atraer Más Clientes Es posible comenzar a pensar en estrategias para atraer más clientes y comenzar a probar el mercado.
  • 80. XXXIII Salón de Informática ACIS Estrategias de Marketing Para Dar a Conocer el SaaS • Self-service • Social (implícito, explícito) • Fuerza de ventas • Publicidad online (Google, FB, TW, LI, Ads Networks) • Publicidad offline • Partners de distribución • Red de afiliados ¿Cuánto cuesta que un cliente conozca el SaaS? ¿Cuánto cuesta que un cliente se registre?
  • 81. XXXIII Salón de Informática ACIS Medir el Uso del Producto
  • 82. XXXIII Salón de Informática ACIS Definir las Principales Métricas de Éxito/Fracaso
  • 83. XXXIII Salón de Informática ACIS Elaborar un Tablero con los Principales PKIs ¿Es viable que el modelo de negocio escale? ¿Cuántos usuarios nuevos hay? ¿Cuántos cancelaron la suscripción?
  • 84. XXXIII Salón de Informática ACIS Es Importante Medir el Churn Rate y el CLV Ejemplo para el mes de febrero: El Científico de datos Steven H de Shopify describe el churn rate como: # cancelaciones del período # de clientes al inicio del período El churn rate para febrero: 26 usuarios perdidos X 100 1035 usuarios pagaban al iniciar el periodo El 2.5% de los clientes se van cada mes. El cliente promedio permanece alrededor de 40 meses (100/2.5). ¿Es viable que el modelo de negocio escale? El Customer Lifetime Value (CLV) es: 40 meses x Ingreso Mensual Por usuario
  • 85. XXXIII Salón de Informática ACIS Cohort Analysis Es importante analizar el comportamiento de los usuarios con base en los cambios realizados (nuevas funcionalidades, cambio en precios, nuevos paquetes, etc.)
  • 86. XXXIII Salón de Informática ACIS Hacer los Cambios Necesarios Para Escalar
  • 87. XXXIII Salón de Informática ACIS Agenda Introducción al Software como Servicio (SaaS) y Cloud Consideraciones de un Modelo de Negocio SaaS Consideraciones Técnicas Para Implementar un SaaS Desarrollo Técnico de una Solución SaaS Aprendizaje Continuo, Mediciones y Mejoras El Ciclo de Vida de una Compañía SaaS
  • 88. XXXIII Salón de Informática ACIS El Ciclo de Vida de Una Compañía SaaS
  • 89. XXXIII Salón de Informática ACIS El Ciclo de Vida de Una Compañía SaaS
  • 90. XXXIII Salón de Informática ACIS En Conclusión Desarrollar Un SaaS Escalable Implica: • Nuevos modelos de negocio. • Uso de patrones de arquitecturas escalables. • Uso de soluciones cloud computing IaaS/PaaS. • Iteraciones continuas del producto. • Nuevas estrategias de comercialización (auto-servicio). • Análisis continuo de métricas para escalar el negocio. • Cambiar la mentalidad del cliente y mostrar los beneficios.
  • 91. XXXIII Salón de Informática ACIS GRACIAS POR SU ATENCIÓN Mario Villamizar – Harold Castro Universidad de los Andes {mj.villamizar24, hcastro}@uniandes.edu.co @mariocloud