# Contents

TL;DR in 3 key points:

- Daytona is a development environment platform designed to address common pain points in the industry, offering scalability, security, cost-effectiveness, and flexibility.

- It is built on technologies like Docker, Kubernetes, and Dev Containers, ensuring a seamless user experience and accommodating thousands of users on cost-effective infrastructure.

- Daytona's unique blend of technology choices and its focus on scalability and flexibility make it a revolutionary development environment platform for businesses, providing a secure and flexible solution that meets their unique needs.

Have you ever wondered what's behind the seamless operation of your favorite cloud-based applications?

Or perhaps you've been intrigued by the technology that powers the development environments you use daily?

I want to share some exciting details about Daytona, our state-of-the-art standardized development environment platform.

Daytona is designed to address common pain points in the industry, offering scalability, security, cost-effectiveness, and flexibility.

But what's the secret sauce that makes Daytona so unique?

Let's unravel the story behind its innovative technology choices.

The Influence of Codeanywhere: A Trip Down Memory Lane

Our previous venture, Codeanywhere, was born over a decade ago.

Inspired by the concept of "Google Docs for developers", Codeanywhere aimed to create a scalable product for a global audience.

This approach was a logical step during the Web 2.0 era, which witnessed a significant shift towards cloud-based solutions.

Our journey with Codeanywhere shaped the development of Daytona.

We envisioned a Software-as-a-Service (SaaS) product that was scalable, secure, cost-effective, and accessible.

However, the challenge lay in the cost of infrastructure. Free compute services offered by some companies were not viable for the long haul.

Virtual Machines vs Containers: The Great Debate

When we started working on the dev box, our universal development environment feature, we faced a choice: virtual machines (VMs) or containers.

VMs were ruled out due to cost considerations. That's when we discovered OpenVZ technology, which allowed us to over-provision our infrastructure and offer compute services without headaches.

This model served Codeanywhere well for the next decade.

Daytona's Inception and Our Tech Choices

With Daytona, we aimed to penetrate the B2B market while overcoming the challenges we knew well with Codeanywhere.

We needed technology that could still support over-provisioned compute, but without relying on OpenVZ.

After careful consideration, we decided to separate the infrastructure dependencies from the application logic.

This decision opened up new avenues for future development.

Our focus was to select technologies that were not only suitable for a SaaS model but also catered to our target market's specific needs.

Docker, a popular containerization technology, had become the standard for building and shipping applications.

One product that inspired us was an early version of a development environment called Codenvy. They introduced a concept that later evolved into the Devfile standard, now widely used by platforms such as Eclipse Che, AWS CodeCatalyst, Gitpod, and JetBrains.

Exploring Standards for Development Environment Configurations

As we dug deeper into Kubernetes internals, we discovered three open-source standards for development environment configurations: Dev Container, Devfile, and Nix.

After careful evaluation, we chose to go with the Dev Container standard, supported by Microsoft and used in popular tools like VS Code and Codespaces.

Although Devfile and Nix were also viable options, we believed that Dev Containers would provide a more accessible and seamless user experience, especially for newcomers.

Installation Flexibility: The Power of Off-the-Shelf Infrastructure Components

One of the significant advantages of our approach is that Daytona's infrastructure components are off-the-shelf, requiring no additional workarounds during installation.

This flexibility allows us to expand our market reach beyond competitors like Gitpod or Codespaces, especially for customers who prefer non-AWS environments or require air-gapped self-hosted solutions.

Understanding the Unique Needs of Business Customers

We needed a deep understanding of our customers' unique needs and preferences to compete with established players like Coder, GitLab, and Okteto in the B2B market.

We recognized that security, integration with existing systems, and flexibility are paramount in this space.

By separating our application logic from the infrastructure and embracing technologies like Kubernetes, we can explore alternative solutions like working directly with AWS or implementing fully featured VMs while maintaining Kubernetes as our orchestrator.

The Choice of Container Runtimes

Our lead engineer, Goran, made a significant effort to explore the options and found two container runtimes that fit our requirements.

We integrated the first runtime, Kata Containers, enabling us to spin up Firecracker VMs.

However, not all cloud providers support nested virtualization, including AWS.

This limitation prompted us to explore alternatives.

We discovered Sysbox, a technology similar to what Gitpod uses, which allows us to run rootless containers.

While not strictly a VM, Sysbox still provides a decent level of isolation, making it suitable for running untrusted workloads within a shared cluster.

Balancing Scalability with the Unique Requirements of the B2B Market

Coming from a SaaS background with Codeanywhere, it was clear that we needed to create a scalable solution.

Our technology choices were driven by the goal of accommodating thousands of users on cost-effective infrastructure.

However, we also recognized the different requirements of the B2B market, where security, integration with existing systems, and flexibility are of utmost importance.

The Advantages of Off-the-shelf Infrastructure Components in Installation

Unlike Gitpod, which primarily offers managed services on AWS, our infrastructure components are off-the-shelf, requiring no hacks or workarounds during installation.

This opens up opportunities for customers who prefer non-AWS environments or require air-gapped self-hosted solutions.

"We decoupled infrastructure dependencies from application logic, allowing us the flexibility to explore new technologies and partnerships in the future."

Wrapping Up: The Impact of Our Technology Choices

In conclusion, our technology choices, influenced by our SaaS background and a deep understanding of the B2B market, position Daytona as a revolutionary development environment for businesses.

We ensure security, isolation, and flexibility by adopting Kubernetes and supporting different container runtimes, including Kata Containers and Sysbox.

We believe that Daytona's unique blend of technology choices and its focus on scalability and flexibility will keep it at the forefront of innovation.

We're committed to providing businesses with a secure, scalable, and flexible development environment that meets their unique needs.

Are you ready to revolutionize your business development environment?

We invite you to learn more about Daytona and explore how it can transform your business operations.

Stay tuned for more exciting updates on our journey!

Daytona is a standardized development environment platform that offers scalability, security, cost-effectiveness, and flexibility, and it is built on technologies like Docker, Kubernetes, and Dev Containers, making it suitable for the B2B market's unique needs.

Tags::
  • SDE
  • Daytona
  • tech stack