App Platform Features

App Platform is a Platform-as-a-Service (PaaS) offering that allows developers to publish code directly to DigitalOcean servers without worrying about the underlying infrastructure.

App Platform is a Platform-as-a-Service (PaaS) offering that allows developers to publish code directly to DigitalOcean servers without worrying about the underlying infrastructure.

App Platform can either automatically analyze and build code from your GitHub, GitLab or public Git repositories and publish your application to the cloud, or publish a container image you have already uploaded to DigitalOcean Container Registry or Docker Hub. It also has lifecycle management features, vertical and horizontal scaling, push-to-deploy support, introspection and monitoring features, built-in database management and integration — everything a developer needs to get code live in production.

Build and deploy your app in the cloud directly from GitHub with App Platform.

App Platform is ideal for developers that want to focus on shipping code, and prefer the simplicity of linking their GitHub, GitLab, public Git repository, or container registry to App Platform and letting DigitalOcean build and deploy their app in the cloud.

You can provide a Dockerfile for DigitalOcean to use in the build process, provide an already-built container image, or let us inspect the code and automatically build the app for you. From there, apply the proper settings so that the build runs (such as routing details, custom domains, and environment variables) and add a database to your solution in the user interface.

List of Features

This table outlines the key features available to each App Platform plan, unless otherwise specified:

  • Build and deploy static assets
  • Build and deploy dynamic apps (like Node.js, Python, Go, Ruby, PHP, or Docker)
  • Continuous deployment from Git repository
  • Automatic SSL/TLS certificates (HTTPS)
  • Bring your custom domain
  • Global CDN for performance
  • DDoS mitigation
  • Unlimited team members
  • Rollback apps to one of the ten most recent successful deployments
  • Per minutes application metrics
  • Shared or dedicated CPUs (dependent on the component’s plan)
  • Auto OS patching
  • Vertical scaling
  • Manual horizontal scaling (available for most plans)
  • Autoscaling (available for plans using dedicated CPUs)
  • High availability (available for apps running two or more containers)
  • Outbound transfer (bundled with your component’s plan)

Cloud-Hosted Builds

App Platform allows you to hook up your source code repository and deploy using a cloud-hosted build system that automatically detects the needed environment to run your app.

App Platform automatically downloads and installs any necessary frameworks at build time for supported environments. You can try our sample applications to see App Platform’s auto-detection and cloud builds in action.

Shared and Dedicated CPUs

You can choose between shared and dedicated CPU plans when deploying App Platform apps. Shared CPU plans provide CPUs that are shared with other DigitalOcean customers, while dedicated CPU plans dedicate CPUs solely to your app.

Shared CPUs provide a good balance of cost and performance for typical web workloads. Dedicated CPUs provide isolation, guaranteed resources, higher performance, and autoscaling. We recommend dedicated CPUs for resource-intensive apps or apps that require guaranteed resources and consistent high performance.

Read our Choose a Plan guide to learn more about how to choose the correct CPU and amount of memory for your app.

Horizontal Scaling, Vertical Scaling, and Autoscaling

You can scale apps horizontally or vertically at any time. Horizontal scaling adds more instances to distribute the workload across, while vertical scaling increases CPU power and memory on existing instances. For details, see the scaling instructions in the Quickstart

App components using dedicated CPUs can use the autoscaling feature to automatically add or remove instances based on CPU or memory usage thresholds. This ensures your app always has enough resources without manual intervention. See the autoscaling how-to for instructions on how to add autoscaling to an app component.

Serverless Functions

Functions are blocks of code that run on-demand in response to requests. You can use functions to build APIs to power your app backend along with a static site or a containerized web application. The infrastructure to run functions and their execution environment are managed by App Platform, and automatically scale with demand.

When Not to Use App Platform

While you can control the scaling of your app, manage the individual services that comprise your app, and integrate databases using App Platform, that may not be enough. App Platform is optimized for ease of code deployment rather than deep customization of the underlying infrastructure. Teams that require more control over their production environment and the design and behavior of their infrastructure may prefer one of our other two compute options:

  1. DigitalOcean Kubernetes gives users control of a managed Kubernetes cluster that can run their container-based applications. It supports private registries, autoscaling, and push-to-deploy (through GitHub actions). It also provides a DigitalOcean-hosted instance of the Kubernetes dashboard for each cluster, and replaces the concept of primary nodes with a node pool that manages capacity for you, resulting in a Kubernetes experience that is significantly simpler than the native experience.

  2. You can build your own infrastructure solution that uses Droplets (Linux based virtual machines) for compute capacity. Common techniques and workflows for configuration management tools like Terraform and Ansible are covered in the Navigator’s Guide. You can also get a sense of how the various products work together by reading the Solutions guides.