Cercar en aquest blog

27/3/09

Servidors: On seran els Serveis i Com.

Pensant en una arquitectura orientada a serveis, aquest han d'estar allotjats en algún servidor o servidors. Es clar que parlem d'una arquitectura totalment distribuida i per tant cal tenir una infraestructura mínima per tal de poder-la posar en funcionament.

En tota "xarxa" informàtica de cert pes, com pot ser la d'una corporació sanitària, hi ha uns elements que han d'existir per tal de facilitar-ne l'us a les diferentes aplicacions que si publiquin.


Fem-ne una enumeració:
· Servidor d' administració: Aquest servidor serà l'encarregat de controlar mitjançant un Directori Actiu, les polítiques de seguretat, l'administració de comptes d'usuari i de maquinari. Per altre banda també pot oferir serveis de DHCP i DNS.
· Servidor de Correu: Servidor que allotjara un Microsoft Exchange 2007. Aquest sistema ens garantitza missatgeria estandard (mail), missatgeria instantània, missatgeria de veu, control de presencia, etc. És una eina bastant moderna, molt millor a les antigues versions i amb una arquitectura modular molt aconseguida.
· Servidor de Fitxers: Per allotjar fitxers personals o de grups de traball. Per facilitar-ne l'accés, hi montarem un servidor WebDav.
· Servidor d' impressores: Per poder controlar les cues d 'impressió d'una forma centralitzada.
· Servidor Proxy: Aquest servidor controlarà l'ús i els accesos a informació disponible a internet.
· Un tallafocs (firewall): Aquest servidor controlarà els accesos externs als servidors de la corporació.
Evidentment que amb això no n'hi ha prou, però si suficient per tenir una xarxa mínimament controlada i segura.

Per altre banda cal allotjar les aplicacions, les bases de dades, i les integracions amb aplicacions de tercers. I també disposar d'un sistema d'enmagatzament centralitzat i redundat.

Deixant de moment de banda els servidors, pensem en la topologia de xarxa. Depenent del volum d'estacions clients, cal pensar en una xarxa de classe B o varies de classe C. Amb una classe B (en cas que es necessiti), no cal pensar en sistemes de ruteig, però si en que un error de xarxa afecte a tota la xarxa. En una segmentació de xarxa amb subxarxes de classe C, cal fer un manteniment de rutes, i a vegades també suposa la duplicació d'algún dels serveis d'administració esmentats anterioement. I quan la xarxa està present en diferents edificis físics, la cosa és complica una mica més. Bé és un tema que alhora de posar-si cal discutir extensament.


Un altre punt molt important és pensar en com redundemt tot això. El sistema sencer ha d'estas disponible les 24 hores del dia, els 7 dies de la setmana i els 365(366) dies de l'any. En el cas dels sistemes d'enmagatzament, poden pensar en un sistema SAN, amb RAIDS i un accés fiberchannel o iSCSI (més barat i igualment d'efectiu). En el cas dels servidors, podem pensar en clusters, però la experiència em diu que hi ha solucions molt millors. I la xarxa, es pot redundar amb uns cores centrals (que es redundin entre ells amb spanning tree) així com disposar de switches redundats amb la mateixa tecnica en les arees més crítiques.

La Virtualització, com a solució a la redundància de servidors i a la alta disponibilitat dels serveis.

La virtualització crec que és una bona solució a la redundància de servidors i per tant garantir la disponabilitat de tots els serveis disponibles a la nostre xarxa. Hi ha varis sistemes capaços de donar serveis de virtualització de servidors, però si volem dissenyar un sistema segur, avui en dia només hi ha un nom, que és VMWARE, en les seves versions ESX.

Que ens pot oferir un sistema basat en VMWARE?
· Alta disponibilitat.
· Posibilitat d 'escalar els servidors, augmentant memòria i CPU
· Posibilitat de fer manteniment de servidors fisics (host VMWARE, sense parar) gracies al VMOTION i STORAGE VMOTION.
· Posibilitat de controlar carregues de treball en els Host i dotar a aquest de la intel.ligencia necessària perque actui davant moments crítics.
· Facilitat d'administració i visualització de marcadors indicatius (contadors).
· Facilitat de instalació de nous servidors (plantilles).
· Facilitat alhora de fer copies de seguretat de servidors.
· Facilitat alhora de fer test d'actualitzacions.
· Posibilitat d'allotjar servidors amb sistemes operatius diversos.
· Posibilitat de montar xarxes virtuals entre servidors.

Bé les ventatges són moltes, però cal montar una infraestructura basada en virtualització valorada segons les necessitats del sistema que ha d'allotjar. No és la meva intenció explicar res més tecnic, ja que VMWARE posa a la disposició dels usuaris molta informació de com montar un sistema de servidors virtualitzats. Ara bé hi ha unes cosetes que si que cal tenir en compte.

1. CPU: La cpu dels host de vmware ha d'estar preparada per virtualització (AMD anava per endevant).
2. RAM: Molta RAM, molt important.
3. HDD: El disc dur només ha d'allotjar el propi VMWARE ESX dels Host, ja que els servidors els intal.larem en espais de la SAN projectats cap els servidors del VMWARE.
4. Xarxa: Aqui si que hem d'anar en cura. Hem posar unes bones tarxes de xarxa i un número com a minim de 6.
5. Controladores de disc: Encar que no ho sembli es la art més crítica de la virtualització. Cal que siguin bones i sobretot amb Cache d'escriptura habilitada.

De totes maneres el millor quan pensem en virtualitzar és documentar-se i si és necessàri posar-se en mans d'un expert.(blog de Josep Ros)

Una bona solució, és un cluster ESX basat en 3 blades 4core amb 32GB de ram cada un de IBM amb el seu enclosure redundat en alimentació elèctrica, fons d'alimentació i xarxes (els blades de IBM tenen una distribució interna més bona que milloren la refrigeració d'aquest, envers altres marques).

I finalmet, per garantir la seguretat dels servidors d'aplicacions, serveis i bases de dades, cal pensar en una xarxa només per aquest, en el cas de que només si accedeixi des d'un altre servidor. Els servidors visibles des dels clients, han de tenir accés a aquesta xarxa de serveis i bases de dades i a la xarxa dels clients. Però, per exemple, els servidors de bases de dades, no haurien d' estar dins el mateix segment de xarxa que les estacions clients.
El més important alhora de donar d'alta un nou servei/servidor a la xarxa, cal pensar qui hi tindrà accés per tal de poder-lo ubicar de la millor manera i alhora evitar accesos indeguts (a vegades no es fa i després es configuren restriccions per software, innecessàries amb una bona distribució i ubicació de xarxa).


Pel que fa als servidors d'aplicacions i serveis, aquest seran també virtualitzats, amb Windows 2K3 i 2008. Com que la distribució de qualsevol aplicació es farà a través d'un entorn basat en Web, tots disposaran del IIS 6 o 7, i els frameworks 2.0, 3.0 i 3.5 disponibles en aques moment.

Cal pensaren balancejos de càrrega, reverse proxies, i WAF (Web Application Firewalls).

I per acabar, no em d'oblidar els serveis oferts des d' aplicatius de tercers, un PACS, un servidor de Laboratori, HCCC de Catalunya, la recepte electronica, la facturació del CatSalut, la facturació de ICS, el ICAM, el RCA, o sigui, qualsevol servei amb qui ens hem de comunicar, interoperar o integrar, digue-li com volgueu, a la intranet, al nus sanitari o a internet.

Per aconseguir una transparencia entre aquest sistemes i el propi a desenvolupar, apareix la necessitat d'utilitzar un EAI, però evolucionat, que doni la possibilitat d'afegir negoci a les integracions, que suporti HL7 i que sigui fiable, ràpid, doni tracebilitat de missatges i suporti estandars. La millor opció trobada ha estat Ensemble de Intersystems, un EAI evolucionat a posibilitat de Workflows i amb una arquitectura molt senzilla i moderna, basada en serveis de negoci, processos de negoci i operacions de negoci, amb suport HL7 fins versió 2.6. L' únic inconvenient per qui no coneixi Intersystems, es que porta el seu propi llenguatge de programació, orientat a objectes i amb suport d'herencia múltiple.