Bikram Gupta and mfranco
DigitalOcean App Platform, first released in October 2020, has quickly become a favorite among developers and startups for its simplicity and hands-free experience. App Platform is a fully managed platform-as-a-service (PaaS) solution. It allows users to effortlessly deploy their applications by simply providing their code (via a git repository) or a pre-built container image. App Platform takes care of the entire application lifecycle, from building and deploying to monitoring and scaling, removing the complexity of managing the underlying infrastructure.
Based on valuable feedback from customers over the past year, we have identified key areas of improvement to better support the needs of startups, growing digital businesses, and independent software vendors (ISVs). We are excited to announce a series of major updates to the DigitalOcean App Platform over the next three months, starting with autoscaling. These updates are aimed at delivering enhanced capabilities, improving the app creation experience, and simplifying packaging while lowering the total cost of ownership (TCO).
In this post, we’ll explore how the DigitalOcean App Platform empowers you to build robust, full-fledged business applications with ease. Whether you’re a startup founder, a digital business owner, or an ISV, this post will show you how App Platform can help you streamline your application development and deployment processes.
App Platform is designed to streamline the process of building, deploying, and scaling complex microservices-based applications. DigitalOcean customers across various industries are using App Platform to host critical business applications like e-commerce platforms, content management systems, data processing pipelines, and more.
Apps can be composed of static sites, functions, workers, jobs, and web services. Each App consists of various components or resources. For example, a typical e-commerce app may have components for the frontend website, backend services, order processing, customer management, marketing site, and analytics modules.
These components can be deployed in different forms:
A service is an internet-facing component that runs as one or more containers.
A worker is an internal component that runs as one or more containers, often handling background tasks.
A job provides for short-lived execution of containers for maintenance or migrations at pre-deploy time, or after deploy time.
A static site is a bundle of HTML pages and associated assets (images, scripts, etc) deployed as a static web hosting environment.
A function is a serverless function that runs on-demand, ideal for event-driven architectures.
For example, you may like to deploy the frontend as a web service, marketing page as a static site, database migrations as a job, or backend as a worker.
Refer to the product documentation for more information. Under the hood, your entire app is represented as an appspec, allowing you to define the different components and their configurations.
No matter how complex your app is, you can define it as a set of components. Every component can operate on one or more instances (containers), depending on your configuration. These configurations can vary in resource allocation, such as 1 vCPU/1 GB shared, or 1 vCPU/4 GB dedicated, providing flexibility in resource management according to the application’s needs.
For instance, in our e-commerce example, you may choose to allocate 2 shared container instances for the frontend, while using a dedicated container instance for the resource-intensive backend services. This flexibility allows you to right-size the resources for each component, as opposed to a monolithic architecture.
Thousands of customers use App Platform to deploy their applications in production. Refer to our case studies for specific examples. With App Platform, users can build and host complex, microservices-based business applications while taking advantage of DigitalOcean’s simplicity and managed services approach.
DigitalOcean App Platform provides a streamlined approach to building, deploying, and scaling modern applications, enabling businesses to accelerate their digital transformation while optimizing costs and operational efficiency.
Seamless code integration: Connect your code repositories (GitHub, GitLab) or container registries (DockerHub, Github Registry, DigitalOcean Registry) with ease. App Platform handles the build, deployment, and lifecycle management processes automatically.
Versatile deployment options: Deploy applications in various forms, including code, Dockerfiles, images or serverless functions, offering flexibility to cater to diverse use cases.
Managed Databases: Leverage fully-managed databases for production environments and integrated development databases for rapid iteration cycles, accelerating time-to-market.
Component-level scaling: Scale individual components of your application based on demand, without impacting the entire system, thanks to the microservices-based architecture.
CPU-based autoscaling: Automatically scale application components based on configurable CPU utilization thresholds, ensuring optimal performance and resource utilization while minimizing costs.
Secure database connections: All DigitalOcean managed database clusters support apps as trusted sources. Your app is added as a trusted source to the database. This creates a secure connection to the database and it accepts traffic only from the app, helping to ensure data integrity and privacy.
Robust protection with Cloudflare: Benefit from Cloudflare protection for inbound traffic into your apps.
Container isolation: App Platform uses a sandboxed runtime, linux kernel security capabilities, and network security to isolate multitenant workloads on a host, maintaining a high level of security for each application.
Dedicated egress IP is currently in closed beta. This enables a dedicated egress IP for outbound traffic from your app, simplifying firewall integration with 3rd parties.
Application metrics via DigitalOcean Insights, which includes CPU%, memory %, restart count and CDN ingress metrics.
Application logs (build, runtime) using CLI, API or Control Panel.
Log analytics: Integrate with Datadog, Papertrail or Logtail and forward your application logs for rich analytics.
Cloudflare CDN: Improve application performance for end-users by leveraging Cloudflare’s Content Delivery Network (CDN) and implementing cache control headers in your app’s HTTP responses.
With its comprehensive feature set, App Platform empowers businesses to focus on building innovative applications while benefiting from a fully-managed, scalable, and cost-effective platform for deployment and operations.
App Platform abstracts away the complexities of infrastructure management and application lifecycle, enabling your development team to focus on delivering innovative solutions and accelerating time-to-market. The new CPU-based autoscaling functionality is a critical enabler for helping to ensure optimal application performance and resource efficiency for your business.
As we continue to enhance App Platform, our goal is to empower you to deploy and scale applications with minimal operational overhead and optimal total cost of ownership (TCO). In the coming months, we’ll be introducing exciting new features like dedicated egress ip, friendly packaging, and improved developer experience to further streamline your application development and deployment workflows. Stay tuned for these updates and more!
Ready to experience the benefits of App Platform for your business? Sign up for a DigitalOcean account today and start building your applications with ease.
Faye Hutsell
April 23, 2024•4 min read
Faye Hutsell
March 27, 2024•3 min read