PROTOTIPO DE SOFTWARE COMO SERVICIO (SAAS)
PARA PEQUEÑAS Y MEDIANAS EMPRESAS
Daniel Núñez
daniel.nunez@mindsovernet.com
David Mejía
david.mejia@epn.edu.ec
Quito - 2013
Investigación
Investigación
Cloud Computing
Servicios de Cloud Computing
Investigación
Infraestructura como Servicio
Servicios de Cloud Computing
Investigación
Plataforma como Servicio
Servicios de Cloud Computing
Investigación
Software como Servicio
Servicios de Cloud Computing
Investigación
Modelos de Infraestructura
Investigación
Nube Pública
Modelos de Infraestructura
Investigación
Nube Privada
Modelos de Infraestructura
Investigación
Nube Hibrida
Modelos de Infraestructura
Investigación
Desarrollo
Desarrollo
OpenStack
Desarrollo
OpenStack
Desarrollo
OpenStack
Componentes
Nova
cómputo
Swift y Cinder
almacenamiento
Neutron
red
Keystone
autenticación
Glance
imágenes
Horizon
dashboard
Desarrollo
Instalación y configuración de la
infraestructura
Desarrollo
Flavor
Instalación y Configuración
Desarrollo
Grupos de seguridad
Instalación y Configuración
Desarrollo
Llaves públicas y privadas
Instalación y Configuración
Desarrollo
Tenant
Instalación y Configuración
Desarrollo
Red
Instalación y Configuración
Subred
1
2
3
4
5
6
7
$ 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"} |
+--------------------------------------+------------+------------------+--------------------------------------------------------+
Desarrollo
Puerto
Instalación y Configuración
Router
Desarrollo
Instalación y Configuración
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
$ 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 ubuntu@10.10.10.14
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)
Desarrollo
Instalación y Configuración
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
$ 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
Desarrollo
Instalación y Configuración
Instalación de los servicios
iRedMail
SugarCRM
Ubuntu server 12.04
OpenMeetings
Ubuntu server 12.04
mailcrm op
Desarrollo
Scripts de Automatización
Desarrollo
Scripts de Automatización
Nueva máquina virtual
imagen
flavor
newserver.py
millave
net1
secgroup
nova boot …
puerto de
la nueva
MV
quantum floatingip create…
IP pública de la nueva MV
id red
public
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 …
Desarrollo
Scripts de Automatización
Redimensionamiento
id de MV
flavor
nova resize….
verify_resize.py
nova list… | grep estado
Lista
vacia?
estado=VERI
FY_RESIZE
nova resize confirm
out.log += MV resize ok
cron 1 min
si no
si
no
Desarrollo
Scripts de Automatización
id de la MV
delete_server.py
nova delete …
out.log += MV eliminada ok
Implementación
Página Web
Implementación
Implementación
Funcionamiento de Django
Página Web
Implementación
Página Web
Conclusiones
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
Gracias por
su atención

Ponencia7

  • 2.
    PROTOTIPO DE SOFTWARECOMO SERVICIO (SAAS) PARA PEQUEÑAS Y MEDIANAS EMPRESAS Daniel Núñez daniel.nunez@mindsovernet.com David Mejía david.mejia@epn.edu.ec Quito - 2013
  • 3.
  • 4.
  • 5.
    Servicios de CloudComputing Investigación
  • 6.
    Infraestructura como Servicio Serviciosde Cloud Computing Investigación
  • 7.
    Plataforma como Servicio Serviciosde Cloud Computing Investigación
  • 8.
    Software como Servicio Serviciosde Cloud Computing Investigación
  • 9.
  • 10.
    Nube Pública Modelos deInfraestructura Investigación
  • 11.
    Nube Privada Modelos deInfraestructura Investigación
  • 12.
    Nube Hibrida Modelos deInfraestructura Investigación
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
    Desarrollo Llaves públicas yprivadas Instalación y Configuración
  • 21.
  • 22.
    Desarrollo Red Instalación y Configuración Subred 1 2 3 4 5 6 7 $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"} | +--------------------------------------+------------+------------------+--------------------------------------------------------+
  • 23.
  • 24.
    Desarrollo Instalación y Configuración 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 $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 ubuntu@10.10.10.14 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)
  • 25.
    Desarrollo Instalación y Configuración 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 $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
  • 26.
    Desarrollo Instalación y Configuración Instalaciónde los servicios iRedMail SugarCRM Ubuntu server 12.04 OpenMeetings Ubuntu server 12.04 mailcrm op
  • 27.
  • 28.
    Desarrollo Scripts de Automatización Nuevamáquina virtual imagen flavor newserver.py millave net1 secgroup nova boot … puerto de la nueva MV quantum floatingip create… IP pública de la nueva MV id red public
  • 29.
    Desarrollo Scripts de Automatización Estadode 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 …
  • 30.
    Desarrollo Scripts de Automatización Redimensionamiento idde MV flavor nova resize…. verify_resize.py nova list… | grep estado Lista vacia? estado=VERI FY_RESIZE nova resize confirm out.log += MV resize ok cron 1 min si no si no
  • 31.
    Desarrollo Scripts de Automatización idde la MV delete_server.py nova delete … out.log += MV eliminada ok
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
    Conclusiones Nube privada • Granagilidad 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
  • 38.