Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat:proposed implementation #517

Open
wants to merge 13 commits into
base: master
Choose a base branch
from

Conversation

jimenamorazu
Copy link

  • Cloud provider: AWS
  • IaC solution: Terraform
  • Container orchestration service: ECS
  • CI/CD Pipeline: GitHub, AWS CodeBuild, AWS CodeDeploy and AWS CodePipeline

Here you can see a diagram describing the different services used to run this application:
Architecture Diagram

As shown in the diagram, the application sits behind an AWS Application Load Balancer and is higly avaiable thanks to the Elastic Container Service and run on Fargate instances as containers.

Every time a commit is pushed to the develop branch, a build process will start using AWS CodeBuild and this service will push the containerized image to a private ECR Repository. Once the new image is pushed, this will trigger a deployment via AWS CodeDeploy, in this case we are leveraging a canary deployment using Codedeploy.

The application is currently accesible via the following addresses (one with HTTPS support from my understanding of application requirements)

An /infrastructure in the repositoy's branch subfolder holds all the Terraform configuration files used. Additionally, the configuration has some rough modularization to set the tone for reusable configuration hopefully in the future, either via workspaces or module usage.

Below are some generic details about changes made to the application and the infrastructure:

Changes

  • Removed multicontainer from Dockerfile
  • Change on sqllite3 version - pined to 5.0.0
  • Change on node-sass version - upgraded to "^5.0.0" due to unsupported compatibility with gyp and python3

Recomendations

  • Pin version of source image
  • Use public-ecr or private-ecr-repository to prevent rate limiting without requiring Docker Hub Authentication

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant