Cybersecurity training is notoriously difficult due to the infinite number of scenarios and challenges which are extremely challenging to translate into a curriculum. Haiku brings cybersecurity training to the masses and makes it fun, by gamifying cybersecurity skill development. Haiku’s product suite includes the World Of Haiku downloadable role-playing game and the Haiku Pro browser-based Cyber Range Access. World of Haiku teaches the player real world cybersecurity skills that align with Certified Ethical Hacker and other cybersecurity certifications in a cyberpunk role playing game. The Haiku Pro product gives the player access to potentially unlimited cyber ranges to evaluate their cybersecurity skills from a web browser in the Haiku-patented, cloud-based system.
Case Scenario & Challenge
Haiku’s product suite was running on AWS without any cost optimizations. Pre-allocated sizing and hard caps on the number of users who could play World Of Haiku, Haiku Pro and the Cyber Range at any given time created unpredictable server underload/overload. Haiku wanted a cloud-native version of their environments. The goal was to replace their existing architecture with a serverless, cloud-based system utilizing a combination of AWS, third-party products and micro services.
Challenge and Risk
Haiku’s existing server-based architecture was throttling usage which hampered the gamers’ skill building, degraded user experience, and inflated costs. On demand usage required leaving enough servers on to accommodate peaks but left too many servers on during valleys of lower usage.
Oak Rocket architected a cloud-based serverless front end architecture design with dynamic scalability on the backend. This solution creates the scale and elasticity needed to meet operational efficiency requirements while managing cost controls.
(1) infinite on demand capacity with the ability to scale and spin up game environments and cybersecurity training modules based on user demand.
(2) a better way to manage technical costs.
(3) a robust and consistently available gaming environment to ensure a user experience technically savvy consumers expect.
Oak Rocket provided services with the Haiku team in a phased approach including:
Phase 0: Discovery, Requirements Study and Assessment of Current Architecture.
- Review the current server-based architecture, AWS environment and requirements for functionality to support migration, Docker containerization and propose target cloud-based architecture model.
- Create Design/Build roadmap and dev/test execution plan with documentation for the cloud-based target architecture.
Phase 1: Design and Development of New Cloud-Based Architecture.
- Establish development standards and interaction protocol with Haiku IT team.
- Re-architecture of Haiku Cyber Ranger with Guac Server setup.
- Conduct Proof of Concept for containerization with Guac and Postgres setup.
- Create new containers for Haiku Cyber Range infrastructure for Guac Postgres Kail and range modifications.
- Utilize Figma for vector graphics editing and prototyping for glow effects and highlights.
- Database table structure for Tutorials.
- Set up development and test environments.
Phase 2: Coding.
- Coding in and new Docker container setup with testing.
- Regression test scripting.
Phase 3: Integration.
- UI Integration using Figma for World of Haiku game environments.
- API Integration for Skills, Badges and Leader Board.
- API Integration for Learning Path.
- User Password Setup.
- Payment Gateway integration using PayPal and Amazon Pay.
- Cyber Range Play Summary and Scoring Engine.
- Social media URLs.
- Migrate scripts.
Phase 4: Testing.
- Lambda setup and deployment with new infrastructure in DEV environment and deploy all ranges.
- Check various Ingress controller setups for deployment due to limitations of ALB Ingress controller.
- Nginx, HAProxy, Traefik Ingress Controller POC and testing to support 5000 concurrent World Of Haiku users.
- Troubleshooting in DEV environment with new setup.
- UAT Testing and Sign-Off: test features and feedback by performing UAT with Haiku users.
Phase 5: Implementation.
- Run new container implementations for games and Haiku Cyber Range.
- Nginx Ingress Controller support for dynamic scaling and load testing, troubleshooting and support for dynamic infrastructure to support 2500 concurrent Pro Cyber Range users.
- A snapshot of the resulting AWS infrastructure in the new cloud-based architecture included:
- EC2 Instance: t3a.2xlarge
- 15 Instance: 150 concurrent ranges (5 containers each)
- 250 Instance: 2500 concurrent ranges (5 containers each)
AWS Services in Use
- EC2 Instance: t3a.2xlarge
- Application Load Balancer Ingress Controller
- Elastic Load Balancer
- Amazon Pay
Third Party Applications Used
- Apache Guacamole Server
- Kali Linux
- Dell Power Manager Plugin
- Dynamic GOAL
Haiku was able to launch their gaming platform in the cloud so that capacity and performance needs could be met. By moving from a static server-based architecture with limited functionality to a cloud-based serverless front end architecture design utilizing AWS Lambda, ELB and the ALB Ingress Controller, Haiku scaled its gaming and Cyber Range availability to a growing customer base while incorporating elasticity to facilitate operational efficiencies and contain costs.