This name is crappy, i know.
BYOC, or Bring Your Own Container, is a single-click container deployment application. It lets you deploy your backend/frontend container of any runtime to the cloud, making it instantaneously accessible in any region of the world you'd like! The software allows you to pass your exposed port number and asks for your container image repository link, and the rest is taken care of. It returns you a public URL with a safe DNS. All the hard-work is automated.
Here's the catch! It ensures that your container can scale up and down based on resource usage - no hassle, no BS.
BYOC(Container_repo_url, port) → public_access_url
Technologies
Who tf is up for some nerd talks! here we go:
A Golang server:
This server talks to the AWS backend and contains all the core functionalities of deployments/deletion with the necessary algos.
This part of the code base is mostly meant to use the AWS SDK and leverage it's packages.
AWS:
In the background we are leveraging AWS regions, its cutting edge fargate instances, application load balancers, target groups, tasks and clusters.
AWS Elastic Container Service to put everything in a single blanket.
NextJs Server [in typescript]:
This serves two purposes, firstly, serving the frontend.
Secondly, it also acts as a reverse proxy, so that the end user can query a custom generated sensible link instead of some random ugly looking string.
PostgresDB:
Everyone knows it! To store all the data, logs and configs of each user.
I plan on using it as a queue as well someday lol :P
Docker Compose:
- To serve local deployment and development purposes.
Docs and future
The project is nascent, I think it has a of of scope to improve and explore but these things can only be achieved through a good community or even investors to take it to the next step. You can Read in even greater details here
Look at the working product here
Drop a hi in my twitter to discuss further or email nilayguptaforwork@gmail.com