Você está na página 1de 11

Departamento de Sistemas

Especificaciones de desarrollo
Plataforma DRUPALPRD

documento elaborado por el departamento de sistema en conjunto con DRUPALCHILE


pgina 2

ndice de contenido
1 Introduccin............................................................................................................................................................. 3
2 La Arquitectura......................................................................................................................................................... 4
3 Estructura de directorios......................................................................................................................................... 5
4 Ambientes................................................................................................................................................................ 6
4.1 Desarrollo......................................................................................................................................................... 7
4.2 QA..................................................................................................................................................................... 8
4.3 Produccin....................................................................................................................................................... 9
5 Especificaciones de desarrollo.............................................................................................................................. 10
5.1 Sesiones de usuario....................................................................................................................................... 10
5.2 Cookies........................................................................................................................................................... 10
5.3 Base de datos................................................................................................................................................. 10
5.4 Espacio en Disco............................................................................................................................................ 10
6 Sistema de Cache................................................................................................................................................... 11

departamento de sistemas - DUOC UC


pgina 3

1 Introduccin
El siguiente documento tiene como objetivo proveer lineamientos para el desarrollo de los proyectos que
estn o sern desarrollados para ser hospedados en la plataforma DRUPALPRD.

Cualquier error detectado o correccin que se desee agregar al documento, por favor contactarse con el
departamento de sistemas.

departamento de sistemas - DUOC UC


pgina 4

2 La Arquitectura
El esquema presentado a continuacin grfica la actual arquitectura que posee el ambiente productivo de
nuestra plataforma DRUPALPRD.

F5 Balanceador : Balanceador de solicitudes.

Front o Frontends : estas mquinas cumplen la funcin de un sistema de cache para las pginas estticas,
adems poseen las configuraciones para los proxy reversos.

Backend o Backends : mquinas que poseen un servidor web para servir los diversos proyectos hospedados
en la plataforma DRUPALPRD.

Disco en Red: Esta mquina opera como disco compartido en RED para disponibilizar el cdigo fuente de los
proyectos en todos los backends.

F5 balanceador : dispositivo para balancear las operaciones sobre el servicio MySQL.

Nodo DB SQL : mquinas con servidor MySQL y sistema de replicacin gallera.

departamento de sistemas - DUOC UC


pgina 5

3 Estructura de directorios
Junto con diversas iniciativas en direccin de uniformar procesos se ha normado la organizacin de directorios
presente en los tres ambientes que ms adelante describiremos.

La estructura responde netamente a mantener una coherencia organizacional de los proyectos para poder
diferenciar las diversas tecnologas que intervienen en nuestros ambientes.

Para eso se ha definido 3 directorios maestros que separan los proyectos: Tecnologa Drupal y no Drupal.

La estructura se encuentra en el directorio root de apache /www/, y se presenta de la siguiente forma.

drupal6
drupal7
legados

Cada directorio tiene como objetivo hospedar los diversos proyectos dentro de un subdirectorio por ejemplo
el proyecto web de la escuela de ingeniera desarrollado con tecnologa Drupal en su versin 7 se encuentra
en el directorio /www/drupal7/ingenieria

Otra regla a respetar dentro de esta estructura es la normalizacin de los nombres de los proyectos, estos
deben tener nombres sin caracteres latinos (, , , , , ) y los espacio reemplazarlos por _.

departamento de sistemas - DUOC UC


pgina 6

4 Ambientes
Nuestra plataforma cuenta con 3 ambientes implementados para tratar de abordar las distintas necesidades
evolutivas de un proyecto, desde su etapa de desarrollo hasta la publicacin y manutencin de este.
Estos ambientes se diferencian en capacidades, pero su configuracin es exacta dentro de un estndar
mnimo.

El estndar de configuracin mnimo es el siguiente:

Tecnologa Versin Mdulos habilitados


Apache 2.2.3 mod_rewrite
PHP 5.3.27 curl, ctype, date, dom, ereg, exif, fileinfo, ftp, gd, gettext, gmp, hash, iconv,
json, ldap, libxml, mbstring, mcrypt, mysql, mysqli, oci8, openssl, pcre, pdo,
pdo_mysql, pdo_sqlite, phar, posix, reflection, session, shmop, simplexml,
socket, spl, sqlite3, standar, sysvmsg, tokenizer, wddx, xml, xmlwriter, xsl,
zip, zlib
MySQL 5.0.95

departamento de sistemas - DUOC UC


pgina 7

4.1 Desarrollo
El ambiente de desarrollo est orientado para la etapa inicial de los proyectos, dentro de este ambiente se
construyen las distintas aplicaciones para ser posteriormente transportados al ambiente QA.

Este ambiente cumple con los estndares de tecnologa y estructura de directorios.

Servidor : http://drupaldev.duoc.cl
IP : 10.10.1.25
Directorio de Proyectos: /www/
Backups : No posee backups definidos

departamento de sistemas - DUOC UC


pgina 8

4.2 QA
El ambiente de QA est orientado para la etapa de transicin entre el desarrollo y la publicacin final de los
proyectos, dentro de este ambiente se prueban las aplicaciones antes de ser publicadas en produccin.

Este ambiente tambin cumple un rol fundamental para los proyectos Drupal debido a que es aqu donde
diariamente se testean las actualizaciones de forma automtica para mantener actualizado cada proyecto
frente a los diversos fallos o mejoras.

Este ambiente cumple con los estndares de tecnologa y estructura de directorios.

Servidor : http://drupalqa.duoc.cl
IP : 10.10.1.25
Directorio de Proyectos: /www/
Backups : No posee backups definidos.

departamento de sistemas - DUOC UC


pgina 9

4.3 Produccin
El ambiente de produccin tiene como funcin proveer un sistema de alta disponibilidad para cada proyecto
hospedado dentro de esta infraestructura.

A diferencia de los otros ambientes, produccin cuenta con la siguiente organizacin de su arquitectura.

La organizacin de este ambiente es la siguiente:

Servidores con apache: 4


Disco en red para directorio /www/ : 1
Servidores MySQL : 3
Balanceador MySQL : 1

Servidores:
http://drupalprdwback01.duoc.cl 10.10.100.238
http://drupalprdwback02.duoc.cl 10.10.100.239
http://drupalprdwback03.duoc.cl 10.10.100.231
http://drupalprdwback04.duoc.cl 10.10.100.232

Directorio de Proyectos: /www/


Backups : Posee backups como disco a todo el directorio /www/, tambin posee backups a los proyectos
DRUPAL para restauracin de emergencia con una capacidad de recuperacin de 9 das.

departamento de sistemas - DUOC UC


pgina 10

5 Especificaciones de desarrollo
Todo proyecto desarrollado para ser hospedado en la arquitectura DRUPALPRD debe cumplir ciertos
requisitos mnimos para mantener la alta disponibilidad del sistema.
A continuacin, detallaremos algunos aspectos importantes que se deben considerar a la hora de desarrollar
cualquier proyecto.

5.1 Sesiones de usuario


Todas las sesiones deben ser almacenadas en base de datos, la utilizacin de sesiones en disco compromete
seriamente el sistema de alta disponibilidad debido a la escritura en el disco compartido.

5.2 Cookies
Si alguna aplicacin o portal web requiere de algn mbito de funcionamiento de las cookies, es necesario
especificar al dominio como base y dejar abierto a los subdominios.
Por ejemplo: *.duoc.cl

5.3 Base de datos


Hemos implementado un sistema de balanceo para manejar la carga de la base de datos, este sistema se
sustenta sobre 3 maquinas con un sistema de replicacin conocido como galera, para facilitar el uso del
motor de datos hemos implementado una sola IP a la cual se deber apuntar todo proyecto que trabaje con
base de datos.
La IP del balanceador MySQL 10.10.100.81

5.4 Espacio en Disco


Todo proyecto que posea usuarios o al menos algn webmaster constantemente puede ir variando su tamao,
ms aun cuando esta herramienta almacena archivos contribuidos por los usuarios. Es sumamente
importante tener una estimacin de crecimiento anual de los proyectos.
Esta informacin nos permite proyectar el uso de los recursos requeridos para cada proyecto.

departamento de sistemas - DUOC UC


pgina 11

6 Sistema de Cache
El sistema de cache funciona con tecnologa Varish, todo proyecto que se hospede dentro de la plataforma
DRUPALPRD utilizara el sistema de cache con la excepcin de las peticiones que trabajen con sesiones.
Cualquier solicitud dentro de una sesin no sera almacenada en el cach.

departamento de sistemas - DUOC UC

Você também pode gostar