Architecture - SVF-tools/WebSVF GitHub Wiki
Architecture Diagram
The above architecture diagram shows the key components of WebSVF including the landing page, AWS services and the Docker image
Landing Page
The landing page which is hosted in GitHub pages is where end users can login to view their code-spaces with prebuilt SVF environment. The landing pages consists of 3 main pages : Login/Signup, About and Dashboard
Landing page not only handles the view of the website but also communicates with the firebase to store user data and authenticate users (login and signup). It also consists of code to interact with AWS services using AWS SDK. So every time a user registers, certain AWS functions get fired that communicates with AWS cloud to prepare a code-space for users with SVF tools/extensions pre-installed.
Elastic Container Service (ECS)
The elastic container service pulls the image from Docker Hub and configures it run on cloud according to our settings. The primary components for ECS are Cluster (task groups) , Tasks (Single Instance) and Task Definition (container configuration). Each task is associated with a task definition where the container is configure. It important that the developer is familiar with these components in order to setup WebSVF on cloud. The ECS is configured via the AWS console and only needs to be done once during the initial setup. The tasks will be running on EC2 instances managed by the ECS service.
You can find detailed information about ECS here