App Platform

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. 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.

Try it Now! Read the Quickstart Browse the Samples Learn the Concepts

Plans and Pricing

App Platform has three pricing tiers:

  • Starter: Free. Good for trying App Platform and deploying static sites. You can build and deploy 3 static sites for free on the Starter tier. Every additional static site costs $3/mo.
  • Basic: Starts at $5/month (for one container). Good for prototyping apps.
  • Professional: Starts at $12/month (for one container). Good for deploying production apps.

If your dynamic app has static site components, all of them will be deployed at no additional charge on the Basic and Professional tiers.

Container Pricing

An app is made up of one or more components like web services, databases, or workers. When you run an app, we deploy an instance (i.e., a container) for each of the components. The table below shows the monthly pricing per container and the available container sizes for the Basic and Professional tiers.

CPU Type CPUs RAM Basic Price Professional Price
Shared 1 512 MiB $5 Not available
Shared 1 1 GiB $10 $12
Shared 1 2 GiB $20 $25
Shared 1 4 GiB Not available $50
Dedicated 2 8 GiB Not available $150
Dedicated 4 16 GiB Not available $300
Tip
The total cost of running a component is determined by the container size multiplied by the number of containers.

Add-on Pricing

If you need more resources than what is included in the Starter, Basic, and Professional tiers, then the following prices apply.

Additional development databases are $7/mo per 256MB database. Additional outbound data transfer is $0.10/month for 1 GiB. You can view the pricing for DigitalOcean Managed Databases and Spaces (object storage) on the pricing page.

Regional Availability

You can deploy App Platform apps to our Amsterdam, Frankfurt, New York, San Francisco, Singapore, and Bangalore regions.

Features

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.

Feature Comparison by Tier

Feature Starter Basic Professional
Build and deploy static assets
Build and deploy dynamic apps
(e.g. Node.js, Python, Go, Ruby, PHP, Docker)
Continuous deployment from Git repository
Automatic SSL/TLS certificates (HTTPS)
Bring your custom domain
Global CDN for performance
DDoS mitigation
Unlimited team members
Application metrics Hourly Hourly Per-minute
CPU Shared Shared or dedicated
Auto OS patching
Vertical scaling
Horizontal scaling
High availability
Outbound transfer 1 GiB 40 GiB 100 GiB

Cloud-Hosted Builds

App Platform allows you to hook up your source code repo 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.

Horizontal and Vertical Scaling

App Platform apps can be scaled horizontally (adding more instances that serve your app), and vertically (beefing up the instances with more CPU and memory resources), at any time, by simply visiting your app’s deployment in the dashboard. For details, see the scaling instructions in the Quickstart

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 “master 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.

Limits

  • The local filesystem on the host instances running App Platform containers is ephemeral. When deployments happen or containers are replaced the local disk storage will be LOST and not recoverable. To use App Platform you must re-implement or reconfigure your app to use other forms of persistent storage such as Spaces or Managed Databases. The local disk should only be used as temporary storage.

  • App Platform can only integrate with GitHub repositories or public Git repositories over HTTPS. Support for other source providers is planned.

  • App Platform does not support block storage volumes.

  • Your dev database permissions will not allow you to create databases; instead you will need to use the default database.

  • App Platform applications do not have a persistent IP address.

  • Configuration changes that result in a redeployment of your app will not also trigger a pull of the latest source code from your repo. This is by design.

  • High availability (HA) is only supported for Professional apps when running two or more containers so that there is a failover for App Platform’s load-balancer to use. If you require HA when using Starter or Basic apps, you must upgrade your app to the Professional tier.

  • App Platform’s engine support for dev databases is currently limited to PostgresSQL, but you can create a PostgresSQL, MySQL, or Redis managed database with DigitalOcean for use in your app.

  • Git submodules that reference SSH path style repos fail to build. You will need to replace SSH submodule links with HTTPS.

  • Private Git submodules may fail to build. If you attempt to reference private git submodules that are not accessible via the authenticated GitHub account you have connected, builds will fail. You must have your private git submodules stored in the GitHub account you have authorized App Platform to use.

  • Browsers aggressively cache redirects, and as such you may need to clear your cache and hard refresh to see changes in your redirect configuration.

  • Currently, App Platform does not support VPC. All connections from apps to other services running in DigitalOcean occur over the public network.

  • App Platform only supports binaries built for the AMD64 or AArch64 CPU architectures.

Latest Updates

25 February 2021

  • The PHP buildpack received some updates:

    • Support for PHP 8.x was added in addition to PHP 7.x. By default, App Platform will use PHP 7.x unless the app specifies a version requirement via Composer.
    • Support for Composer 2.x was added in addition to Composer 1.x. App Platform will use the same version of Composer that generated the app’s composer.lock file.

    For more information and configuration options, see the buildpack’s documentation page.

11 February 2021

  • App Platform is now available in SGP1 and BLR1.

31 January 2021

  • Due to capacity limits in the region, we have disabled the creation of new resources in SFO2 for new customers. Existing customers with resources in SFO2 are unaffected and can still create and destroy resources in SFO2.

For more information, see the full release notes.