For demanding projects that require an advanced hosting solution, Smoothy enables software developers to automatically combine multiple servers, optionally spread across multiple geographical locations and cloud providers, into one highly available cluster. Setting up this kind of hosting normally requires a lot of expertise and can take up several hours. However, with Smoothy, all the complexity of networking, orchestration and load balancing is taken care of. The only thing left to do for software developers is to decide which cloud providers fit their budget and resource requirements best.
The traffic an application receives is usually not distributed evenly. This leaves software developers with a dilemma. On the one hand, they can rent plenty of servers so they will be able to handle traffic spikes. However, this will result in a high cost. On the other hand, they can rent only a few servers, so they keep their costs low. However, during traffic spikes, the application will suffer downtime. To resolve this problem, Smoothy enables software developers to scale their clusters up and down with a single click off a button, or automatically based on CPU usage. This allows them to keep their applications running at peak performance during unexpected traffic spikes while reducing costs during quiet periods.
Servers are prone to a lot of different failures, which can take up several hours to be resolved by a software developer. Based on the role of the server, the application might be unavailable during this period of time. To minimize this downtime, Smoothy permanently monitors the health of the servers in a cluster. Whenever a server fails, Smoothy will automatically start provisioning a new server, kill the old one and reschedule the applications. After a few minutes, the cluster will be completely self-healed, like nothing ever happened.
Transferring the source code of an application to a server is a repetitive task that slows down development. To increase the productivity of software developers, Smoothy offers a fully automated CI/CD pipeline. This way developers just have push their code to GitHub, Bitbucket or Gitlab, and Smoothy handles it from there.
After every git push, the docker image of the application is automatically build. If the build fails, the software developer can easily debug the process by looking at the live build output. Once the build succeeds, a set of unit and integration tests can be automatically run. Only when these tests pass, the application progressively rolls out to the server.
As soon as an endpoint is created for an application, Smoothy issues a free automatically renewed TLS certificate for the domain. The endpoint's port on the server is secured with an automatically configured firewall.