{"id":3075,"date":"2025-08-21T11:26:05","date_gmt":"2025-08-21T09:26:05","guid":{"rendered":"https:\/\/djimn.com\/?p=3075"},"modified":"2025-08-22T13:47:50","modified_gmt":"2025-08-22T11:47:50","slug":"newbie-software-architect","status":"publish","type":"post","link":"https:\/\/djimn.com\/index.php\/2025\/08\/21\/newbie-software-architect\/","title":{"rendered":"newbie software architect"},"content":{"rendered":"<p class=\"ds-markdown-paragraph\">Tiempo hace ya cuando un arquitecto de software solo dibujaba diagramas de clases y eleg\u00eda patrones de dise\u00f1o. Hoy, el arquitecto moderno es un <strong>estratega tecnol\u00f3gico<\/strong>, un puente cr\u00edtico entre la visi\u00f3n de negocio, el desarrollo, las operaciones y la seguridad. Su misi\u00f3n ya no es solo dise\u00f1ar sistemas que funcionen, sino sistemas que sean\u00a0<strong>resilientes, escalables, observables y seguros por dise\u00f1o<\/strong>, especialmente en entornos cloud h\u00edbridos y multi-nube.<\/p>\n<p class=\"ds-markdown-paragraph\">El tr\u00edpode sobre el que se sostiene esta nueva responsabilidad es:<\/p>\n<ol>\n<li class=\"ds-markdown-paragraph\"><strong>Conocer en profundidad<\/strong>\u00a0cada servicio que compone el sistema.<\/li>\n<li class=\"ds-markdown-paragraph\"><strong>Disponibilizarlos<\/strong>\u00a0de manera robusta y eficiente.<\/li>\n<li class=\"ds-markdown-paragraph\"><strong>Monitorizarlos<\/strong>\u00a0de forma integral y segura.<\/li>\n<\/ol>\n<p class=\"ds-markdown-paragraph\">Hablemos de c\u00f3mo dominar estos tres pilares.<\/p>\n<hr \/>\n<h4><strong>1. Conocer los Servicios: M\u00e1s All\u00e1 del Hello World<\/strong><\/h4>\n<p>Un arquitecto no puede elegir una base de datos, un servicio de colas o un plan de computaci\u00f3n solo por su nombre. El conocimiento debe ser profundo y pr\u00e1ctico.<\/p>\n<ul>\n<li class=\"ds-markdown-paragraph\"><strong>El Qu\u00e9 y el Porqu\u00e9:<\/strong>\u00a0\u00bfResuelve este servicio (e.g., Amazon SQS vs. Amazon Kinesis) el problema de negocio de la manera m\u00e1s efectiva? \u00bfO lo estamos usando porque es lo que conocemos?<\/li>\n<li class=\"ds-markdown-paragraph\"><strong>Limitaciones y Cuotas:<\/strong>\u00a0Conocer los l\u00edmites\u00a0<em>duros<\/em>\u00a0(throughput, IOPS, conexiones concurrentes) y los\u00a0<em>blandos<\/em>\u00a0(l\u00edmites incrementables por ticket de soporte) es crucial para predecir cuellos de botella.<\/li>\n<li class=\"ds-markdown-paragraph\"><strong>Modelo de Costo:<\/strong>\u00a0\u00bfEs un servicio de pago por uso, por capacidad reservada o con un modelo de licencia complejo? Un arquitecto debe ser tambi\u00e9n un\u00a0<strong>FinOps advocate<\/strong>.<\/li>\n<li class=\"ds-markdown-paragraph\"><strong>Integraciones y Ecosistema:<\/strong>\u00a0\u00bfC\u00f3mo se integra nativamente con otros servicios (e.g., IAM para seguridad, CloudTrail para auditor\u00eda)? Forzar integraciones fuera del est\u00e1ndar a\u00f1ade complejidad y riesgo.<\/li>\n<li class=\"ds-markdown-paragraph\"><strong>Modo Falla (Failure Mode):<\/strong>\u00a0\u00bfC\u00f3mo se comporta el servicio cuando falla? \u00bfEs resiliente por dise\u00f1o? \u00bfQu\u00e9 dependencias tiene? Esto es clave para dise\u00f1ar para el fracaso (<em>Design for Failure<\/em>).<\/li>\n<\/ul>\n<p><strong>La Herramienta:<\/strong>\u00a0No hay sustituto para la experimentaci\u00f3n pr\u00e1ctica. Usa sandboxes, hace cursos avanzados espec\u00edficos del proveedor y, sobre todo,\u00a0<strong>lee la documentaci\u00f3n oficial hasta el final<\/strong>. La letra peque\u00f1a siempre importa.<\/p>\n<hr \/>\n<p><strong>2. Disponibilizar Servicios: La Arte de la Resiliencia<\/strong><\/p>\n<p>Disponibilizar un servicio no es solo desplegarlo. Es garantizar que est\u00e9 arriba, sea healthy y responda correctamente bajo carga y ante fallos.<\/p>\n<ul>\n<li class=\"ds-markdown-paragraph\"><strong>Infraestructura como C\u00f3digo (IaC):<\/strong>\u00a0Herramientas como\u00a0<strong>Terraform<\/strong>,\u00a0<strong>AWS CDK<\/strong>\u00a0o\u00a0<strong>Pulumi<\/strong>\u00a0son no negociables. Permiten definir, versionar y replicar la infraestructura de manera consistente y auditable, eliminando la deriva de configuraci\u00f3n (<em>configuration drift<\/em>).<\/li>\n<li class=\"ds-markdown-paragraph\"><strong>Patrones de Resiliencia:<\/strong>\u00a0Implementa patrones como\u00a0<em>Circuit Breaker<\/em>,\u00a0<em>Retries with backoff<\/em>,\u00a0<em>Bulkheads<\/em>\u00a0y\u00a0<em>Timeouts<\/em>\u00a0a nivel de c\u00f3digo y de infraestructura. Usa servicios como AWS Route 53 Application Recovery Controller para conmutaciones elegantes.<\/li>\n<li class=\"ds-markdown-paragraph\"><strong>Despliegues Seguros:<\/strong>\u00a0Utiliza estrategias de despliegue de bajo riesgo como\u00a0<strong>Blue-Green<\/strong>\u00a0o\u00a0<strong>Canary Releases<\/strong>. Herramientas como\u00a0<strong>AWS CodeDeploy<\/strong>,\u00a0<strong>Spinnaker<\/strong>\u00a0o\u00a0<strong>ArgoCD<\/strong>\u00a0son esenciales para automatizarlos.<\/li>\n<li class=\"ds-markdown-paragraph\"><strong>Seguridad por Capas (Defense in Depth):<\/strong><\/li>\n<li style=\"list-style-type: none;\">\n<ul>\n<li><strong>Red:<\/strong>\u00a0Segmenta con VPCs, Subnets, Security Groups y NACLs.<\/li>\n<li><strong>Identidad:<\/strong>\u00a0Aplica el principio de m\u00ednimo privilegio con IAM Roles y Policies. \u00a1Nunca uses credenciales de acceso largo en instancias!<\/li>\n<li><strong>Secrets:<\/strong>\u00a0Gestiona secretos con servicios como\u00a0<strong>AWS Secrets Manager<\/strong>\u00a0o\u00a0<strong>Azure Key Vault<\/strong>. Nada de .env files en repositorios.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<hr \/>\n<p><strong>3. Monitorizar de Forma Integral y Segura: Los Ojos del Sistema<\/strong><\/p>\n<p>La monitorizaci\u00f3n es la ventana a la salud de tu sistema. Un arquitecto debe definir\u00a0<strong>qu\u00e9<\/strong>\u00a0se monitoriza,\u00a0<strong>c\u00f3mo<\/strong>\u00a0y\u00a0<strong>d\u00f3nde<\/strong>\u00a0se almacenan y analizan esos datos, garantizando siempre la seguridad.<\/p>\n<ul>\n<li>\n<p class=\"ds-markdown-paragraph\"><strong>El Paradigma de la Observabilidad:<\/strong>\u00a0Ve m\u00e1s all\u00e1 de la monitorizaci\u00f3n tradicional. Busca\u00a0<strong>Observabilidad<\/strong>: la capacidad de entender el estado interno de un sistema bas\u00e1ndote en sus outputs externos (logs, m\u00e9tricas y trazas).<\/p>\n<ul>\n<li class=\"ds-markdown-paragraph\"><strong>M\u00e9tricas (Metrics):<\/strong>\u00a0Captura latencia, tasa de errores, tr\u00e1fico y saturaci\u00f3n (las\u00a0<strong>Four Golden Signals<\/strong>). Usa\u00a0<strong>Amazon CloudWatch<\/strong>,\u00a0<strong>Prometheus\/Grafana<\/strong>\u00a0o\u00a0<strong>Datadog<\/strong>.<\/li>\n<li class=\"ds-markdown-paragraph\"><strong>Logs:<\/strong>\u00a0Centraliza y analiza logs de aplicaci\u00f3n y de infraestructura. Usa\u00a0<strong>OpenSearch<\/strong>,\u00a0<strong>Elasticsearch<\/strong>\u00a0o soluciones managed como\u00a0<strong>Google Cloud&#8217;s Operations Suite<\/strong>.<\/li>\n<li class=\"ds-markdown-paragraph\"><strong>Trazas (Traces):<\/strong>\u00a0Para sistemas distribuidos, implementa tracing distribuido con\u00a0<strong>AWS X-Ray<\/strong>,\u00a0<strong>Jaeger<\/strong>\u00a0o\u00a0<strong>Zipkin<\/strong>\u00a0para visualizar el flujo de una solicitud entre microservicios.<\/li>\n<\/ul>\n<\/li>\n<li>\n<p class=\"ds-markdown-paragraph\"><strong>Monitorizaci\u00f3n Proactiva y Reactiva:<\/strong><\/p>\n<ul>\n<li class=\"ds-markdown-paragraph\"><strong>Dashboarding:<\/strong>\u00a0Crea dashboards para una visi\u00f3n en tiempo real (estado reactivo).<\/li>\n<li class=\"ds-markdown-paragraph\"><strong>Alerting:<\/strong>\u00a0Configura alertas inteligentes que te avisen\u00a0<em>antes<\/em>\u00a0de que un problema afecte al usuario (estado proactivo). Evita la &#8220;fatiga de alertas&#8221;; que las alertas sean accionables.<\/li>\n<\/ul>\n<\/li>\n<li>\n<p class=\"ds-markdown-paragraph\"><strong>Monitorizaci\u00f3n de la Seguridad (Cloud Security Posture Management &#8211; CSPM):<\/strong><\/p>\n<ul>\n<li class=\"ds-markdown-paragraph\"><strong>Auditor\u00eda Continua:<\/strong>\u00a0Usa herramientas como\u00a0<strong>AWS Security Hub<\/strong>,\u00a0<strong>Azure Security Center<\/strong>\u00a0o\u00a0<strong>GCP Security Command Center<\/strong>\u00a0para tener una vista unified de tu postura de seguridad y detectar configuraciones inseguras en tiempo casi real.<\/li>\n<li class=\"ds-markdown-paragraph\"><strong>Detectar Anomal\u00edas:<\/strong>\u00a0Monitoriza patrones de acceso extra\u00f1os a tus recursos (e.g., un usuario accediendo desde una ubicaci\u00f3n inusual a las 3 AM).<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<hr \/>\n<p><strong>Conclusi\u00f3n: El Arquitecto como Garante del Sistema<\/strong><\/p>\n<ol>\n<li class=\"ds-markdown-paragraph\">El rol del arquitecto de software se ha expandido. Ya no es un te\u00f3rico alejado del c\u00f3digo y las operaciones. Es un l\u00edder t\u00e9cnico que debe tener un conocimiento t\u00e1ctil de la nube, impregnar cada decisi\u00f3n con los principios de seguridad y resiliencia, y asegurarse de que el sistema no es una caja negra.<\/li>\n<li class=\"ds-markdown-paragraph\">Dominar la tr\u00edada\u00a0<strong>Conocer -&gt; Disponibilizar -&gt; Monitorizar<\/strong>\u00a0de forma segura es lo que separa a un buen arquitecto de uno excepcional. Es el que no solo dise\u00f1a el camino, sino que tambi\u00e9n provee el mapa y la br\u00fajula para navegarlo con \u00e9xito.<\/li>\n<li>Estoy preparando una plataforma para ofrecer una serie de cursos, desde funciones muy concretas hasta un curso completo y estructurado para estos nuevos arquitectos de software, haciendo de este una comunidad donde ofrecer de manera constante formaci\u00f3n puntual o constante sobre como evoluciona el rol de este arquitecto de informaci\u00f3n.<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<p><a href=\"http:\/\/newarch.djimn.com\">http:\/\/newarch.djimn.com<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Tiempo hace ya cuando un arquitecto de software solo dibujaba diagramas de clases y eleg\u00eda patrones de dise\u00f1o. Hoy, el arquitecto moderno es un estratega tecnol\u00f3gico, un puente cr\u00edtico entre la visi\u00f3n de negocio, el desarrollo, las operaciones y la seguridad. Su misi\u00f3n ya no es solo dise\u00f1ar sistemas que funcionen, sino sistemas que sean\u00a0resilientes,&hellip; <\/p>\n","protected":false},"author":1,"featured_media":3114,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"_joinchat":[],"footnotes":""},"categories":[5],"tags":[60],"class_list":["post-3075","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tech","tag-arquitecturadesoftware-cloudcomputing-devops-sre-monitorizacion-seguridad-aws-azure-gcp-finops"],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/djimn.com\/wp-content\/uploads\/2025\/08\/softarch.drawio2.png?fit=1253%2C1411&ssl=1","jetpack_likes_enabled":true,"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/djimn.com\/index.php\/wp-json\/wp\/v2\/posts\/3075","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/djimn.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/djimn.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/djimn.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/djimn.com\/index.php\/wp-json\/wp\/v2\/comments?post=3075"}],"version-history":[{"count":6,"href":"https:\/\/djimn.com\/index.php\/wp-json\/wp\/v2\/posts\/3075\/revisions"}],"predecessor-version":[{"id":3115,"href":"https:\/\/djimn.com\/index.php\/wp-json\/wp\/v2\/posts\/3075\/revisions\/3115"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/djimn.com\/index.php\/wp-json\/wp\/v2\/media\/3114"}],"wp:attachment":[{"href":"https:\/\/djimn.com\/index.php\/wp-json\/wp\/v2\/media?parent=3075"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/djimn.com\/index.php\/wp-json\/wp\/v2\/categories?post=3075"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/djimn.com\/index.php\/wp-json\/wp\/v2\/tags?post=3075"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}