Ejemplo de arquitectura limpia en C#
El patrón de arquitectura más común es el patrón de arquitectura por capas, también conocido como patrón de arquitectura de n niveles. Este patrón es el estándar de facto para la mayoría de las aplicaciones Java EE y, por lo tanto, es ampliamente conocido por la mayoría de los arquitectos, diseñadores y desarrolladores. El patrón de arquitectura en capas se ajusta estrechamente a las estructuras tradicionales de comunicación y organización de TI que se encuentran en la mayoría de las empresas, por lo que es una opción natural para la mayoría de los esfuerzos de desarrollo de aplicaciones empresariales.
Los componentes del patrón de arquitectura en capas se organizan en capas horizontales, cada una de las cuales desempeña una función específica dentro de la aplicación (por ejemplo, lógica de presentación o lógica de negocio). Aunque el patrón de arquitectura en capas no especifica el número y los tipos de capas que deben existir en el patrón, la mayoría de las arquitecturas en capas constan de cuatro capas estándar: presentación, negocio, persistencia y base de datos (Figura 1-1). En algunos casos, la capa de negocio y la capa de persistencia se combinan en una única capa de negocio, especialmente cuando la lógica de persistencia (por ejemplo, SQL o HSQL) está incrustada dentro de los componentes de la capa de negocio. Así, las aplicaciones más pequeñas pueden tener sólo tres capas, mientras que las aplicaciones empresariales más grandes y complejas pueden contener cinco o más capas.
Arquitectura limpia de Microsoft
Este artículo necesita citas adicionales para su verificación. Por favor, ayude a mejorar este artículo añadiendo citas de fuentes fiables. El material sin fuentes puede ser cuestionado y eliminado.Buscar fuentes: «Shard» arquitectura de base de datos – noticias – periódicos – libros – scholar – JSTOR (marzo 2021) (Aprende cómo y cuándo eliminar este mensaje de plantilla).
El particionamiento horizontal es un principio de diseño de bases de datos por el cual las filas de una tabla de base de datos se mantienen separadas, en lugar de dividirse en columnas (que es lo que hacen la normalización y el particionamiento vertical, en distinta medida). Cada partición forma parte de un fragmento (shard), que a su vez puede estar ubicado en un servidor de base de datos o ubicación física independiente.
El enfoque de particionamiento horizontal presenta numerosas ventajas. Dado que las tablas se dividen y distribuyen en varios servidores, se reduce el número total de filas de cada tabla en cada base de datos. Esto reduce el tamaño del índice, lo que generalmente mejora el rendimiento de las búsquedas. Un fragmento de base de datos puede colocarse en hardware independiente, y varios fragmentos pueden colocarse en varias máquinas. Esto permite distribuir la base de datos en un gran número de máquinas, lo que mejora enormemente el rendimiento. Además, si el fragmento de base de datos se basa en alguna segmentación de los datos en el mundo real (por ejemplo, clientes europeos frente a clientes estadounidenses), entonces puede ser posible deducir la pertenencia al fragmento apropiado de forma fácil y automática, y consultar sólo el fragmento relevante[2].
Arquitectura vertical
La planificación de la capacidad es un reto al que se enfrentan todos los equipos de ingeniería cuando se trata de garantizar que se dispone de los recursos adecuados para hacer frente a las demandas de tráfico previstas (e imprevistas). Cuando aumenta la demanda de su aplicación o sitio web y necesita ampliar sus niveles de accesibilidad, potencia de almacenamiento y disponibilidad, ¿es mejor escalar horizontal o verticalmente?
Esta decisión depende de varios factores. El volumen de solicitudes crece de forma constante y/o el crecimiento actual experimenta picos que provocan la degradación del servicio. Este tipo de consideraciones, junto con la composición única de una aplicación, deben evaluarse a la hora de determinar el enfoque de escalado óptimo.
La escalabilidad de una aplicación puede medirse por el número de solicitudes que puede atender simultáneamente. El punto en el que una aplicación ya no puede gestionar solicitudes adicionales de forma eficaz es el límite de su escalabilidad. Este límite se alcanza cuando un recurso de hardware crítico se agota, requiriendo diferentes o más máquinas. El escalado de estos recursos puede incluir cualquier combinación de ajustes en la CPU y la memoria física (máquinas diferentes o más), el disco duro (discos duros más grandes, menos datos «vivos», unidades de estado sólido) y/o el ancho de banda de la red (múltiples controladores de interfaz de red, NIC más grandes, fibra, etc.).
Escalado horizontal vertical de Aws
Las ciudades inteligentes abarcan servicios en diversos ámbitos empresariales y tecnológicos. En la actualidad, la mayoría de estos servicios se prestan a través de sistemas de dominio específico y estrechamente acoplados, lo que conlleva una escalabilidad y extensibilidad limitadas. Esta estructura debe transformarse en una arquitectura horizontal mediante una plataforma de prestación de servicios.
La plataforma es un nuevo tipo de oferta de plataforma como servicio (PaaS) que integra la infraestructura de Internet de las Cosas y proporciona servicios para que los proveedores de aplicaciones empleen recursos de Internet de las Cosas y de la nube bajo demanda.
A continuación se presentan los flujos de trabajo de prestación de servicios. Los flujos de trabajo dan lugar a tres modelos de prestación de servicios: verticales virtuales, aplicaciones de terceros e infraestructura de Internet de las Cosas como servicio (IoT IaaS).
Relacionados

Soy Romuald Fons, en mi viaje a Peru descubri FluyezCambios y desde entonces soy redactor jefe de la seccion de Posicionamiento Web. Gracias por leer mis excelentes posts sobre FluyezCambios. Saludos y hasta otra.