yann_eu
Joined 7 years ago
Joined 7 years ago
We picked the largest peering points in Europe and the US for the two first locations aka Washington / US-East and Frankfurt in Europe. For the following 4 locations which we announced last week in early access [1], we tried to pick the next best-interconnected locations on the world map: SFO / the valley, Singapore, Paris, and Tokyo.
We definitely need to do a better job in the doc [2], we can definitely provide some mapping matrix and will be working on some latency measurements/speedtest/iperf servers.
In this direction, did you look at PolyScale [3]? They do the job of database caching at Edge.
What do you have in mind regarding lower-level access to compute? We're looking at providing block storage and direct TCP/IP support if that's what you have in mind.
[1] https://community.koyeb.com/t/changelog-25-san-francisco-sin...
[2] https://www.koyeb.com/docs/reference/regions
[3] https://www.koyeb.com/docs/integrations/databases/polyscale
We're planning to release instance types with dedicated CPUs for applications that need them.
It seems we need to do some work on the pricing page.
We're headquartered in Europe, you'll find the legal in our terms :) https://www.koyeb.com/docs/legal/terms
There is a difference between edge and non-edge locations (we call them core): edge locations terminate the TLS connection, do caching, and route traffic to the nearest core location. We explained how this works in this post [1] and this talk [2]. The TLDR is: If this core location is set up to run an instance of your service, it will send it to the right machine in the location. Otherwise, it's going to be routed to the core location where an instance is running.
Data storage can be tied to a location as you're deciding where you're application is running: if you ask us to run an application in Frankfurt, Germany we're not going to move it to the US nor to any other location.
The build engine is tied to GitHub but you can deploy a pre-built Docker container. GitLab has been highly demanded [3], so this is definitely on the list of things we're considering implementing.
Databases should land on the platform in September in early access [4], we're actively working on it.
[1] https://www.koyeb.com/blog/building-a-multi-region-service-m...
[2] https://www.youtube.com/watch?v=IB93WCoroL8
[3] https://feedback.koyeb.com/feature-requests/p/git-driven-dep...
[4] https://feedback.koyeb.com/feature-requests/p/managed-postgr...
We have one Nomad cluster per region, which we “federated” ourselves using our own orchestrator. This basically reduces the latencies between agents and each cluster, reduces the failure domains, and also avoids encoding all the constraints in one single Nomad job definition.
I'm not so much worried about scaling with our setup but the performance of the autoscaler might be a concern in the future.
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.
If you have a data intensive service, it surely would add up, but it's not specific to Kubernetes. If you go with VMs or a Serverless deployment, you'll have to pay it too.
If you're speaking about the storage and data transfers related to the Kubernetes control plane itself, I don't believe it represents a significant cost, even with a large cluster.
I think our thought process here is that developers are also involved in on call support for the service availability and the k8s cluster availability is mostly managed by the provider, but the cluster can still fail even if the control plane is managed.
Yann, co-founder at Koyeb, here.
Yes, we considered Consul as a service mesh but found that it was too strongly coupled with the network and task layer of Nomad. We were looking for something highly customizable which wouldn't get into the way.
Also, the multi-tenancy features are paid features, which might have been difficult to sustain economically for us.
Want to be part of a small team building the future of the Cloud? We’re expanding the Koyeb team and hiring 3 senior software engineers! https://www.koyeb.com/careers
Join us on our mission to provide the fastest way to deploy apps globally! We’re building our engineering team to develop and operate our distributed system orchestrating serverless workloads across clouds.
We are literally at the edge of both technology and the cloud, building a global platform with the latest technologies: golang, containers, serverless, nomad, firecracker, kubernetes, envoy, baremetal, and more.
We’re remote-friendly and have staff based in Paris and Lyon, France, check it out!
Spent the last 10 years building cloud service providers in the infrastructure space from scratch.