DEV Community

Lucas Draney
Lucas Draney

Posted on

Avoid cloud providers when you can

Avoid cloud providers when you can;
Or, at least, don't be cloud-dependent.

Businesses should aim to own their own infrastructure.
Aim to only use the cloud for temporary scaling or development needs.
Aim for self-hosting, private cloud projects.
Cloud "serverless" frameworks are often convenient;
but are ultimately expensive and stifling to iteration,
especially for businesses expanding their teams,
but also for many startups and one-man-band devs.

Aim for open-source.
Aim to build your MVP cloud-natively.
Containerization is where it starts.
For example, set up your frontend:

 docker run --rm -v ${PWD}:/app -w /app \
 node:bookworm \
 npx create-next-app@latest . \
 --typescript \
 --eslint \
 --tailwind \
 --app \
 --src-dir \
 --import-alias "@/*"
Enter fullscreen mode Exit fullscreen mode

Then set up your backend:

docker run --rm -v ${PWD}:/app -w /app ruby:bookworm \
 bash -c "gem install rails && \
 rails new backend \
 --api \
 --database=postgresql \
 --skip-javascript \
 --skip-asset-pipeline \
 --skip-sprockets \
 --skip-action-cable \
 --skip-action-mailbox \
 --skip-action-text \
 --name=backend"
Enter fullscreen mode Exit fullscreen mode

Set up your Dockerfiles;
then authentication, fullstack routes and integrations;
then pipelines, secure hosting, and observability.
Manage your own data and tech stack - work within your own timelines
Limit your external dependencies, vulnerabilities, and tech debt distractions

For a scalable, feature-focused, maintainable application,
Avoid cloud-dependency.

Top comments (0)