Post on 24-Jun-2015
description
Cámara de Comercio de Bogotá – Centro Empresarial Chapinero
Desarrol lo de Soluciones Escalables de Software como Servicio (SaaS)
Mario Vi l lamizar – Harold Castro
Universidad de los Andes {mj .v i l lamizar24 , hcastro}@uniandes.edu.co
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
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
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
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)
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.
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.
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.
XXXIII Salón de Informática ACIS
Cientos de Soluciones Bajo el Modelo SaaS
www.tiendacloud.co
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.
XXXIII Salón de Informática ACIS
Principales Beneficios Para los Usuarios/Clientes
• 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.
Eficiencia
• Agilizar el aprovisionamiento de aplicaciones.
• Soportar los picos en la demanda de las aplicaciones.
• Respuesta rápida a nuevas necesidades del negocio. Agilidad
• 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. Innovación
XXXIII Salón de Informática ACIS
Consideraciones al Adquirir SaaS/Cloud
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.
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
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.
XXXIII Salón de Informática ACIS
Definir el Mercado
Definir el tipo de cliente o empresa que va a pagar por el SaaS.
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.
XXXIII Salón de Informática ACIS
Identificar las Necesidades Específicas del Mercado
Definir cuáles son los principales servicios o funcionalidades que debe ofrecer el SaaS.
Entrevistas Grupos de Trabajo
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.
XXXIII Salón de Informática ACIS
Limitar El Desarrollo del Producto
Evitar hacer cientos de funcionalidades “Pequeñas” (es un SaaS!!!).
Esta es la estimación de una pequeña
funcionalidad.
Esta es la implementación de
una pequeña funcionalidad.
XXXIII Salón de Informática ACIS
Definir los Paquetes Que Serán Ofrecidos
XXXIII Salón de Informática ACIS
Esquema Inicial de Suscripción
• Freemium (Limitaciones).
• Prueba por X días.
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?
XXXIII Salón de Informática ACIS
Modelo de Negocio
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).
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.
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.).
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.
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.).
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
XXXIII Salón de Informática ACIS
El Esquema de Aprovisionamiento Tradicional
Cada cliente paga por instalar, configurar, operar, escalar, administrar y monitorear su propia aplicación.
Cliente A
Cliente B
Cliente C
Cliente D
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.
XXXIII Salón de Informática ACIS
Multi-Arrendamiento a Nivel de Aplicación
¿Cómo se van a entregar los servidores de aplicaciones Web/APIs a diferentes clientes (tenants)?
Servidores Web/APIs
Máquina Física o Virtual
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)?
XXXIII Salón de Informática ACIS
El Esquema Multi-Arrendamiento (Multi-tenancy)
¿Cuánto cuesta entregar los servidores Web y de BD?
¿Cómo hago la administración de forma eficiente?
Eficiencia
Flexibilidad
alta
baja
baja
alta
XXXIII Salón de Informática ACIS
Niveles de Personalización a Ofrecer
Cada cliente ¿Qué va a poder personalizar?
• Diseño (logo, emails, etc.)
• Variables globales
• Nuevos campos
• Niveles de acceso
• Métodos de autenticación
• Notificaciones
• Workflows
• Etc.
XXXIII Salón de Informática ACIS
¿A Dónde Se Va a Ejecutar el SaaS?
Usar Un Centro de Datos Propio
Usar el Cloud: IaaS/PaaS
XXXIII Salón de Informática ACIS
Consideraciones a Tener en Cuenta
Usar Un Centro de Datos Propio
Usar el Cloud: IaaS/PaaS
XXXIII Salón de Informática ACIS
Importante Temas Legales y de Seguridad
Usar Un Centro de Datos Propio
Usar el Cloud: IaaS/PaaS
XXXIII Salón de Informática ACIS
Nivel de Administración Requerido IaaS/PaaS
Packaged
Software
Storage
Servers
Networking
O/S
Middleware
Virtualization
Data
Applications
Runtime
Yo
u m
an
ag
e
Infrastructure (as a Service)
Storage
Servers
Networking
O/S
Middleware
Virtualization
Data
Applications
Runtime
Yo
u m
an
ag
e
Man
ag
ed
by v
en
do
r
Platform (as a Service)
Yo
u m
an
ag
e
Storage
Servers
Networking
O/S
Middleware
Virtualization
Applications
Runtime
Data
Man
ag
ed
by v
en
do
r
Software (as a Service)
Storage
Servers
Networking
O/S
Middleware
Virtualization
Applications
Runtime
Data
Man
ag
ed
by v
en
do
r
¿Qué administra el proveedor de IaaS/PaaS?
¿Qué tengo que administrar para desplegar el SaaS?
XXXIII Salón de Informática ACIS
Proveedores de Infraestructura como Servicio (IaaS)
Ofrecen mayores niveles de personalización.
Las labores de administración son más complejas.
Infrastructure (as a Service)
Storage
Servers
Networking
O/S
Middleware
Virtualization
Data
Applications
Runtime
Yo
u m
an
ag
e
Man
ag
ed
by v
en
do
r
XXXIII Salón de Informática ACIS
Ofrecen menores niveles de personalización.
Las labores de administración son más simples.
Proveedores de Plataforma como Servicio (PaaS)
Platform (as a Service)
Yo
u m
an
ag
e
Storage
Servers
Networking
O/S
Middleware
Virtualization
Applications
Runtime
Data
Man
ag
ed
by v
en
do
r
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.)
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.
XXXIII Salón de Informática ACIS
Definir el Motor de Bases de Datos A Utilizar
Es importante revisar cómo el motor de base de datos SQL/No-SQL a utilizar es soportado por el IaaS/PaaS.
SQL
No-SQL
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.)
XXXIII Salón de Informática ACIS
Escalabilidad de los Web/API Servers
Los proveedores IaaS/PaaS cobran
por hora de cómputo
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
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.
XXXIII Salón de Informática ACIS
Escalabilidad del Contenido (Imágenes/Videos)
Si los servidores Web aparecen y desaparecen, ¿Dónde se deben almacenar los archivos (imágenes, etc.)?
Sistemas de Almacenamiento
Externo Blob Storage
XXXIII Salón de Informática ACIS
Caching y Datos de Sesión
Si los servidores Web aparecen y desaparecen, ¿Dónde se deben almacenar los datos de sesión?
Almacenamiento Llave/Valor en
Memoria Sistema de Caching
XXXIII Salón de Informática ACIS
Procesos en Background – Workers/Colas
Las solicitudes HTTP/JSON deben responderse en menos de 30/60 segundos, sino deben procesarse en background.
Los proveedores IaaS/PaaS cobran por hora de cómputo y por uso de
las colas.
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.
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.
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.
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.
XXXIII Salón de Informática ACIS
Arquitectura de una Aplicación Web Escalable
¿Cuál es la disponibilidad de
cada servicio?
XXXIII Salón de Informática ACIS
Es Importante Revisar la Disponibilidad de los Servicios
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.
XXXIII Salón de Informática ACIS
¿Cuánto Cuestan Los Servicios Consumidos (PaaS/IaaS/SaaS) Mensual/Anualmente?
• Web/API Servers
• Workers/Colas
• Crons
• Databases
• Caching
• Blob Storage
• Monitoring
• Utilidades (SMS, Email, Logs, etc.)
S Valor de los
Servicios
XXXIII Salón de Informática ACIS
Ajustes a la Estructura de Costos/Paquetes
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
XXXIII Salón de Informática ACIS
Desarrollo Ágil – Despliegues Continuos
Desarrollar el Producto (SaaS) de Forma Iterativa e Ir Probando Con Posibles Clientes
XXXIII Salón de Informática ACIS
Conocimientos del Equipo de Desarrollo
Importante Que Todo El Equipo de Desarrollo Conozca los IaaS/PaaS Utilizados
• Desarrollo
• Gestión
• Operación
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)
XXXIII Salón de Informática ACIS
Configuración de los Entornos de Desarrollo
Configuración de los Diferentes Servicios en el Entorno Local
• Web/API Servers
• Workers/Colas
• Crons
• Databases
• Caching
• Blob Storage
• …..
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.
XXXIII Salón de Informática ACIS
Desarrollo de los Componentes de la Solución SaaS
Diseño /
Presentación
Identidades
(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
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
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.
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
XXXIII Salón de Informática ACIS
Comenzar a Aprender de los Primeros Clientes
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.
XXXIII Salón de Informática ACIS
Desarrollar un Mínimo Producto Viable (MVP)
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).
XXXIII Salón de Informática ACIS
Medir Cómo Los Primeros Clientes Usan El SaaS
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.
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.
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.
XXXIII Salón de Informática ACIS
Estrategias de Marketing Para Dar a Conocer el SaaS
¿Cuánto cuesta que un cliente conozca el SaaS?
¿Cuánto cuesta que un cliente se registre?
• 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
XXXIII Salón de Informática ACIS
Medir el Uso del Producto
XXXIII Salón de Informática ACIS
Definir las Principales Métricas de Éxito/Fracaso
XXXIII Salón de Informática ACIS
Elaborar un Tablero con los Principales PKIs
¿Cuántos usuarios nuevos hay?
¿Cuántos cancelaron la suscripción?
¿Es viable que el modelo de
negocio escale?
XXXIII Salón de Informática ACIS
Es Importante Medir el Churn Rate y el CLV
¿Es viable que el modelo de negocio
escale?
Ejemplo para el mes de febrero:
El Científico de datos Steven H de Shopify describe el churn rate como:
El churn rate para febrero:
El 2.5% de los clientes se van cada mes. El cliente promedio permanece alrededor de 40 meses (100/2.5).
El Customer Lifetime Value (CLV) es:
40 meses x Ingreso Mensual Por usuario
# cancelaciones del período # de clientes al inicio del período
26 usuarios perdidos 1035 usuarios pagaban al iniciar el periodo
X 100
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.)
XXXIII Salón de Informática ACIS
Hacer los Cambios Necesarios Para Escalar
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
XXXIII Salón de Informática ACIS
El Ciclo de Vida de Una Compañía SaaS
XXXIII Salón de Informática ACIS
El Ciclo de Vida de Una Compañía SaaS
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.
XXXIII Salón de Informática ACIS
GRACIAS POR SU ATENCIÓN
Mario Vi l lamizar – Harold Castro Universidad de los Andes
{mj .v i l lamizar24 , hcastro}@uniandes.edu.co @marioc loud