Caso de éxito Hypercube

Soluciones de seguridad y optimización en la nube de AWS.
Hypercube es una plataforma que ofrece soluciones de seguridad y optimización de costes en la nube. Su plataforma utiliza tecnología de inteligencia artificial para monitorear la actividad en la nube y detectar posibles vulnerabilidades y amenazas a la seguridad. Además, ayuda a las empresas a cumplir con requisitos regulatorios como CCPA, GDPR, PCI DSS, HIPAA, POPI, PIPEDA, LGPD, PDPB y APA, ofreciendo visibilidad completa y cumplimiento para controlar costos y evitar violaciones de seguridad.
La plataforma es adecuada para empresas de todos los tamaños y formas, y permite a los clientes monitorear y optimizar el uso de los recursos en la nube en función de las necesidades del negocio.


Como startup, lo que necesita es disponer de una infraestructura fiable y escalable que pueda soportar el desarrollo y despliegue de aplicaciones de software, esta infraestructura suele incluir componentes de software, redes y almacenamiento optimizados para un alto rendimiento y disponibilidad.
Además, Hypercube tiene que ser capaz de ofrecer soluciones que se adapten a las necesidades específicas de sus clientes, ya sea proporcionando opciones de precios flexibles, ofreciendo características de seguridad robustas, o la entrega de atención al cliente de primera categoría.
Su equipo era pequeño y les obligaba a concentrarse en desarrollar y gestionar la menor cantidad de infraestructura, desplegar lo más rápido posible, centrarse en experimentar muchas funciones para sus clientes e iterar constantemente.
Arquitectura con DevOps
Se llevó a cabo la migración de la lógica del sistema que antes estaba principalmente ubicada en los controladores de código fuente a funciones Lambda, que se enfrentan a los puntos finales del administrador de API. Asimismo, se estableció un flujo completo en CodePipeline para aplicar CI/CD cada vez que se agrega o modifica una nueva funcionalidad. Además, este sistema consta de varias aplicaciones, de las cuales surgieron contenedores administrados con AWS Fargate.
Esta nueva arquitectura orientada a DevOps permitió a Hypercube desarrollar características de forma más fácil y rápida, tal como se espera de una start-up.
Para esta solución se utilizaron los siguientes servicios:
- AWS Lambda: para ejecutar toda la lógica de negocios y funciones que originalmente se ejecutaban localmente en una arquitectura de modelo-vista-controlador.
- AWS API Gateway: para generar los puntos finales de microservicios que serán consumidos desde el front-end del sistema. Todos estos puntos finales están conectados a sus respectivas funciones lambda.
- AWS VPC: para conectarse con el entorno local y mantener segura la comunicación entre los servicios de AWS (backend y frontend).
- ECR: para almacenar imágenes de Docker.
- ECS: Fargate para alojar aplicaciones de backend .NET que necesitan ser escuchadas.
- CodeCommit: para versionar el código de todas las aplicaciones y tener una mejor conexión con AWS Developer Toolkit.
- SAM: para crear plantillas de infraestructura como código.
- CloudFormation: infraestructura como código.
- CloudWatch: para controlar los indicadores de nivel de servicio del sistema (saturación, latencia, errores, etc.).
- IAM: para controlar los permisos de los usuarios con el principio de menor privilegio.
- S3: para almacenar la recopilación y análisis de datos.
Resultados exitosos

- Duración de los nuevos despliegues previamente (incluyendo la construcción y pruebas): Mínimo 8 horas.
- Duración de los nuevos despliegues actualmente (incluyendo la construcción y pruebas): Máximo 20 minutos.
- Frecuencia de los nuevos despliegues de funcionalidades previamente: una cada 2 o 3 días.
- Frecuencia de los nuevos despliegues de funcionalidades actualmente: cuando se integra una nueva funcionalidad en el repositorio de código.
- Menos gestión de infraestructura para más tiempo de desarrollo de código y funcionalidades.
- Costos de infraestructura actualmente (infraestructura basada en la nube orientada a microservicios.)