This article details how to build your own cloud container environment with SSH access, persistent storage and team collaboration features.
The first part outlines basic infrastructure setup using AWS, GCP or Azure. This includes provider configurations, main configuration, module files and basic project structure.
The second part outlines the different cloud provider modules that contain resources like security groups, instances, volumes, disks, and firewall rules.
The third part outlines an ultimate setup script that includes some common development tools, a shared workspace with proper permissions, updated authorized keys, and instructions for entering the development environment.
The fourth part outlines how to add/manage developers, and a directory structure for shared projects, personal workspaces and common utilities.
Finally, the article provides pro tips on cost saving solutions, permission fixing and container management, advice on choosing the right setup and some resource usage alerts.
This article caters to single developers, small teams of 2-3 developers, and larger teams with multiple service instances.
Cost breakdown and optimization strategies for compute costs, storage costs, data transfer and monitoring resource usage are outlined, as well as how to schedule shutdowns and implement resource or cost monitoring.
This article concludes by stating the importance of having a smooth development experience that ultimately pays for itself in improved productivity.