Transitioning from Local Development with Tilt to Cloud-Based Environments for AI Projects

0
4
Asked By CuriousCoder92 On

Hello everyone! We're a small R&D startup (around 8-10 people) currently using EKS for our production environment. However, in development, we rely on a local Tilt setup that manages individual clusters on each Mac.

We're facing a couple of challenges with this configuration: 1) Running Tilt locally consumes a lot of resources, making it tough on our machines. 2) With the introduction of AI coding agents, some team members prefer utilizing worktrees for parallel branches, but Tilt doesn't support this natively.

I'm looking to transition our development environment to the cloud, preferably on AWS. While our DevOps team has implemented a cloud-based solution, it currently supports only a single tenant.

Here are some requirements I have: 1) It should be easy to spin up a cluster or a single namespace that can recycle after a day of inactivity. 2) For practicality and cost-efficiency, we want to rebuild only the modified services while sharing most other infrastructure and utility services between namespaces. Some services like databases may need to be tailored for each namespace.

I've check out options like Metalbear, Signadot, Okteto, DevSpace, and Garden.io, but none seem to fit our needs perfectly. Any suggestions would be greatly appreciated! Thanks!

5 Answers

Answered By TechSavvyBoss On

Most users seem to go for a shared cluster approach with separate namespaces for each branch. You might want to check out tools like vCluster or DevSpace—they're quite popular for creating ephemeral dev environments and integrate well with EKS.

Answered By LeanOpsDev On

We built a setup where every branch gets an ephemeral namespace, and we share basic services while only rebuilding the necessary changes. This approach keeps costs low and speeds up deployment times, even when working in parallel trees. This is what we do at LeanOps Technologies if you're interested in comparing setups!

Answered By CodeCrafter On

We found a hybrid approach to be the most effective—stable infrastructure in the cloud for the backbone, but local hot code paths for development. It gives a nice balance!

Answered By CloudExplorer On

Are you utilizing k8s APIs in your product? If not, just using Docker Compose might be simpler for your needs!

Answered By DevGuru99 On

I worked on a similar setup at a previous job! We used Tilt with a local cluster initially, but as our projects scaled, it became cumbersome. I ended up dedicating a VM for each developer with a single node k3s cluster. Tilt was configured to operate with these single-node clusters, which worked great! You can manage parallel work by having separate source folders and running each against a different namespace.

Related Questions

LEAVE A REPLY

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.