Prototipo de Proveedor de SaaS para Pymes

38

description

Implementación de un prototipo de Proveedor de SaaS par Pymes. Proyecto presentado en el marco del encuentro de Tecnologías de la Información de Ecuador TICs EC 2013.

Transcript of Prototipo de Proveedor de SaaS para Pymes

Page 1: Prototipo de Proveedor de SaaS para Pymes
Page 2: Prototipo de Proveedor de SaaS para Pymes

PROTOTIPO DE SOFTWARE COMO SERVICIO (SAAS) PARA PEQUEÑAS Y MEDIANAS EMPRESAS

Daniel Núñ[email protected]

Quito - 2013

Page 3: Prototipo de Proveedor de SaaS para Pymes

Investigación

Page 4: Prototipo de Proveedor de SaaS para Pymes

Investigación

Cloud Computing

Abstracción + Virtualización

Page 5: Prototipo de Proveedor de SaaS para Pymes

Servicios de Cloud Computing

Definidos de acuerdo al grado de visión y control al que el usuario tiene acceso.

Investigación

Page 6: Prototipo de Proveedor de SaaS para Pymes

Infraestructura como Servicio

El proveedor administra la red, el almacenamiento, los servidores y la virtualización. El usuario hace uso de este servicio desde una interfaz web, pero no puede acceder a la infraestructura que lo hospeda.

Servicios de Cloud Computing

Investigación

Page 7: Prototipo de Proveedor de SaaS para Pymes

Plataforma como Servicio

El proveedor también administra el sistema operativo, middleware y runtime. Además ofrece todo lo necesario para soportar el ciclo de desarrollo y puesta en marcha de aplicaciones y servicios web.

Servicios de Cloud Computing

Investigación

Page 8: Prototipo de Proveedor de SaaS para Pymes

Software como Servicio

El proveedor administra todas las instancias para el despliegue de las aplicaciones. El cliente no tiene acceso a la infraestructura. Acceder a la aplicación por medio de una interfaz diseñada para esta tarea.

Servicios de Cloud Computing

Investigación

Page 9: Prototipo de Proveedor de SaaS para Pymes

Modelos de Infraestructura

Se pueden desplegar de acuerdo al objetivo de la nube y la naturaleza en que la nube se encuentra físicamente

Investigación

Page 10: Prototipo de Proveedor de SaaS para Pymes

Nube PúblicaDirectamente accesible desde Internet. Los proveedores suelen proporcionar un mecanismo de control de acceso para que sus datos no sean públicamente visibles.

Modelos de Infraestructura

Investigación

Page 11: Prototipo de Proveedor de SaaS para Pymes

Nube PrivadaEl dueño de la infraestructura cloud es quien la mantiene, maneja y administra, para ofrecer servicios a sus usuarios.

Modelos de Infraestructura

Investigación

Page 12: Prototipo de Proveedor de SaaS para Pymes

Nube HibridaEs una combinación de uno o más tipos de clouds (privada y pública) que interactúan armónicamente para ofrecer servicios a usuarios privados.

Modelos de Infraestructura

Investigación

Page 13: Prototipo de Proveedor de SaaS para Pymes

Desarrollo

Page 14: Prototipo de Proveedor de SaaS para Pymes

Desarrollo

OpenStack

MisiónProducir una plataforma de Cloud Computing Open Source, ubicua, que se adapte a las necesidades de las nubes públicas y privadas, independientemente de su tamaño, que sea fácil de implementar y masivamente escalable.

Es un software Open Source usado para la construcción de clouds públicas y privadas.

Page 15: Prototipo de Proveedor de SaaS para Pymes

Desarrollo

OpenStack es una colección de proyectos de software libre diseñados para trabajar en conjunto a través de las API públicas que cada servicio ofrece.

OpenStack

Page 16: Prototipo de Proveedor de SaaS para Pymes

Desarrollo

OpenStack

Componentes

Novacómputo

Swift y Cinderalmacenamiento

Neutronred

Keystoneautenticación

Glanceimágenes

Horizondashboard

Page 17: Prototipo de Proveedor de SaaS para Pymes

Desarrollo

Instalación y configuración de la infraestructura

Page 18: Prototipo de Proveedor de SaaS para Pymes

Desarrollo

Flavor

Instalación y Configuración

Se denomina a la configuración de hardware de una máquina virtual. Cada flavor tiene una única combinación de espacio de disco y capacidad de memoria.

Page 19: Prototipo de Proveedor de SaaS para Pymes

Desarrollo

Grupos de seguridad

Instalación y Configuración

Un grupo de seguridad y sus reglas dan al administrador la capacidad de especificar el tipo de tráfico que tiene permitido recibir una máquina virtual.

Page 20: Prototipo de Proveedor de SaaS para Pymes

Desarrollo

Llaves públicas y privadas

Instalación y Configuración

Un par de llaves (pública y privada) proporcionan una autenticación segura a las máquinas virtuales.

Page 21: Prototipo de Proveedor de SaaS para Pymes

Desarrollo

Tenant

Instalación y Configuración

Se denomina al nivel más alto de agrupación de recursos en una nube OpenStack. En un tenant se pueden definir cuotas de control de los recursos.

Page 22: Prototipo de Proveedor de SaaS para Pymes

Desarrollo

Red

Instalación y Configuración

Es un dominio de broadcast virtual, la cual está reservada para un tenant.

SubredRepresenta un bloque de direcciones IP que se pueden utilizar para su asignación a las máquinas virtuales.

$ quantum subnet-list +--------------------------------------+------------+------------------+--------------------------------------------------------+ | id | name | cidr | allocation_pools | +--------------------------------------+------------+------------------+--------------------------------------------------------+ | 07b4fb1f-1b3e-45dc-99a7-41e7015bfd3e | 10-subnet | 10.10.10.0/24 | {"start": "10.10.10.2", "end": "10.10.10.254"} | | 6f8287c0-3905-407f-bf30-d3dfac61c618 | 221-subnet | 192.168.221.0/24 | {"start": "192.168.221.100", "end": "192.168.221.250"} | +--------------------------------------+------------+------------------+--------------------------------------------------------+

Page 23: Prototipo de Proveedor de SaaS para Pymes

Desarrollo

Puerto

Instalación y Configuración

Se denomina a la interfaz de un switch virtual donde las máquinas virtuales se conectan a una determinada red.

RouterEs un dispositivo que conecta el tráfico de una subred a una red externa. Cada router puede tener un gateway asignado a un puerto de una red externa y múltiples interfaces en una red interna.

Page 24: Prototipo de Proveedor de SaaS para Pymes

Desarrollo

Instalación y Configuración

$ nova list +--------------------------------------+-----------+-----------+------------------+ | ID | Name | Status | Networks | +--------------------------------------+-----------+-----------+------------------+ | 19173eac-e455-4b27-a30f-badd13df9985 | prueba | ACTIVE | net1=10.10.10.14 | +--------------------------------------+-----------+-----------+------------------+ $ quantum port-list | grep 10.10.10.14 | 5a4d2202-0051-412f-aac7-195b47b4f1fa | | fa:16:3e:f9:7a:42 | {"subnet_id": "07b4fb1f-1b3e-45dc-99a7-41e7015bfd3e", "ip_address": "10.10.10.14"} | $ quantum port-show 5a4d2202-0051-412f-aac7-195b47b4f1fa +----------------+------------------------------------------------------------------------------------+ | Field | Value | +----------------+------------------------------------------------------------------------------------+ | admin_state_up | True | | device_id | 19173eac-e455-4b27-a30f-badd13df9985 | | device_owner | compute:nova | | fixed_ips | {"subnet_id": "07b4fb1f-1b3e-45dc-99a7-41e7015bfd3e", "ip_address": "10.10.10.14"} | | id | 5a4d2202-0051-412f-aac7-195b47b4f1fa | | mac_address | fa:16:3e:f9:7a:42 | | name | | | network_id | f4a19a17-de1f-4f0b-854d-3594e05c64bd | | status | ACTIVE | | Tenant_id | 621c3f810e494b3d918e52c9a0614070 | +----------------+------------------------------------------------------------------------------------+ $ SSH [email protected] Welcome to Ubuntu 12.04.2 LTS (GNU/Linux 3.2.0-38-virtual x86_64) . . . ubuntu@prueba:~$ ifconfig eth0 eth0 Link encap:Ethernet HWaddr fa:16:3e:f9:7a:42 inet addr:10.10.10.14 Bcast:10.10.10.255 Mask:255.255.255.0 inet6 addr: fe80::f816:3eff:fef9:7a42/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1151 errors:0 dropped:0 overruns:0 frame:0 TX packets:1043 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:190605 (190.6 KB) TX bytes:170570 (170.5 KB)

Page 25: Prototipo de Proveedor de SaaS para Pymes

Desarrollo

Instalación y Configuración

$ quantum router-list +--------------------------------------+---------+--------------------------------------------------------+ | id | name | external_gateway_info | +--------------------------------------+---------+--------------------------------------------------------+ | 7910055e-94e6-4fb7-9372-d9e768c1563b | router1 | {"network_id": "e3edb8c5-d61c-448d-88df-382d59053317"} | +--------------------------------------+---------+--------------------------------------------------------+ $ quantum net-list | grep e3edb8c5-d61c-448d-88df-382d59053317 | e3edb8c5-d61c-448d-88df-382d59053317 | public | 6f8287c0-3905-407f-bf30-d3dfac61c618 | $ quantum router-show router1 +-----------------------+--------------------------------------------------------+ | Field | Value | +-----------------------+--------------------------------------------------------+ | admin_state_up | True | | external_gateway_info | {"network_id": "e3edb8c5-d61c-448d-88df-382d59053317"} | | id | 7910055e-94e6-4fb7-9372-d9e768c1563b | | name | router1 | | status | ACTIVE | | Tenant_id | 621c3f810e494b3d918e52c9a0614070 | +-----------------------+--------------------------------------------------------+ $ ip netns exec qrouter-7910055e-94e6-4fb7-9372-d9e768c1563b ip addr list 8: qr-6ebc1df6-95: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN link/ether fa:16:3e:81:33:30 brd ff:ff:ff:ff:ff:ff inet 10.10.10.1/24 brd 10.10.10.255 scope global qr-6ebc1df6-95 inet6 fe80::f816:3eff:fe81:3330/64 scope link valid_lft forever preferred_lft forever 11: qg-1e45d281-65: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN link/ether fa:16:3e:15:44:50 brd ff:ff:ff:ff:ff:ff inet 192.168.221.101/24 brd 192.168.221.255 scope global qg-1e45d281-65 inet 192.168.221.148/32 brd 192.168.221.148 scope global qg-1e45d281-65 inet6 fe80::f816:3eff:fe15:4450/64 scope link valid_lft forever preferred_lft forever $ ovs-vsctl list-br br-ex br-int br-tun $ ovs-vsctl list-ifaces br-int qr-6ebc1df6-95 $ ovs-vsctl list-ifaces br-ex eth2 qg-1e45d281-65

Page 26: Prototipo de Proveedor de SaaS para Pymes

Desarrollo

Instalación y Configuración

Instalación de los servicios

iRedMail

SugarCRM

Ubuntu server 12.04

OpenMeetings

Ubuntu server 12.04

mailcrm op

Page 27: Prototipo de Proveedor de SaaS para Pymes

Desarrollo

Scripts de AutomatizaciónSe empleó el lenguaje de programación Python y funcionalidades propias del Shell de Linux.

Page 28: Prototipo de Proveedor de SaaS para Pymes

Desarrollo

Scripts de Automatización

Nueva máquina virtualimagenflavor

newserver.pymillave

net1secgroup

nova boot …

puerto de la nueva

MV

quantum floatingip create…

IP pública de la nueva MV

id red public

Page 29: Prototipo de Proveedor de SaaS para Pymes

Desarrollo

Scripts de Automatización

Estado de la máquina virtual

get_dbservidor.py

id de la MV“ip” o “estado”

2da var

ip

nova list…

estado

activo

“active”“suspended”

pausa

quantum floatingip …

Page 30: Prototipo de Proveedor de SaaS para Pymes

Desarrollo

Scripts de Automatización

Redimensionamientoid de MV

flavor

nova resize….

verify_resize.pynova list… | grep estado

Lista vacia? estado=VERI

FY_RESIZE

nova resize confirm

out.log += MV resize ok

cron 1 minsi no

sino

Page 31: Prototipo de Proveedor de SaaS para Pymes

Desarrollo

Scripts de Automatización

Eliminar máquina virtual

id de la MV

delete_server.pynova delete …

out.log += MV eliminada ok

Page 32: Prototipo de Proveedor de SaaS para Pymes

Implementación

Page 33: Prototipo de Proveedor de SaaS para Pymes

Página Web

El framework Django usa la arquitectura de desarrollo web “MPV” (Modelo, Plantilla, Vista). El Modelo se encarga del manejo de los datos, la Plantilla sirve para la presentación de la información y la Vista se encarga de la funcionalidad de la aplicación web.

Implementación

Page 34: Prototipo de Proveedor de SaaS para Pymes

Implementación

Funcionamiento de Django

Página Web

Page 35: Prototipo de Proveedor de SaaS para Pymes

Implementación

Servicios

Página Web

Panel de Control Facturación

Login

Page 36: Prototipo de Proveedor de SaaS para Pymes

Conclusiones

Page 37: Prototipo de Proveedor de SaaS para Pymes

Conclusiones

Nube privada

• Gran agilidad en despliegue de servicios• Fuerte inversión inicial• Curva de aprendizaje• Requiere mucha experimentación y adaptación

OpenStack

• Gran escalabilidad• Posible usar hardware genérico (prestaciones modestas)• Evita “Vendor Lock-in”

Cloud Computing

• Optimización de IaaS manipulando el código de apps SaaS• Compartición de recursos según la necesidad del proveedor sin afectar

servicio del cliente• Servicios SaaS son ideales para PYMEs

Page 38: Prototipo de Proveedor de SaaS para Pymes

Gracias por su atención

Daniel Núñez E.

[email protected]

+593-981979485

@daomarn