Distro.io: Web App Modernisation and Infrastructure Optimisation
Results Highlight
- Infrastructure as Code: The deployment was fully automated, ensuring consistent and rapid updates.
- Compliance & Security: The platform met PCI-DSS compliance standards, significantly enhancing data protection.
- Scalable Architecture: Distro.io’s platform can now easily scale to meet future demands.
- Optimized CI/CD: The team is now able to deploy new features 70% faster, with higher reliability and lower risk.
Architecture Stack
Assembling the right systems and processes on an ecosystem to drive innovation and success on any project we take on.
Assembling the right systems and processes on an ecosystem to drive innovation and success on any project we take on.
AWS SERVICES:
AWS ECS
AWS Fargate
AWS QuickSight
AWS Lambda
AWS Aurora
AWS S3
AWS Route 53
AWS VPN
AWS WAF
AWS GuardDutyA
WS SecurityHub
AWS Control Tower
INTEGRATIONS:
DATADOG
GITHUB
The Challenge
Revolutionizing Web Infrastructure for Growth
Distro, LLC (Distro.io), a cutting-edge platform for managing web applications, faced scalability challenges with their legacy infrastructure. Their current architecture limited the speed and efficiency of deploying updates and scaling the application to meet growing demands. As Distro.io’s customer base expanded, the need for a more resilient and scalable platform became clear.
Distro.io needed a solution that would modernize their infrastructure, improve operational efficiency, and maintain high availability for users, all while ensuring strong security compliance. The team sought a solution that would help them scale seamlessly while reducing downtime and improving deployment reliability.
The Process
Transforming with Cloud Assembly and AWS
Our journey towards modernization was characterized by careful planning and a phased execution strategy, designed to ensure minimal disruption. The AWS Cloud Adoption Framework (CAF) was instrumental in harmonizing stakeholder expectations and crafting a clear roadmap for transitioning to a robust, forward-thinking infrastructure. By leveraging the AWS Cloud Development Kit (CDK), we developed a new infrastructure that was not only compliant, secure and scalable but also cost-efficient, laying a solid foundation for high availability and future growth.
To address Distro.io's needs, Cloud Assembly led a comprehensive modernization project utilizing AWS. The focus was on containerization, scalability, performance, and compliance, ensuring that Distro.io could meet both current and future demands.
Key project phases included:
- Containerization & Modernization: Existing application components, including the React frontend, Node.js backend, and Gandalf Utility tool, were containerized using Docker, enabling consistent environments, easier management, ECS Batch Deployment for faster deployment, and better scalability. This modernization approach ensured seamless deployment pipelines and reduced operational overhead.
- AWS Infrastructure Setup: The solution leveraged AWS ECS (Elastic Container Service) Fargate to deploy and manage containerized applications. ECS was configured to automatically scale tasks based on demand using scaling rules, ensuring the system could handle increased traffic without performance degradation. Backend infrastructure included AWS RDS Aurora for a high-performance, scalable database, and AWS S3 for secure and reliable object storage. Auto-publishing tasks to the ALB facilitated smooth traffic distribution across ECS tasks, ensuring high availability.
- CI/CD Implementation: A robust CI/CD pipeline was implemented using GitHub Actions, automating the build, test, and deployment phases. The pipeline supported ECS Batch Deployment, enabling faster and zero-downtime rollouts. Integration with version control ensured efficient collaboration and streamlined application updates.
- Security & Compliance: ECS Fargate deployments were configured to adhere to AWS security best practices, ensuring isolated tasks within VPCs with strict security group and NACL rules. Data protection was enhanced with encrypted communication and storage (TLS for in-transit, KMS for at-rest). AWS GuardDuty and AWS Security Hub were integrated for proactive security monitoring and compliance checks, while Fargate's security-by-default features ensured that no infrastructure was left exposed.
- Cost Optimization: The solution incorporated ECS Fargate Spot Instances for cost-effective task execution, significantly reducing operational expenses without compromising reliability. Resource scaling was managed dynamically through ECS scaling rules, ensuring optimal resource usage. Costs were further controlled through reserved database instances and tiered S3 storage.
- Monitoring & Performance Optimization: With AWS CloudWatch and DataDog integrated, application and network performance were continuously monitored. These tools ensured system uptime and responsiveness, meeting stringent performance benchmarks, including a guaranteed 99.9% availability SLA.
- Infrastructure as Code: The entire AWS infrastructure was deployed using AWS CDK (Cloud Development Kit). Tasks were organized into modular stacks, improving maintainability and promoting reusability across environments. This approach simplified updates and scalability while ensuring the architecture adhered to best practices.
The Result
A Future-Ready, Secure, and Scalable Platform
The result of this collaboration was a high-performing, secure, and compliant loan platform that not only met the immediate demands of Distro.io and its client BPI but also positioned the company for future growth. By leveraging AWS's powerful suite of services and Cloud Assembly’s strategic insights, Distro.io was able to achieve:
- High-Availability and Scalability: The Distro.io Project was designed for highly available and elastic infrastructure, capable of handling increased traffic and transaction volumes without compromising performance. ECS services were distributed across multiple Availability Zones, ensuring uninterrupted operations even in the event of an AZ failure. Traffic was routed intelligently to healthy ECS tasks using Application Load Balancer (ALB) health checks, minimizing downtime. Additionally, service configurations automatically restarted failed tasks, maintaining consistent availability.
- Scalability was achieved through well-defined scaling policies that dynamically adjusted the number of running tasks based on CPU and memory utilization as well as application demand, ensuring optimal resource utilization.
- Security & Compliance: All deployments adhere to AWS security best practices, leveraging managed services for encryption, logging, and monitoring. ECS/Fargate tasks are deployed in private subnets with strict security group rules and NACL configurations, ensuring isolation and data protection. Regular security assessments are conducted to identify and mitigate vulnerabilities. Secrets are managed securely using AWS Parameter Store with KMS, while AWS WAF protects public endpoints from common threats. Regular security assessments and the integration of AWS GuardDuty provide proactive vulnerability detection and mitigation.
- Cost Optimization: The Distro.io Project achieved cost-effective scalability by leveraging AWS cost optimization tools and features. ECS/Fargate Spot Instances were used for non-critical workloads, reducing compute costs by up to 70% compared to On-Demand pricing. This allowed the infrastructure to scale efficiently without exceeding budget constraints.
By optimizing resource utilization through right-sizing and scaling policies, Distro.io ensured that infrastructure costs remained aligned with business needs while maintaining high performance and reliability. - Faster Deployments: The implementation of a new CI/CD pipeline reduced deployment times by 60%, enabling quicker releases and continuous platform improvements. The pipeline utilized ECS batch deployments, allowing updates to be rolled out incrementally with minimal impact on availability.
- Infrastructure as Code: The infrastructure was defined and managed using AWS CDK, with tasks organized into separate stacks to improve modularity and maintainability. This approach allowed for targeted updates and independent deployments, ensuring that changes to one part of the infrastructure did not disrupt others. These practices streamlined the deployment process, minimized risks, and ensured seamless integration of new features.
State of Art Infrastructure
Their architecture stack was designed to foster innovation and ensure success across all their projects. By integrating leading technologies and processes, we've created a dynamic ecosystem that drives excellence!
Let's Work Together
Our AWS team brings a wealth of tools and experience that allows us to work get the job done efficiently and effectively. Because at the end of the day, results matter to us just as much as they matter to you.