5 ms·
Show HN: Run globally distributed full-stack apps on high-performance MicroVMs
Hi HN! We’re Yann, Edouard, and Bastien from Koyeb (https://www.koyeb.com/ https://www.koyeb.com/). We’re building a platform to let you deploy full-stack apps on high-performance hardware around the world, with zero configuration. We provide a “global serverless feeling”, without the hassle of re-writing all your apps or managing k8s complexity [1].
We built Scaleway, a cloud service provider where we designed ARM servers and provided them as cloud servers. During our time there, we saw customers struggle with the same issues while trying to deploy full-stack applications and APIs resiliently. As it turns out, deploying applications and managing networking across a multi-data center fleet of machines (virtual or physical) requires an overwhelming amount of orchestration and configuration. At the time, that complexity meant that multi-region deployments were simply out-of-reach for most businesses.
When thinking about how we wanted to solve those problems, we tried several solutions. We briefly explored offering a FaaS experience [2], but from our first steps, user feedback made us reconsider whether it was the correct abstraction. In most cases, it seemed that functions simply added complexity and required learning how to engineer using provider-specific primitives. In many ways, developing with functions felt like abandoning all of the benefits of frameworks.
Another popular option these days is to go with Kubernetes. From an engineering perspective, Kubernetes is extremely powerful, but it also involves massive amounts of overhead. Building software, managing networking, and deploying across regions involves integrating many different components and maintaining them over time. It can be tough to justify the level of effort and investment it takes to keep it all running rather than work on building out your product.
We believe you should be able to write your apps and run them without modification with simple scaling, global distribution transparently managed by the provider, and no infrastructure or orchestration management.
Koyeb is a cloud platform where you come with a git repository or a Docker image, we build the code into a container (when needed), run the container inside of Firecracker microVMs, and deploy it to multiple regions on top of bare metal servers. There is an edge network in front to accelerate delivery and a global networking layer for inter-service communication (service mesh/discovery) [3].
We took a few steps to get the Koyeb platform to where it is today: we built our own serverless engine [4]. We use Nomad and Firecracker for orchestration, and Kuma for the networking layer. In the last year, we spawned six regions in Washington, DC, San Francisco, Singapore, Paris, Frankfurt and Tokyo, added support for native workers, gRPC, HTTP/2 [5], WebSockets, and custom health checks. We are working next on autoscaling, databases, and preview environments.
We’re super excited to show you Koyeb today and we’d love to hear your thoughts on the platform and what we are building in the comments. To make getting started easy, we provide $5.50 in free credits every month so you can run up to two services for free.
P.S. A payment method is required to access the platform to prevent abuse (we had hard months last year dealing with that). If you’d like to try the platform without adding a card, reach out at support@koyeb.com or @gokoyeb on Twitter.
[1] https://www.koyeb.com/blog/the-true-cost-of-kubernetes-people-time-and-productivity https://www.koyeb.com/blog/the-true-cost-of-kubernetes-peopl...
[2] https://www.koyeb.com/blog/the-koyeb-serverless-engine-docker-containers-and-continuous-deployment-of-functions https://www.koyeb.com/blog/the-koyeb-serverless-engine-docke...
[3] https://www.koyeb.com/blog/building-a-multi-region-service-mesh-with-kuma-envoy-anycast-bgp-and-mtls https://www.koyeb.com/blog/building-a-multi-region-service-m...
[4] https://www.koyeb.com/blog/the-koyeb-serverless-engine-from-kubernetes-to-nomad-firecracker-and-kuma https://www.koyeb.com/blog/the-koyeb-serverless-engine-from-...
[5] https://www.koyeb.com/blog/enabling-grpc-and-http2-support-at-edge-with-kuma-and-envoy https://www.koyeb.com/blog/enabling-grpc-and-http2-support-a...
- Palmik 3y agoThis looks quite interesting, congrats on the launch! Reminiscent of fly.io. Is it a direct competitor, or is there a major twist to it? How do you handle apps composed of multiple services, if there isn't a configuration? The pricing is a bit confusing by the way, the free tier says "16GB of RAM & 16 vCPU per service" while in reality it seems you only get the 512mb RAM instance.
- yann_eu 3y agoThanks! Hope you’ll like it :) We have similarities with fly.io (Firecracker MicroVMs on top of BareMetal) and also some key differences: - we directly integrate with GitHub to automatically build your application on push. We support building native code with Builpacks or from Dockerfile in addition to pre-built containers. - we put a CDN in front of all your services to provide caching and edge TLS termination - technically, our internal network is a service mesh built with Kuma and Envoy - overall, we aim to be a bit higher in the stack, instead of looking at providing low-level virtual machines, we want to focus on productivity features like preview environments We actually thought zero infrastructure configuration. At this stage, there is some basic setup to do for a multi-service app. You need to configure the HTTP routes. We aim to add as much automatic discovery of the codebase as possible. Thanks for the feedback on the pricing. $0 is actually the price of the plan and we provide $5.5 of free credit in the plan. It seems the “Up to” was somehow skipped in the “16GB & 16 vCPU per service”, this is indeed confusing.
- nicoburns 3y agoDo you have any plans to get into managed databases and other storage / state management solutions? I feel like 90% of what from a cloud provider is managed Postgres (with strong durability and availability guarantees) and some way to run compute (I don't even really care what or how that works for the most part). Everything else is a nice to have.
- edouardb 3y agoWe are currently working on our managed Postgres offering. Should be available in technical preview in September. Other services like providing object storage are planned too but I don't have any ETA to share for now :)