4.2.2 El rol del Software de Código Abierto

Es cierto que con los productos de código abierto, los usuarios generalmente pierden la seguridad de los equipos de soporte profesional para ayudar a resolver sus problemas rápidamente. Pero en nuestro entorno, casi siempre compramos soporte para nuestros productos de código abierto de proveedores de alta calidad. Esto, por supuesto, reduce algunas de las ventajas de costos de usar código fuente, pero las ventajas son lo suficientemente grandes como para que todavía haya muchas sobras, y la seguridad que obtenemos de un contrato de servicio nos permite dormir mejor por la noche.
¿Dónde se utiliza el Software de Código Abierto?
Presencia en la Web
La presencia en la Web se refiere a la aparición de una entidad en la World Wide Web. Se dice que una empresa tiene presencia en la web si se puede acceder a ella en la WWW. A la medida común de presencia en la web tiende a ser el número de páginas o sitios de la que una entidad es propietaria. Esta presencia en la web puede incluir sitios web, redes sociales, perfiles y ranking de motores de búsqueda, tráfico, popularidad y enlaces. El software abierto de origen que se usa comúnmente para ayudar en la presencia en la web incluye Apache, Zend Framework y Jetty. Finalmente, los estándares incluyen un modelo de privacidad de servicios web que describe cómo habilitar los servicios web y solicitantes para indicar las preferencias de privacidad del sujeto y la privacidad de la organización así como las declaraciones de práctica.
Presencia a nivel de Base de Datos
Si una aplicación reside en un escritorio o está virtualizada en una nube en algún lugar, cuando se utilizan o almacenan datos, a menudo se requiere el uso de una base de datos. Una base de datos es una colección estructurada de registros o datos que se almacena en un sistema informático. Una base de datos se basa en un software conocido como sistema de gestión de bases de datos (DBMS) para organizar, almacenar y recuperar datos. Los sistemas de Gestión de Base de Datos se clasifican según el modelo de base de datos en que se apoyen. El modelo elegido a menudo determina el tipo de lenguaje de consulta (a menudo estructurado) que se utiliza para acceder a la base de datos. La estructura se logra organizando los datos de acuerdo con un modelo de base de datos. El modelo usado comúnmente hoy en día es el modelo de base de datos relacional. Otros modelos, como el modelo jerárquico y el modelo de red, utilizan un modelo más explícito en la representación de relaciones, pero no se utilizan comúnmente en los ambientes de nube.
Gran parte de la ingeniería interna de un DBMS se realiza independientemente del modelo de datos que admite. Mientras que el almacenamiento de datos, el acceso y la recuperación son importantes, la mayoría de las veces se definen por estándares. Una implementación de DBMS a menudo se preocupa menos por cómo se accede y recupera los datos y está más preocupada con la gestión del rendimiento, la concurrencia, la integridad y la recuperación de fallas de hardware. En estas áreas, existen grandes diferencias entre casi todos los productos. Son estas diferencias las que los separan entre sí.
Algunos ejemplos de sistemas de gestión de bases de datos de código abierto son: MySQL, PostgreSQL, entre otros.
Presencia a nivel de Aplicación
Una arquitectura de varios niveles (o arquitectura de n niveles) es una arquitectura cliente-servidor en el que la presentación, el procesamiento de la solicitud y la gestión de datos son procesos lógicamente separados. muy a menudo, la arquitectura de varios niveles se refiere a la arquitectura de tres niveles, es decir, niveles de presentación, aplicación y datos.
El nivel de presentación es el nivel superior de la aplicación. El nivel de presentación muestra información al usuario, a menudo a través de un navegador web o un formulario con ventana, se comunica con otros niveles transfiriendo entrada de datos y resultados a los otros niveles de la arquitectura.
El nivel de aplicación a veces se denomina nivel de lógica empresarial. Controla la funcionalidad de una aplicación realizando un procesamiento detallado para satisfacer requisitos específicos.
Finalmente, el nivel de datos consiste en un servidor o servidores de base de datos que se utilizan para almacenar y recuperar datos. Este nivel mantiene todos los datos independientes de la aplicación o del nivel de lógica empresarial y del nivel de presentación.
Algunos ejemplos de software de código abierto presentes en aplicaciones son: Zope, Zope Contente Management Framework, Plone, AJAX, Apache Struts, etc.
Presencia a nivel de Gestión de Redes y Sistemas
El software de código abierto ha desarrollado fuertes raíces en la comunidad de la nube. Gran parte de la nube opera en un espacio de misión crítica, por lo que a menudo hay gran inquietud acerca de si la inversión en una aplicación comercial puede ser una mejor opción. Sin embargo, muchos desarrolladores se han dado cuenta que el punto óptimo para el código abierto es en realidad ese espacio de misión crítica. Dada la alta confiabilidad y madurez de muchas de las soluciones de código abierto más conocidas disponibles, hay muchas razones por las que los implementadores han comenzando a dar al código abierto más que una mirada de pasada al evaluar opciones. Muchas de las ofertas comerciales disponibles ofrecen código abierto, soluciones y hacen su dinero proporcionando mejoras a la fuente, al servicio y el soporte, además de otros tipos de servicios que mejoran la adopción de su producto por parte del cliente.
Sin embargo, el código abierto no ha sido aceptado del todo. Muchos expertos todavía aconsejan precaución a la hora de adoptar soluciones de código abierto. Ellos discuten que los usuarios de software de código abierto pueden potencialmente arriesgarse a encontrar problemas de seguridad porque los componentes internos del software son muy conocidos. Los adoptantes son animados a investigar qué software de potencia industrial está disponible para su entorno particular de misión crítica y para comparar el potencial de candidatos de código abierto. Para entornos de misión crítica, especialmente en en el contexto de la computación en la nube, encontramos varias categorías principales:
- Aplicaciones administrativas y de gestión.
- Aplicaciones de rendimiento.
- Aplicaciones de vigilancia y seguridad.
- Aplicaciones de virtualización.
0 Comentarios