Overview
DigitalOcean Droplets are virtual private servers (VPS) built on a KVM hypervisor, offering compute resources for a range of cloud-based workloads. Launched in 2012, DigitalOcean positioned Droplets as a developer-centric alternative to more complex cloud platforms, emphasizing ease of use and predictable pricing. Droplets are Linux-based, supporting various distributions like Ubuntu, Debian, CentOS, and Fedora, alongside pre-configured application images for platforms such as WordPress, Docker, and LAMP stacks.
Developers use Droplets for deploying web servers, hosting databases, running custom applications, and creating testing or staging environments. The platform provides a streamlined user interface and a comprehensive API, allowing for programmatic control over Droplet creation, scaling, and management. This focus on developer experience extends to their command-line interface, doctl, which facilitates automation and integration into CI/CD pipelines.
DigitalOcean offers several Droplet types tailored to different performance needs. Basic Droplets are suitable for general-purpose workloads, while General Purpose Droplets provide a balanced ratio of CPU to memory. For specific performance requirements, there are CPU-Optimized Droplets for compute-intensive tasks, Memory-Optimized Droplets for applications requiring large amounts of RAM (e.g., in-memory databases), and Storage-Optimized Droplets for I/O-intensive applications that benefit from high-performance NVMe SSDs. This variety allows users to select resources aligned with their application's demands, from small personal projects to medium-scale production deployments.
Compared to other cloud providers, DigitalOcean Droplets are often chosen for their straightforward setup and management, which can reduce the operational overhead typically associated with virtual machine instances. This simplicity can be advantageous for startups and individual developers looking to quickly deploy and iterate on projects without navigating extensive configuration options. For example, deploying an application on a DigitalOcean Droplet might involve fewer steps than provisioning a comparable instance on a platform like AWS EC2, which offers a broader, more granular set of configuration options but can introduce a steeper learning curve for new users.
Key features
- Multiple Droplet Types: Offers Basic, General Purpose, CPU-Optimized, Memory-Optimized, and Storage-Optimized configurations to match diverse workload requirements.
- Pre-built Images: Supports one-click deployment of popular operating systems and application stacks like Docker, WordPress, and various Linux distributions.
- API and CLI Access: Provides a RESTful API and the
doctlcommand-line interface for programmatic management and automation of Droplets. - Scalability: Users can resize Droplets to scale resources up or down as application needs change, though some types require a power cycle.
- Networking Features: Includes private networking, floating IPs for high availability, and load balancers to distribute traffic across multiple Droplets.
- Snapshots and Backups: Allows users to create point-in-time snapshots of Droplets for disaster recovery and regular automated backups.
- Monitoring and Alerting: Integrated monitoring tools provide insights into Droplet performance metrics and allow for custom alert configurations.
Pricing
DigitalOcean Droplet pricing is based on the selected Droplet type, virtual CPUs, memory, SSD storage, and outbound data transfer. All plans include 100% dedicated CPUs, SSD storage, and varying amounts of monthly data transfer. Pricing is billed hourly up to a monthly cap. Additional costs may apply for features like load balancers, block storage, and premium images.
| Droplet Type | vCPUs | Memory | SSD Disk | Transfer | Starting Monthly Price |
|---|---|---|---|---|---|
| Basic | 1 | 512 MB | 10 GB | 500 GB | $4 |
| General Purpose | 2 | 8 GB | 25 GB | 4 TB | $63 |
| CPU-Optimized | 2 | 4 GB | 25 GB | 4 TB | $42 |
| Memory-Optimized | 2 | 16 GB | 25 GB | 4 TB | $84 |
| Storage-Optimized | 2 | 16 GB | 300 GB | 6 TB | $168 |
| For detailed and up-to-date pricing, refer to the DigitalOcean Droplets pricing page. | |||||
Common integrations
- Kubernetes (DigitalOcean Kubernetes): Droplets can be used as worker nodes in a DigitalOcean Kubernetes cluster, managed through the platform's control plane. Details are available in the DigitalOcean Kubernetes documentation.
- Databases (Managed Databases): Integrate Droplets with DigitalOcean Managed Databases for PostgreSQL, MySQL, Redis, and MongoDB, offloading database management. Refer to the Managed Databases documentation.
- Load Balancers: Distribute incoming traffic across multiple Droplets to improve application availability and performance. The Load Balancers documentation provides setup instructions.
- Block Storage: Attach scalable SSD-based block storage volumes to Droplets for increased storage capacity independent of the Droplet's lifecycle. Information can be found in the DigitalOcean Volumes documentation.
- Monitoring (DigitalOcean Monitoring): Utilize built-in monitoring to track Droplet performance metrics and configure alerts for operational insights. See DigitalOcean Monitoring documentation.
Alternatives
- AWS EC2: Offers a broad range of instance types and extensive global infrastructure, suitable for complex enterprise workloads.
- Google Cloud Compute Engine: Provides virtual machines on Google's global infrastructure, known for strong performance and integration with other Google Cloud services.
- Linode (Akamai Technologies): A cloud hosting provider similar to DigitalOcean, focusing on developer-friendly virtual private servers and simplified cloud infrastructure.
- Azure Virtual Machines: Microsoft's offering for scalable compute capacity, deeply integrated with the Azure ecosystem and enterprise services.
- IBM Cloud Virtual Servers: Provides both public and private virtual server options with various configurations and bare metal options for high-performance needs.
Getting started
To create a DigitalOcean Droplet using the doctl command-line tool, you first need to authenticate with your DigitalOcean API token. This example demonstrates how to create a basic Ubuntu 22.04 Droplet in the NYC1 region with a specific SSH key.
# Authenticate doctl with your API token (replace with your actual token)
# doctl auth init
# List available regions
# doctl compute region list
# List available images (e.g., Ubuntu 22.04)
# doctl compute image list --public | grep "Ubuntu 22.04"
# List available sizes (e.g., s-1vcpu-1gb)
# doctl compute size list
# Create a new Droplet
doctl compute droplet create my-ubuntu-droplet \
--image ubuntu-22-04-x64 \
--size s-1vcpu-1gb \
--region nyc1 \
--ssh-keys <YOUR_SSH_KEY_FINGERPRINT_OR_ID> \
--tag web-server \
--wait
# Get the IP address of the newly created Droplet
doctl compute droplet list --format Name,PublicIPv4 --no-header | grep my-ubuntu-droplet
# SSH into your Droplet (replace with your Droplet's IP address)
# ssh root@<YOUR_DROPLET_IP>
Replace <YOUR_SSH_KEY_FINGERPRINT_OR_ID> with the fingerprint or ID of an SSH key you've already added to your DigitalOcean account. The --wait flag ensures the command waits until the Droplet is fully provisioned. After creation, you can use the provided IP address to connect via SSH.