Screen Shot 2021-10-16 at 3.19.37 pm.png

Summary/Pitch

DevPlatform is a management and provisioning system for development environments run in the cloud.

It can handle provisioning, customisation, and deprovisioning of environments in multiple GCP regions, including providing build commands and custom content to preload.

Environments are accessible through a web URL and secured with Cloudflare Access, enabling login via identity providers such as Microsoft (Azure AD) and Google.

Development/design process

Phase 1: Product design, audience, and needs assessment

DevPlatform was created as an internal tool for myself. While I develop many projects locally, some require advanced computing, storage, or networking capacity in the development stage that would be infeasible to provide locally.

I needed a platform that could:

  1. Emulate my local development platform, and operate at the same or higher speed.
  2. Be more powerful than a local development platform, in terms of either network speed, CPU speed, storage or memory.
    1. Storage and network speed were identified as bottlenecks during local development and therefore prioritised for remote development.
  3. Integrate with commonly used tools such as Git.
  4. Be adjustable and configurable for various workloads.
  5. Be cost-effective and scalable.
    1. Ideally, multiple cloud environments should be able to stay running or preserved in order to reduce developer friction.

Phase 2: Product research

This year especially has seen the improvement and popularisation of remote development platforms as a mainstream DevOps solution. Some products that already existed that fulfilled part of the requirements were:

Product showcase and usage flow

Creating a new environment