Solution

  • Infrastructure Design

    The infrastructure was designed to support dynamic scaling of EC2 instances by utilizing the EC2 Autoscaling.

  • Creating Terraform Templates For Infrastructure

    Terraform is an open-source Infrastructure as Code (IaC) tool developed by HashiCorp that allows users to define and manage AWS infrastructure using a high-level configuration language known as HashiCorp Configuration Language (HCL). The Terraform template contained modules for networking, compute, database and caching components and were called different environments for different sets of configuration.

  • Creating Automated Deployment Pipelines

    For build and deployment, Gitlab CI was used. The jobs were triggered automatically for 'dev' environment when new commits were pushed to 'master' branch. The 'production' deployment was triggered manually via GitLab.

Tech Stack

- Cloud : AWS - Hosting Platform : AWS EC2 - CI/CD : GitLab CI
- Database: AWS RDS Aurora for MySQL - Assets Storage: AWS S3 - Caching: AWS Elasticache (Redis)
- Application Framework: Pimcore 10 (PHP Symfony) - IAC: Terraform