Blog de Amazon Web Services (AWS)

Cómo la Oficina Administrativa de los Tribunales de Arkansas ahorró un 40% con la modernización de .NET

Por Michael Kaiser, Arquitecto de soluciones en AWS y
Jagadeesh Chitikesi, Arquitecto de soluciones sénior en AWS

 

La Oficina Administrativa de los Tribunales de Arkansas (AR-AOC) es una agencia dentro del poder judicial del gobierno del estado de Arkansas. La AR-AOC ofrece una amplia gama de servicios administrativos, legales, financieros, de gestión, de programas y de tecnología de la información a los tribunales estatales en nombre de la Corte Suprema de Arkansas. En esta entrada de blog, compartimos la historia de cómo AWS ayudó al equipo técnico de la agencia a alcanzar sus objetivos de modernización de .NET y a ahorrar un 40% en su costo total de propiedad (TCO). También abordaremos cómo la adopción de un enfoque basado en la nube y sin servidores ayudó a la agencia a alcanzar sus otros objetivos comerciales.

Motivación para modernizarse

«Un componente central del plan estratégico del poder judicial de Arkansas es adoptar la tecnología. «Los tribunales deben responder al cambiante entorno tecnológico proporcionando a los usuarios de los tribunales acceso remoto a la información, los registros y los servicios». AWS nos ayuda a proporcionar esos servicios a través de este proyecto». — Marty Sullivan, administrador del Tribunal Estatal de Arkansas

Para prestar un mejor servicio a los tribunales estatales de Arkansas y a la población de Arkansas, la AR-AOC, después de evaluar varios factores, decidió modernizar sus solicitudes antiguas. Estos sistemas heredados carecían de la integración y el flujo de datos adecuados y requerían la entrada manual de datos en cada sistema para mantenerlos coordinados. Esto hizo que los empleados de la corte dedicaran más tiempo a actualizar y mantener los registros en varios lugares. Cuando el mantenimiento manual no se realizaba correctamente, los sistemas a menudo terminaban con información contradictoria y datos obsoletos. Esto requería además que los usuarios del sistema dedicaran más tiempo a identificar y corregir las discrepancias en los datos.

La agencia decidió iniciar un esfuerzo de modernización con el Sistema de Administración Judicial (CMS), un componente de sus sistemas heredados que se utilizaba en las actividades diarias de los empleados judiciales y los abogados.

AR-AOC evaluó los costos de compra de un sistema tipo SaaS para satisfacer sus necesidades, pero se dio cuenta de que su precio era elevado: más de 80 millones de dólares. Solo hay unos pocos sistemas de gestión judicial comerciales listos para usar (COTS) en el mercado, y la mayoría de ellos no tienen las funciones necesarias para los sistemas judiciales más pequeños. Estos factores respaldaron la decisión de la agencia de modernizarse mediante la creación interna de un nuevo sistema.

Asociación de AWS con AR-AOC

Como primer paso, la agencia y el equipo de cuentas de AWS organizaron una sesión de Working Backwards (investigación a fondo) que sentó las bases para el proceso de adopción de la nube por parte de la agencia. Durante la sesión, el equipo de AWS trabajó en estrecha colaboración con las principales partes interesadas de AR-AOC para comprender la funcionalidad de la aplicación CMS. El equipo de AWS conoció sus desafíos actuales e identificó los objetivos empresariales para el proceso de modernización. Esto ayudó a establecer una visión compartida entre todas las partes interesadas clave de la agencia.

Como esta era la primera vez que AR-AOC trabajaba con la nube, el equipo de Arquitectos de Soluciones (SA) impartió una serie de talleres que proporcionaron a los equipos de TI una introducción a la habilitación técnica en AWS. A medida que la agencia se familiarizó con los servicios de AWS y operaba en un modelo de nube, las discusiones pasaron a temas avanzados que se centraron en la aplicación de CMS y su mapa de ruta hacia la modernización.

AR-AOC iba a crear la nueva aplicación de CMS utilizando.NET, la plataforma de desarrollo multiplataforma de código abierto, y SQL Server para crear la capa de persistencia de datos. El plan de modernización incluía la creación de contenedores de las aplicaciones.NET y el uso de los servicios de contenedores de AWS para alojarlas. La arquitectura se basó en un diseño de aplicación orientado a los servicios.

Los arquitectos de soluciones especializadas (SA) de AWS, que se especializan en cargas de trabajo de .NET y SQL Server en AWS, trabajaron en estrecha colaboración con la agencia para validar la arquitectura propuesta. Los SSA de AWS también organizaron una serie de talleres que proporcionaron al equipo de desarrollo de la agencia una experiencia práctica con los servicios de AWS.

Para impulsar y acelerar su proceso de modernización, la agencia y el equipo de AWS Microsoft Specialist SA se propusieron crear una prueba de concepto (POC) para un entorno integral que no fuera de producción, sin servidores y construido en la nube, junto con la automatización de la infraestructura y las canalizaciones de CI/CD. La POC fue dirigida y ejecutada por los equipos de desarrollo de software e infraestructura de AR-AOC, en estrecha colaboración con las SA especialistas de Microsoft de AWS, durante una semana laboral de 40 horas. Al final de la semana, tenían un prototipo funcional de la aplicación CMS desplegado en AWS para que sirviera como entorno de desarrollo y prueba.

«Trabajar en estrecha colaboración con el equipo de SA especializado de AWS desde el principio nos ahorró 3 meses de tiempo de desarrollo». — Tim Holthoff, CIO judicial de Arkansas

Arquitectura de soluciones

La arquitectura modernizada por la que acabó optando la Administración de los Tribunales de Realidad Aumentada estaba compuesta principalmente por Amazon Elastic Container Service (Amazon ECS) y Amazon Relational Database Service (Amazon RDS) para Microsoft SQL Server. Como AR-AOC estaba creando un CMS en .NET 6, el cliente podía usar contenedores de Linux en Amazon ECS con AWS Fargate. El uso de AWS Fargate les permitió eliminar la necesidad de provisionar y administrar servidores, pagar los recursos por aplicación y mejorar la seguridad mediante el aislamiento de las aplicaciones. El uso de contenedores de Linux eliminó la necesidad de licencias de Windows Server. Para la base de datos de aplicaciones, AR-AOC aprovechó su experiencia actual con SQL Server mediante Amazon RDS para SQL Server. Amazon RDS facilita la configuración, el funcionamiento y el escalado de las implementaciones de SQL Server en la nube. Es una base de datos duradera totalmente gestionada creada para cargas de trabajo empresariales a gran escala. El uso de un Amazon RDS totalmente gestionado permitió al equipo centrarse en el desarrollo de aplicaciones.

El diagrama de la figura 1 representa la descripción general de la arquitectura propuesta.

AWS architecture diagram depicting ALB fronting ECS Fargate containers using AWS Microsoft SQLServer RDS for databases.

  1. El tráfico del navegador web del cliente se dirige primero a Elastic Load Balancing (ELB) configurado como un balanceador de carga de aplicaciones (ALB). Según el encabezado del host y la ruta de la solicitud, el ALB reenviará la solicitud al servicio de API correspondiente para responder a la solicitud.
  2. La arquitectura aprovecha un ALB interno para ofrecer servicios (Case API) que no requieren acceso externo. Este ALB interno solo permite acceder a él a otros tribunales que funcionan en la nube privada virtual de Amazon (Amazon VPC) y, al mismo tiempo, restringe el acceso externo.
  3. Un clúster de Amazon ECS aloja los diferentes servicios de la aplicación:
    • Amazon ECS está configurado para distribuir las tareas entre las zonas de disponibilidad (AZ) a fin de ofrecer una alta disponibilidad y escalar automáticamente para gestionar los picos de tráfico.
    • Amazon ECS registra las tareas individuales con sus correspondientes objetivos de ALB.
    • El ALB dirigirá la solicitud al destino en particular en función de la URL del paquete.
    • Cuando la solicitud del ALB llegue a las tareas de AWS Fargate, el contenedor procesará la solicitud, extraerá los datos de la base de datos de RDS, si es necesario, y enviará la respuesta al ALB.
  4. Amazon RDS está configurado para la implementación en múltiples zonas geográficas a fin de aumentar la disponibilidad, la durabilidad de los datos y la tolerancia a errores en las instancias de base de datos. En caso de un mantenimiento planificado de la base de datos o de una interrupción imprevista del servicio, Amazon RDS realiza automáticamente la conmutación por error a la instancia de base de datos secundaria actualizada. Esta funcionalidad permite que las operaciones de la base de datos se reanuden rápidamente sin intervención manual.

Resultados al trabajar en sentido inverso a partir de los objetivos empresariales

Reducción del costo total de propiedad (TCO): al asegurarse de que todos los nuevos desarrollos utilizaran marcos multiplataforma (.NET y .NET Core), AR-AOC trasladó el entorno de alojamiento de aplicaciones de un entorno local basado en Windows a un entorno Linux sin servidores basado en contenedores de AWS. Con este cambio, redujeron sus tarifas de licencia de Windows Server y, al mismo tiempo, se pusieron en condiciones de aprovechar toda la innovación que se produce en las plataformas Linux.

Apagar los entornos cuando no están en uso: AR-AOC vio la oportunidad de optimizar aún más los costos de sus entornos no de producción al cerrar los recursos informáticos cuando no estaban en uso. AR-AOC y AWS diseñaron técnicas de escalado para sus servicios de Amazon ECS mediante Amazon CloudWatch y AWS Lambda y para sus instancias de RDS mediante AWS Systems Manager. Los SA de AWS proporcionaron orientación sobre el uso del kit de desarrollo en la nube de AWS (AWS CDK) para construir soluciones que permitieran a AR-AOC cerrar los recursos fuera del horario laboral y devolverlos durante el horario laboral habitual. Esta sencilla solución les permitió configurar fácilmente la programación de todos los servicios de Amazon ECS y las bases de datos de RDS sin configurar manualmente cada recurso.

Agilidad a través de DevOps: cuando AR-AOC emprendió su viaje a la nube, identificó la agilidad como uno de sus principales objetivos empresariales. A medida que aumentaba el alcance de la aplicación y aumentaba el tamaño de su equipo, querían ser ágiles en la forma en que operaban y optimizar tanto la productividad de sus desarrolladores como la confiabilidad de sus operaciones. AR-AOC adoptó la mentalidad de DevOps desde el principio de su viaje a AWS y se ha posicionado para aprovechar las ventajas de la velocidad, la rapidez de entrega, la fiabilidad, la escalabilidad, la mejora de la colaboración y la seguridad a medida que crea más aplicaciones y funciones para sus clientes en AWS.

Herramientas conocidas: los equipos de desarrollo de AR-AOC utilizan Visual Studio para el desarrollo de .NET. Para este proyecto, utilizaron el complemento AWS Toolkit para Visual Studio, que les ayudó a interactuar con sus entornos de AWS sin abandonar su IDE favorito.

Optimice el rendimiento de la aplicación CMS y reduzca los costos mediante la tecnología sin servidor: tras explorar varias opciones, AR-AOC optó por el motor AWS Fargate sin servidor para alojar los servicios.NET en contenedores. Este enfoque redujo tanto el tiempo de mantenimiento de la infraestructura como los costos de infraestructura. AR-AOC optimizó aún más sus costos al diseñar Amazon ECS para reducir el recuento de tareas de Amazon ECS a cero durante las horas de descanso en sus entornos no productivos.

La base de datos gestionada eliminó los gastos operativos: al pasar a un servicio de base de datos gestionada, Amazon RDS para SQL Server, trasladaron los esfuerzos necesarios para su mantenimiento operativo a AWS, lo que permitió a los equipos de desarrollo centrarse más en el desarrollo de aplicaciones. De acuerdo con el objetivo de optimización de costes, el equipo de AR-AOC y las SA de AWS trabajaron en una solución para iniciar y detener automáticamente la ejecución de sus instancias de Amazon RDS en función de sus horas de uso normales en entornos que no son de producción. AR-AOC ahorró un mínimo del 40% en costos de cómputos de bases de datos y licencias de SQL Server mediante la implementación de esta estrategia.

Lo que viene después para AR-AOC

Ahora que AR-AOC está más familiarizada con el entorno de AWS, continúa optimizando el costo y el rendimiento de su aplicación de CMS:

  • Modernización de bases de datos: Para optimizar aún más los costos, la agencia está buscando formas de modernizar su capa de base de datos. Tras obtener más información sobre este motor empresarial, el equipo de AWS SA proporcionó a la agencia una experiencia práctica con Amazon Aurora. Para ahorrar costos de licencias de SQL Server, AR-AOC tiene previsto trasladar su base de datos a Amazon Aurora mediante Babelfish para Amazon Aurora PostgreSQL.
  • Consolidación de Elastic Load Balancing for ALB: La agencia también está trabajando para consolidar varios ALB en uno solo. Están reconfigurando sus aplicaciones para aprovechar el enrutamiento basado en rutas.

Conclusión

Al asociarse con AWS, AR-AOC creó con éxito una aplicación de CMS moderna, basada en la nube y orientada a los servicios mediante los servicios de AWS Fargate sin servidor. Utilizaron AWS Toolkit para Visual Studio, que se integra en las herramientas nativas de .NET, para crear y configurar sus entornos no relacionados con la producción. La agencia cumplió sus objetivos empresariales mediante la iteración, el ajuste y la creación de una arquitectura que redujo el costo total de propiedad y, al mismo tiempo, optimizó el rendimiento de sus aplicaciones. También redujeron sus gastos operativos al pasar a los servicios gestionados siempre que procediera.

Al aprovechar los servicios sin servidor de AWS, como AWS Fargate, para ejecutar sus contenedores de Linux, AR-AOC logró un ahorro de aproximadamente un 40% en recursos informáticos en comparación con el alojamiento de su aplicación en EC2. Al modernizar su aplicación a una versión multiplataforma moderna de .NET, también ahorraron en licencias de Windows Server.

Este artículo fue traducido del Blog de AWS en Inglés

 


Acerca de los autores

Michael Kaiser es arquitecto de soluciones en AWS. Trabaja con clientes del sector público local y estatal en los EE. UU. para ayudarlos a modernizar sus procesos comerciales. Aporta 13 años de experiencia trabajando en el gobierno estatal como empleado del sector público, desde estudiante hasta subdirector de TI. Sus pasiones son ayudar a los desarrolladores y administradores de sistemas a integrar procesos para trabajar en estrecha coordinación y automatización.

 

 

 

 

Jagadeesh Chitikesi es un arquitecto de soluciones sénior que se especializa en Microsoft en AWS. Ha trabajado como desarrollador y arquitecto para empresas de todos los tamaños en los sectores de salud, finanzas, comercio minorista, servicios públicos y gobierno durante los últimos 20 años. Le apasiona la nube y toda la innovación que ocurre en AWS.

 

 

 

 

Revisores

Luciano Bernardes actualmente trabaja como Sr Solutions Architect en AWS, especializándose en cargas de trabajo de Microsoft. Con 16 años de experiencia en el mercado, se ha desempeñado principalmente en consultoría técnica especializada en Microsoft, para clientes de diversos verticales, con demandas enfocadas en infraestructura on-premise y en la nube. Como SA, trabaja en estrecha colaboración con clientes y socios consultores en los EE. UU. y LATAM, para apoyarlos en la toma de decisiones y revisión de la arquitectura de las cargas de trabajo de Microsoft en la nube de AWS.

 

 

 

 

Víctor Jiménez es un arquitecto senior de soluciones de socios principales de AWS con sede en México. Cuenta con experiencia de 15 años en cargas de trabajo de Windows Server principalmente en roles de infraestructura, provisionamiento y automatización. Ha adquirido experiencia en los últimos 5 años en tecnologías en la nube. En AWS, lleva a cabo tareas de apoyo con los socios estratégicos para guiar a los clientes en la adopción de su viaje a la nube y modernización aprovechando las herramientas y servicios optimizados para su negocio.