- The Fermyon Cloud Explained
- Core Components of the Fermyon Cloud
The Fermyon Cloud Explained
The Fermyon Cloud is a cloud application platform for WebAssembly microservices. It enables you to run Spin applications, at scale, in the cloud, without any infrastructure setup.
In this article we describe the core technologies and concepts which are part of the Fermyon Cloud.
Core Components of the Fermyon Cloud
The Fermyon Cloud is an expansion of the Fermyon Platform, built to provide scalable and resilient hosting for Spin applications.
The following core components are needed in a cloud platform:
- Orchestration - Ensures workloads can be distributed across multiple servers
- Service Resolution - Ensures services can resolve other services endpoints
- Traffic Routing - Ensure traffic flows to the services, for which it is intended
- Application Packaging and Distribution - Ensures application can be retrieved by servers needing to run the workloads
- Web UI and CLI
All of the above are key to ensuring the high dynamism of a cloud platform where applications and traffic come and go in unpredictable patterns.
The core orchestration in the Fermyon Cloud is done using HashiCorp’s Nomad. Nomad enables the Fermyon Cloud to spread workloads across servers, and run an optimized highly resilient cloud. Nomad guarantees quick placement of Spin applications, at deployment, upgrade and failures in the underlying infrastructure - which do happen, so we planned for it.
In order to successfully route traffic to your Spin applications, a service registry is needed to map application endpoints to sockets on servers. This is done using Consul, as an integrated part of Nomad. Consul helps ensure we can always find your application, as the orchestration engine may or may not move it around.
Traffic routing is done using Traefik, which ensures that data is sent to the right places in the cloud.
Application Packaging and Distribution
To package and distribute application to and within the cloud, we rely on Bindle. For more information about deployment concepts in the Fermyon Cloud, see here.
Web UI, API and CLI
The Fermyon Cloud exposes a public REST API which is used by the web interface and the Spin CLI when logging in and deploying applications.
Did we miss something?
Let us know how we can improve this project, or contribute an edit to this page. We really appreciate your feedback, to help us build better tools.