• No se han encontrado resultados

Desarrollo de Soluciones Escalables de Software como Servicio (SaaS)

N/A
N/A
Protected

Academic year: 2021

Share "Desarrollo de Soluciones Escalables de Software como Servicio (SaaS)"

Copied!
90
0
0

Texto completo

(1)

Cámara de Comercio de Bogotá – Centro Empresarial Chapinero

S o f t w a r e c o m o S e r v i c i o ( S a a S )

M a r i o V i l l a m i z a r – H a r o l d C a s t r o U n i v e r s i d a d d e l o s A n d e s

{m j . v i l l a m i z a r 2 4, h c a s t r o } @ u n i a n d e s . e d u . c o

(2)

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)

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)

¿Qué es el Software como Servicio (SaaS)?

Un Nueva Manera de Adquirir Aplicaciones Bajo un

Modelo de Suscripción

(5)

Cambio de Mentalidad

Los usuarios/clientes pagan una suscripción anual

por el uso del servicio (no por la licencia)

(6)

Ejemplo de Soluciones SaaS – Sales Cloud

Se paga con base en el número de usuarios y las

funcionalidades requeridas.

(7)

Ejemplo de Soluciones SaaS – Survey Monkey

Se paga con base en el número de transacciones,

acciones, cantidad de datos, etc.

(8)

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)

Principales Beneficios Para los Usuarios/Clientes

La mayor parte del presupuesto de TI se gasta mantener la operación y no se invierte en el negocio.

(10)

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

(11)

Consideraciones al Adquirir SaaS/Cloud

(12)

¿Por Qué Crear un SaaS?

Permitir que cientos o millones de clientes usen el

SaaS bajo un esquema de economías de escala.

(13)

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

(14)

Encontrar un Problema

Identificar un problema/oportunidad que pueda ser

resuelto/aprovechada a través de un SaaS.

(15)

Definir el Mercado

Definir el tipo de cliente o empresa que va a pagar

por el SaaS.

(16)

Definir la Industria

Definir la industria donde están los clientes o

empresas que va a pagar por el SaaS.

(17)

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

(18)

Refinar el Perfil Final del Cliente y del Producto

Seleccionar las funcionalidades más comunes

para una gran cantidad de clientes.

(19)

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.

(20)

Definir los Paquetes Que Serán Ofrecidos

(21)

Esquema Inicial de Suscripción

Freemium (Limitaciones).

Prueba por X días.

(22)

Definir el Portal de Auto Servicio

¿Qué pasos debe hacer un nuevo cliente para

registrarse y hacer la configuración inicial?

(23)

Modelo de Negocio

(24)

¿Cómo se van a recibir los pagos?

Tarjeta de crédito (pagos mensuales / anuales).

A través de facturas (por consignación).

(25)

Dispositivos de los Clientes

Identificar los dispositivos desde donde se podrá

acceder al SaaS y el orden de las implementaciones.

(26)

Ubicación de los Clientes

Identificar la ubicación geográfica de los clientes

(rendimiento, legales, seguridad, etc.).

(27)

¿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.

(28)

Usuarios?

Es importante analizar si el SaaS debería integrarse

con productos ya existentes (APIs, REST, etc.).

(29)

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

(30)

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

(31)

El Esquema de Aprovisionamiento SaaS

Cada cliente configura, usa y monitorea una aplicación compartida y paga de acuerdo a lo que requiere.

(32)

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

(33)

Multi-Arrendamiento a Nivel de DB

¿Cómo se van a almacenar los datos (DBs) de los diferentes clientes (tenants)?

(34)

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

(35)

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.

(36)

¿A Dónde Se Va a Ejecutar el SaaS?

Usar Un Centro de Datos Propio

Usar el Cloud:

IaaS/PaaS

(37)

Consideraciones a Tener en Cuenta

Usar Un Centro de Datos Propio

Usar el Cloud:

IaaS/PaaS

(38)

Importante Temas Legales y de Seguridad

Usar Un Centro de Datos Propio

Usar el Cloud:

IaaS/PaaS

(39)

Nivel de Administración Requerido IaaS/PaaS

Packaged Software

Storage Storage Servers Servers

Networking Networking

O/S O/S Middleware Middleware

Virtualization Virtualization

Data Data Applications Applications

Runtime Runtime

You manage

Infrastructure

(as a Service)

Storage Storage Servers Servers

Networking Networking

O/S O/S Middleware Middleware

Virtualization Virtualization

Data Data Applications Applications

Runtime Runtime

You manage Managed by vendor

Platform

(as a Service)

You manage

Storage Storage Servers Servers

Networking Networking

O/S O/S Middleware Middleware

Virtualization Virtualization Applications Applications

Runtime Runtime

Data Data

Managed by vendor

Software

(as a Service)

Storage Storage Servers Servers

Networking Networking

O/S O/S Middleware Middleware

Virtualization Virtualization Applications Applications

Runtime Runtime

Data Data

Managed by vendor

¿Qué administra el proveedor de IaaS/PaaS?

¿Qué tengo que administrar para desplegar el SaaS?

(40)

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 Storage Servers Servers

Networking Networking

O/S O/S Middleware Middleware

Virtualization Virtualization

Data Data Applications Applications

Runtime Runtime

You manage Managed by vendor

(41)

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)

You manage

Storage Storage Servers Servers

Networking Networking

O/S O/S Middleware Middleware

Virtualization Virtualization Applications Applications

Runtime Runtime

Data Data

Managed by vendor

(42)

¿Qué Servicios Necesita el SaaS Para Ejecutarse?

• Web/API Servers

• Workers/Colas

• Crons

• Databases

• Caching

• Blob Storage

• Monitoring

• Utilidades (SMS,

Email, Logs, etc.)

(43)

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.

(44)

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

(45)

Definir una Arquitectura Escalable Para la Aplicación

• Web/API Servers

• Workers/Colas

• Crons

• Databases

• Caching

• Blob Storage

• Monitoring

• Utilidades (SMS,

Email, Logs, etc.)

(46)

Escalabilidad de los Web/API Servers

Los proveedores IaaS/PaaS cobran

por hora de cómputo

(47)

Escalabilidad de la Base de Datos - SQL

Los proveedores IaaS/PaaS cobran

por el tipo de base de datos a

consumir

(48)

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.

(49)

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

(50)

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

(51)

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.

(52)

Distribución del Contenido (CDNs)

Es buena idea colocar el contenido (video, imágenes, archivos, etc.) cerca al origen de los usuarios.

(53)

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.

(54)

Monitoreo de la Solución SaaS

¿Cómo monitorear la aplicación una vez ha sido desplegada? Ya hay herramientas externas de apoyo.

(55)

Monitoreo de la Solución SaaS

Monitoreo de los diferentes servicios internos del IaaS/PaaS y los servicios externos utilizados.

(56)

Arquitectura de una Aplicación Web Escalable

¿Cuál es la disponibilidad de

cada servicio?

(57)

Es Importante Revisar la Disponibilidad de los Servicios

(58)

¿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.

(59)

¿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.)

Valor de los S

Servicios

(60)

Ajustes a la Estructura de Costos/Paquetes

(61)

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

(62)

Desarrollo Ágil – Despliegues Continuos

Desarrollar el Producto (SaaS) de Forma Iterativa e

Ir Probando Con Posibles Clientes

(63)

Conocimientos del Equipo de Desarrollo

Importante Que Todo El Equipo de Desarrollo Conozca los IaaS/PaaS Utilizados

• Desarrollo

• Gestión

• Operación

(64)

Configuración de los Entornos de Desarrollo

Definir los Entornos Locales Para El Grupo de

Desarrollo (Development/Testing)

(65)

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

• …..

(66)

Desarrollo Directamente en el Cloud

Ya hay IDEs que están disponibles directamente en

el cloud como servicio.

(67)

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

(68)

Despliegue a Entornos en el Cloud

Despliegue a los Ambientes Configurados

(pre-staging, staging, production) en el IaaS/PaaS

(69)

Despliegue a Entornos en el Cloud

Los despliegues del SaaS sobre el IaaS/PaaS se

hacen a través del IDE o CLI.

(70)

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

(71)

Comenzar a Aprender de los Primeros Clientes

(72)

los Clientes: Una Prioridad

Estar disponible cuando el cliente lo necesite.

Crear una base de contenido y conocimientos.

(73)

Desarrollar un Mínimo Producto Viable (MVP)

(74)

Los Primeros Clientes

Hacer los cambios y refinar el perfil del cliente que

va a adquirir el SaaS (para escalar el negocio).

(75)

Medir Cómo Los Primeros Clientes Usan El

SaaS

(76)

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.

(77)

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.

(78)

Estrategias Para Atraer Más Clientes

Es posible comenzar a pensar en estrategias para atraer más clientes y comenzar a probar el mercado.

(79)

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

(80)

Medir el Uso del Producto

(81)

Definir las Principales Métricas de

Éxito/Fracaso

(82)

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?

(83)

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 X100

(84)

Cohort Analysis

Es importante analizar el comportamiento de los usuarios con base en los cambios realizados (nuevas

funcionalidades, cambio en precios, nuevos paquetes, etc.)

(85)

Hacer los Cambios Necesarios Para Escalar

(86)

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

(87)

El Ciclo de Vida de Una Compañía SaaS

(88)

El Ciclo de Vida de Una Compañía SaaS

(89)

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.

(90)

GRACIAS POR SU ATENCIÓN

M a r i o V i l l a m i z a r – H a r o l d C a s t r o U n i v e r s i d a d d e l o s A n d e s

{m j . v i l l a m i z a r 2 4, h c a s t r o } @ u n i a n d e s . e d u . c o

@ m a r i o c l o u d

Referencias

Documento similar

Cezanne "On Demand" es una solución que se suministra a través del modelo Software-as-a-Service (SaaS), lo que implica que el software es alojado por Cezanne, quien

Para lograr esto, cloud está organizada en una arquitectura de capas llamada Modelo de Servicio, donde el SaaS (Software as a Service) se encuentra en el tope del stack, es el

 El modelo de negocio denominado proveedor de software como servicio es el más indicado para las pymes ecuatorianas de la industria del software que tengan

Otra razón para comprar Dell: Más que sistemas, Dell le ofrece la solución completa con servicios para su negocio. Recuerde, nuestro servicio técnico es directo a su empresa

Luego de determinar las características técnicas mínimas y las métricas aplicables, se procedió al análisis comparativo técnico, para lo cual se aplicó el Modelo de Calidad

Untitled AN?LISIS Y DESARROLLO DE UNA APLICACI?N WEB PARA LA GESTI?N DE PROTOCOLOS DE PRUEBAS PARA TRANSFORMADORES SERIE 15K IMPLEMENTANDO EL MODELO SE SERVICIO SaaS DE LA PLATAFORMA

I dentificar las condiciones, los actores, y las estrategias involucradas que permiten implementar el uso de Software Libre como un modelo de negocio relacionado a los sistemas

Microsoft Word MODELO DE NEGOCIO PARA EL DESARROLLO DE UN SERVICIO AUTOMOTRIZ MÓVIL 0 0 UNIVERSIDAD ANDRÉS BELLO FACULTAD DE INGENIERÍA INGENIERÍA CIVIL INDUSTRIAL “MODELO DE NEGOCIO