Services

Understand Services, the components of your Apps where your code lives.

Services represent a component of your application like web services, APIs, and workers. When you create a Service, we deploy autoscaling containers for you. Services are automatically versionned to provide full traceability. They can be deployed using Docker containers or directly from Git.

This documentation explains :

  • Service types: the different type of services you can deploy on Koyeb.
  • Continuous Deployment and automatic versionning: the deployment options available to perform continous deployment with Koyeb. Koyeb lets you deploy services using Docker containers or from Git.
  • Service options: the different service options including resource allocation, regions, network port mapping, horizontal scaling, and environment variables configuration.
  • What powers your Services: the technology used to run and secure your services.

Service types

Services are designed to let you run the various components of your stack including:

  • web apps and APIs: you can run any HTTP web application or API. We support running both public (accessible through internet) and private (only accessible by other services of your app) APIs. The only requirement for the code you deploy is that it should be able handle HTTP requests.

  • workers: you can easily run workers to perform background tasks and asynchronous jobs. Workers are not exposed on the internet and private network. If you're not familiar with the concept of asynchronous processing, read our introduction to synchronous and asynchronous processing.

  • functions: you can easily break-down your app in small functions and deploy them on Koyeb.

These different components are all represented as Services inside of Koyeb.

Continuous Deployment and automatic versionning

We provide two main options to deploy Services in an app:

  • Docker images: you can deploy your application using docker images stored on any private or public registry. When you build your own Docker image, you control the whole execution environment of your app. Read our documentation on how-to deploy a Docker image for more details.
  • Git: simply git push, we build your app, deploy it and run it for you. This feature is not yet available for all users.

We provide full traceability and record all the changes you make to the configuration of your application.

Services Options

Services are flexible, you can easily change:

  • the resources allocated to your service
  • the regions where your service is deployed
  • the network ports which should exposed and used to reach your service
  • the horizontal scaling and autoscaling parameters
  • the environment variables and secrets accessible by your Service

What powers Services?

Services are serverless, secure, isolated, virtualized containers running all or a part of your App. The virtualization technology we use to run your containers, Firecracker, offers a lot of advantages in term of security and performances. You can learn more about Firecracker on our blog: