SaaS, PaaS y desarrollo en Cloud

SaaS

SaaS o Software como Servicio (del inglés: Software as a Service) es un modelo de distribución de software donde el software y los datos que maneja se alojan en servidores de la compañía de tecnologías de información y comunicación (TIC) y se accede con un navegador web a través de internet. La empresa TIC provee el servicio de mantenimiento, operación diaria, y soporte del software usado por el cliente. Regularmente el software puede ser consultado en cualquier computador, esté presente en la empresa o no. Se deduce que la información, el procesamiento, los insumos y los resultados de la lógica de negocio del software están hospedados en la compañía de TIC.

PaaS

PaaS o Plataforma como Servicio (del inglés: Platform as a Service) es el conjunto de plataformas compuestas por uno o varios servidores de aplicaciones y una base de datos (aunque no todas la plataformas incluyen la posibilidad de tener la BBDD) que ofrecen la posibilidad de ejecutar aplicaciones (escritas en los lenguajes que la plataforma soporte) encargándose el proveedor de escalar los recursos en caso de que la aplicación lo requiera. Además el proveedor velará por el rendimiento óptimo de la plataforma, actualizaciones de software, seguridad de acceso, etc.

PaaS incluye todas las facilidades al desarrollador para alojar, prototipar, analizar, desarrollar, testear, documentar, implantar y ejecutar aplicaciones finales (pudiendo funcionar estas como SaaS), todo ello en un solo proceso.

Las ofertas de PaaS pueden dar servicio a todas las fases del ciclo de desarrollo y pruebas del software, o pueden estar especializadas en cualquier área en particular, tal como la administración del contenido.

Desarrollo en Cloud Computing

La computación en la nube (del inglés: Cloud computing) es un paradigma que permite ofrecer servicios de computación a través de Internet, es decir, en el que la información se almacena de manera permanente en servidores de Internet y se envía a cachés temporales de cliente, lo que incluye equipos de escritorio, centros de ocio, portátiles, etc.

En este tipo de computación todo lo que puede ofrecer un sistema informático se ofrece como servicio, de modo que los usuarios puedan acceder a los servicios disponibles “en la nube de Internet” sin conocimientos (o, al menos sin ser expertos) en la gestión de los recursos que usan.

“Cloud computing” es un nuevo modelo de prestación de servicios de negocio y tecnología, que permite al usuario acceder a un catálogo de servicios estandarizados y responder a las necesidades de su negocio, de forma flexible y adaptativa, en caso de demandas no previsibles o de picos de trabajo, pagando únicamente por el consumo efectuado.

Las características de SaaS incluye:
  • Acceso y administración a través de una red.
  • Actividades gestionadas desde ubicaciones centrales, permitiendo a los clientes el acceso remoto a las aplicaciones mediante la web.
  • Actualizaciones centralizadas.
  • Integración con una red mayor de software de comunicación.
  • La empresa IT provee los medios seguros de acceso en los entornos de la aplicación.

Alguna de las características de PaaS son:
  • Escalabilidad garantizada: No te tienes que preocupar cuando tu aplicación crezca, ni cambiar el hardware ni ampliar el número de servidores.
  • Administración remota: Desde sus páginas web puedes administrar tus aplicaciones, modificar tus opciones y monitorizar tu aplicación.
  • Arquitectura multi-usuario: el desarrollador pueda tener cuantos usuarios necesiten sus aplicaciones, manteniendo la seguridad y escalabilidad del sistema.
  • Soporte para desarrollo colaborativo: capacidad para desarrollar y compartir código fuente con diferentes desarrolladores, que pueden estar ubicados en diferentes emplazamientos geográficos.

Alguna de las características del desarrollo en Cloud son:
  • Accesibilidad: las aplicaciones en cloud están “libres” en la red y disponibles para los usuarios, que podrán acceder a ellas mediante PC, portátiles o incluso desde teléfonos móviles.
  • Asignación de recursos en modo multiusuario: en el cloud computing el proveedor tiene una única aplicación que abre a todos los usuarios que desean utilizarla, estableciendo unos recursos de acceso y prestaciones distintos para cada usuario.
  • Supervisión del servicio: los sistemas en cloud controlan y optimizan el uso de los recursos de manera automática, lo que aporta transparencia tanto para el proveedor como para el consumidor del servicio utilizado.
  • Elasticidad y escalabilidad: las aplicaciones en cloud son totalmente elásticas en cuanto a su rapidez de implementación y adaptabilidad. Además, son totalmente escalables.