Welcome to Dome

Jay Byoun, Engineering
Nov 11, 2023
Dome was created to be the last cloud hosting platform as a service you’ll ever need. The fastest way to go from code to cloud with the confidence that your application is deployed with modern infrastructure best practices in mind.

Welcome to Dome

Dome was created to be the last cloud hosting platform as a service you’ll ever need. The fastest way to go from code to cloud with the confidence that your application is deployed with modern infrastructure best practices in mind. For too long infrastructure engineering has been overlooked on application deployments of all sizes resulting in poor efficiency, unreliable performance, and scaling unpredictability. Modern cloud platforms provide users with an infinitely customizable maze of options. The options are so numerous and complex that there is a billion dollar side industry dedicated to helping companies build bespoke solutions to deploy their applications.

How did we get here?

The public cloud was born in 2006 with Amazon Web Services being the first to offer compute and storage resources on demand eliminating the need for companies to deploy and maintain their own hardware. Public cloud providers were quickly adopted by companies of all sizes and today represent the vast majority of Internet traffic. Buying land, thinking through architecture, exterior landscaping, and weather, getting construction permits, procuring building materials, upgrading hardware, hiring security staff, wiring miles of ethernet cables below the surface and through walls and buildings, was replaced with a collection of APIs. $1000 would get you a capable machine with 1TB in the sky and it unleashed and made possible the innovation responsible for the Internet products that have become household names today.

Although the physical complexity had been abstracted, the infrastructure configuration and software complexity was still the responsibility of the consumer of public cloud resources. How many machines did you need and of what size? How do I know my application will be performant? What about load balancing and TLS configuration? What OS do I pick on the host VM? How do I know my application will be compatible with the host OS runtime?

The cloud platforms themselves also found themselves in a position to build tools to address the infrastructure configuration pain points that were being voiced by their customers. The portfolio of products grew so much that entire certifications were invented to navigate the infinitely customizable maze of options. Some of the products were also proprietary and would only work on that cloud platform which meant vendor lock in for the customer.

The container

A collection of tools emerged over the years to address the challenges faced by companies consuming public cloud resources. Docker emerged around 2013 and remains to this day one of the most robust and efficient solutions for deploying applications on public cloud platforms.

Docker ensures predictability. It gives engineers a consistent runtime environment for their applications so that when they run their app on their local machine, they have the confidence that it’ll run identically everywhere else whether it’s another engineer’s local machine or when it’s deployed to a public cloud.

The orchestration

Once we have our application running predictably in multiple places the next step is to solve resource consumption efficiency and uptime reliability. Kubernetes which emerged shortly after Docker has become the de facto standard in container orchestration. It’s oftentimes the primary reason why engineers containerize their applications in the first place.

Kubernetes provides enormous flexibility and automation when it comes to provisioning cloud resources. CPU consumption can be subdivided into 1/1000 or a milli cpu which gives the engineer much more precise control when provisioning compute resources. Pods that crash are self healing and will come back up without any interaction from engineers. Pods will intelligently autoscale vertically and horizontally eliminating the guessing game of how many and what size of machines I need.

A Better Way

So if Docker and Kubernetes solve the issues at hand so much so that they continue to be used by the largest companies in the world, why isn’t everyone doing this? Plenty of companies know that there’s a better way but prefer to focus their limited engineering resources on features. It’s true that most of the work that infrastructure engineers do goes unnoticed and as a result it’s difficult for companies to give priority to infrastructure planning. Especially when the inefficient solution will work for some time. Eventually there will be a huge problem and the longer you wait the worse it gets.

Hamann

“Almost no one comes down here, unless of course there’s a problem.” - Councillor Hamann

Features are what teams actually want to work on all day every day and if they could that’s what they would do. Making the infrastructure seamless and invisible should be the goal of every cloud provider but today that is not the case. For one the cloud providers’ incentives are the other way because they make more money the more inefficient you are. They also want to make sure they support every possible use case imaginable and as a result you generally need a devops team or a reseller group to help you actually use resources correctly. What if we could take the cloud resource requirements of the most popular types of applications being deployed today and make it dead simple to go from code to cloud?

Enter the Dome

The Dome experience is designed to be the simplest way to go from code to cluster. Point your repo to Dome with or without a Dockerfile and the platform will take care of the rest. Building your application, generating a Docker image, and deploying it into a multi cloud Kubernetes cluster with all the benefits of orchestration (self healing, autoscaling, load balancing etc.)

docker-credentials

scaling

With just a few clicks the infrastructure best practices currently only available to those who take the time to build a bespoke solution is made available to everyone regardless of their in-house devops capabilities. The most popular applications in the world work like magic because of the infrastructure engineering that goes behind their deployment pipelines. Dome’s goal is to democratize access to this capability ensuring that your application will scale appropriately and be able to meet the ever growing needs of your users. Dome enables you to spend more time on building and shipping features and less time worrying about infrastructure complexity. If you have an application that serves your users text, pictures, or music it can be deployed seamlessly with Dome. Stop maintaining and monitoring and start building today. Welcome to the future of the cloud.

Share this post