Entradas

ARQUITECTURA DE MICROSERVICIOS

Imagen
La arquitectura de microservicios es como una forma de construir aplicaciones de software en la que, en lugar de tener un solo programa grande, tienes muchos pequeños programas independientes. Cada uno de estos pequeños programas hace una tarea específica y puede estar escrito en un lenguaje de programación diferente. Estos programas se comunican entre sí a través de reglas que les permiten trabajar juntos, y cada uno tiene su propio lugar para guardar la información que necesita. Esto hace que la aplicación sea más eficiente y menos propensa a errores o caídas. Ilustracion 1: Arquitectura de Microservicios vs Arquitectura Monolitica Ventajas: Modularidad: En lugar de una gran aplicación, los microservicios son como piezas independientes que se pueden desarrollar y desplegar por separado. Si un servicio tiene un problema, no afecta a los otros. Escalabilidad: Puedes hacer crecer cada parte de la aplicación según lo necesites. Si un componente necesita más poder de procesamiento, pue...

ARQUITECTURA CLIENTE-SERVIDOR

Imagen
En una arquitectura Cliente-Servidor existe un servidor y múltiples clientes que se conectan al servidor para recuperar todos los recursos necesarios para funcionar, en este sentido, el cliente solo es una capa para representar los datos y se detonan acciones para modificar el estado del servidor, mientras que el servidor es el que hace todo el trabajo pesado. Ilustración 1: Modelo Cliente-Servidor CARACTERISTICAS DE LA ARQUITECTURA CLIENTE-SERVIDOR El cliente suele ser instalado en computadoras con bajos recursos. El servidor puede atender simultáneamente a varios clientes. Está compuesto por dos componentes, el proveedor y el consumidor. Permite centralizar los datos, almacena todo lo que recibe de los diferentes clientes. Se comunican únicamente por medio de la RED o Internet. El servidor será la única entidad que tendrá acceso a los datos y los servirá solo a los clientes del cual el confía EJEMPLOS DE APLICACIONES QUE OCUPAN ESTA ARQUITECTURA CLIENTE-SERVIDOR La arquitectura de so...

ARQUITECTURA MONOLITICA

Imagen
La arquitectura monolitica es un patrón de diseño de software en el que una aplicación o sistema se desarrolla como una única unidad monolítica en la que todos los componentes y funcionalidades están interconectados y se ejecutan en un solo proceso o aplicación. Ilustración 1: Arquitectura Monolitica CARACTERÍSTICAS Escalabilidad vertical Depuración simplificada Implementación y despliegue sencillos Facilidad de desarrollo inicial Tecnología homogénea Unidad única Algunos ejemplos de algunas apps que utilizan esta arquitectura: 1.-  Word Processing Software Todas las funcionalidades, desde la creación de documentos hasta la edición y el formato, están integradas en un solo programa. 2.-  Navegadores web Todas las funcionalidades, como la representación de páginas web, la gestión de marcadores y la seguridad, estaban integradas en una sola pieza de software. 3.- SQL Server El motor de base de datos, el optimizador de consultas y la administración de datos, estaban integradas en...

ARQUITECTURA ORIENTADA A SERVICIOS

Imagen
SOA es una forma especial de construir software. Lo hace fácil de reutilizar porque todas las partes del software hablan entre sí usando un lenguaje común a través de una red. Ilustracion 1: SOA Imagina SOA como un sistema de piezas de lego que se puedan usar una a y otrs vez en diferentes construcciones. Estas piezas son como los elementos de software, y SOA les permite comunicarse entre si a traves de una red para crear aplicaciones de software en diversos sistemas. CARACTERISTICAS Los servicios son autónomos:  Cada servicio SOA se mantiene y desarrolla de forma independiente. Los servicios son distribuibles: Se pueden ubicar en cualquier parte sobre la red siempre que este soporte los protocolos de comunicación requeridos. Los servicios se pueden descomponer: Cada servicio SOA es independiente de los otros y puede ser remplazado o actualizado sin romper con las aplicaciones que conecta. Los servicios no comparten clases: Es una arquitectura SOA, los servicios comparten y contrat...

Arquitectura en Capas

Imagen
Es un enfoque de diseño y organización de sistemas de software que separa las diversas funciones y componentes del sistema en capas o niveles bien definidos. Ilustración 1: Arquitectura en capas CARACTERISTICAS Modularidad: dividen el sistema en módulos independientes Separación de preocupaciones: tarea específica Interfaz definida: comunicación con capas adyacentes Reutilización: pueden ser reutilizadas en otras partes Escalabilidad: escalar diferentes partes del sistema Mantenibilidad: facilita detección y correción de errores  Ssguridad: actuan como barreras de seguridad Flexibilidad: sustitución de una capa por otra VENTAJAS Modularidad. Escalabilidad. Mantenibilidad. Reutilización de código. Claridad en el diseño. DESVENTAJAS Overhead de comunicación (Sobreacarga de datos). Complejidad inicial. Rigidez. Dificultad en aplicaciones pequeñas. Sincronización y consistencia de datos. Ejemplos de empresas o proyectos que utilizan la Arquitectura en Capas 1.- GOOGLE 2.- AMAZON 3.- N...

Concepto de Arquitectura de SW

Imagen
Ahora sabemos bien qué es la arquitectura, se encarga de planificar y diseñar, como se ve en diversos edificios como parques o monumentos), pero en realidad la arquitectura se centra principalmente en el desarrollo y planificación de proyectos. Un marco para tomar varias decisiones antes de llegar a lo que se realice. Ilustracion 1: Arquitectura de SW 5 PRÁCTICAS PARA EMPLEAR LA ARQUITECTURA DE SOFTWARE  Prioriza la escalabilidad Contar con una efectiva arquitectura incide en el potencial de escalabilidad del sistema, ya que facilita el desarrollo de los procesos, evita problemas en el calendario del proyecto y sobre todo, reduce la incidencia de errores posteriores. 2. Apunta a la flexibilidad La flexibilidad es esencial para optimizar la arquitectura de software y escalarla de acuerdo con las necesidades técnicas y de mercado. Es importante señalar que, al colocar la flexibilidad y la adaptabilidad como características esenciales de una buena arquitectura de software, mit...