Coursedog

Submit a Ticket My Tickets
Welcome
Login  Sign up

Coursedog Infrastructure Architecture

Table of Contents

Overview
Availability
Cloud Infrastructure Diagram
AWS
Additional Third-Party Tools
Related Articles

Overview

  • Coursedog’s infrastructure is hosted on an Amazon Web Services (AWS) cloud in the Ohio region under a secure Virtual Private Cloud (VPC) with its load balancer on a public subnet and servers hosting its applications on private subnets.

  • Security group rules are used on top to tighten the overall network security of the infrastructure. 

  • Each environment – dev, staging, and production – are separated via a standalone VPC as a security best practice.

Availability

Coursedog’s applications are hosted on multiple availability zones, which makes them highly available, plus they have dynamic auto scaling in place, which scales in and out depending on the traffic being hit.

Cloud Infrastructure Diagram

A PDF of this diagram is attached below for reference. 


AWS

We use many Amazon Web Services, as shown in the above diagram, but highlights include: 

  • AWS Route 53 is used for domain registration and DNS routing.
  • AWS WAF is used to protect Coursedog’s web applications from a variety of application layer attacks such as cross-site scripting (XSS), SQL injection, and cookie poisoning, among others.
  • AWS CodePipeline is used as a continuous delivery service.
  • AWS Elastic beanstalk is used to deploy Coursedog’s applications.
  • AWS Cloudwatch is used to store logs for the applications.
  • AWS S3 is used to store backups and artifacts.
  • AWS Elastic-cache Redis is used for caching mechanism.
  • AWS secret manager is used to store sensitive data like credentials or license key.
  • ACM is used to provision, manage, and deploy public and private Secure Sockets Layer/Transport Layer Security (SSL/TLS) certificates for use with AWS services.
  • AWS batch and ECS with Fargate is being used for our nightly merges.

Additional Third-Party Tools

In addition to AWS, we use the below third-party tools and services:

  • MongoDB Atlas – Used as our main database.

  • New Relic – Used by the Coursedog team to monitor the performance of our applications and infrastructure, as well as to get insight about the API’s transactions.

  • Bugsnag – Used to capture, triage, and solve errors on our backend and frontend apps. 

  • Uptime Robot – Used to monitor critical applications URL and send alerts in case any go down.

  • PagerDuty – Mapped with different tools like Uptime Robot and New Relic; in the event of any critical issues, concerned team/members are informed. 

  • Circle CI – Used to run the test suites.

  • GitHub – Used to store their code centrally in their private repos.

  • Sync – Performs regular scans of the codebase and can create Pull Requests (PRs) directly in Github. The Coursedog team uses it a few times a quarter to review issues it has raised. 

  • Terraform – Coursedog uses terraform to build and maintain their infrastructure via code.

Related Articles

Did you find it helpful? Yes No

Send feedback
Sorry we couldn't be helpful. Help us improve this article with your feedback.