About ByteIQ
ByteIQ is a digital health startup focused on big data, they planned to use AWS to run all products and leverage AWS security and compliance standards. ByteIQ worked with DNX Solutions to design, implement and support an efficient AWS platform which allowed them to achieve 30% cost savings compared to the projected costs.
The Business Challenge
ByteIQ asked DNX to provide a solid design and implementation of a fresh new AWS platform to operate the new product. The new environment was required to be secure by default to follow the high compliance standard for medical applications in Australia. The application consists of 3 different parts:
-
Application Portal
-
Application Data Storage/Processing
-
Application Client Module
This platform must have well-defined requirements to cover security, cost-efficiency, high availability. DNX uses the well-architecture framework to address application migration projects.
The Solution
Following the AWS Well-architected framework DNX proposed to build a AWS foundation and modernize the current applications leveraging Docker containers applying on top of it blue/green deployment strategy. Essentials features to a DevOps oriented culture.
The Project
DNX proposed a two phased project to address the requirements:
Phase 1 — AWS Foundation: Multi-account AWS platform using infrastructure as code and CICD Pipelines using the following AWS services:
-
AWS Organisations/Consolidated billing
-
Single Sign-on (SSO) using GSuite
-
Client VPN to connect to private resources
-
Multi-tier VPC (Public DMZ, Private and Secure subnets)
-
S3 bucket for staging data
-
KMS strategy to apply encryption at rest
-
AWS GuardDuty/CloudTrail/SNS Topics for alerting
-
VPC Peering
Phase 2 — Application migration: All applications were migrated to Docker containers and deployed using AWS ECS with Spot instances:
-
AWS ALB/CloudFront/WAF for the application portal
-
AWS ECS workers for Data processing using CloudWatch Events
-
ASG for Containers using CPU Metric
-
ASG for EC2 using Memory Metrics
-
Zero Deployment Blue/Green using CodeDeploy
-
CICD Pipelines using Gitlab
-
DynamDB to store NoSQL data from medical clinics
-
RDS Aurora MySQL to store portal metadata.
During the first phase, the DNX team worked to deliver the AWS platform to support the project, and in the second phase DNX and ByteIQ team worked together to understand the best patterns to deploy the application stack.
The client application was written in Java and we design an integration to push data to S3 (encryption in transit and at rest) to send daily data consumption from medical clinics.
Once a group of files are saved in S3, a CloudWatch Event triggers the data processing pipeline using ECS, this process parses the unstructured data and saves to DynamoDB.
The application portal was migrated to Docker (PHP) and deployed behind an Application Load Balancer (ALB).
AWS CloudFront and Web Application Firewall (WAF) were added to ensure a better experience for users and at the same time enhance the application security.
The following high-level design diagram summarises the used AWS stack:
Deployments strategy
DNX designed and implemented a CI/CD pipeline with zero-downtime where blue and green deployment architecture was applied as proposed initially. We Gitlab as the DevOps lifecycle tool and its CI/CD pipelines achieving the customer’s goals promoting a value stream to our costumers.
Conclusion
Migrating their workloads to AWS obtained a reliable, robust, secure and cost-effective cloud platform, allowing them to experiment on a breadth of new services for building a more competitive platform for their customers rapidly using continuous delivery concepts.
The main concept that drives data-related projects is how to transform data in insights to impact the business.
By using DNX services, ByteIQ could focus on their core business and leave the cloud platform challenges with us.
At DNX Solutions, we work to bring a better cloud and application experience for digital-native companies in Australia. Our current focus areas are AWS, Well-Architected Solutions, Containers, ECS, Kubernetes, Continuous Integration/Continuous Delivery and Service Mesh. We are always hiring cloud engineers for our Sydney office, focusing on cloud-native concepts. Check our open-source projects at https://github.com/DNXLabs and follow us on Twitter, Linkedin or Facebook.
No spam - just releases, updates, and tech information.Stay informed on the latest
insights and tech-updates