shyshka - Fotolia
While AWS, Microsoft Azure and Google Cloud dominate the cloud market, enterprises with specialized needs often opt for smaller providers that aim their services at niche audiences.
One such provider is DigitalOcean, which offers infrastructure for startups, developers and SMBs. The company, founded in 2011 and based in New York, is dwarfed by market leader AWS in terms of revenue -- DigitalOcean's quarterly earnings in May 2021 were $93.7 million compared with AWS, which had revenue of $13.5 billion in the same quarter. However, it continues to grow and gain momentum amongst developers.
Let's look closely at DigitalOcean's two main products for IaaS and PaaS: Droplets and App Platform. Additionally, see what its managed Kubernetes service has to offer.
Droplets are the foundation of DigitalOcean's IaaS products, and they are Linux-based VMs comparable to Amazon Elastic Compute Cloud (EC2) or Azure instances. Unlike the hyperscale cloud providers, Droplets do not support Windows instances, limiting their utility for some enterprises, but not for DigitalOcean's target audience of developers and startups.
Droplets come in five plan sizes. Each plan designed for certain types of applications, such as those that are critical or require more memory and storage. There are also two options for the Basic plan: regular and premium. Premium users can use DigitalOcean's newest CPUs and non-volatile memory express solid-state disks, as well as take advantage of enhanced memory performance via faster dynamic random access memory modules.
Pricing varies, depending on which type of plan you use. However, all Droplets are billed hourly with a minimum charge of one hour. Also, each Droplet type comes with free outbound data transfer, starting at 1000 gibibyte per month -- additional transfers are $0.01 per GiB.
Droplets vs. AWS instances
Users can track Droplet performance and resource utilization of parameters such as CPU, memory and disk usage, as well as disk IOPS and network bandwidth with charting features in the control panel. Droplet graphs illustrate these metrics and there are additional graph options with the DigitalOcean Monitoring service.
When comparing two providers, there are various areas you want to focus on, such as performance and price. VPSBenchmarks, an independent reviewer of cloud services, tested similarly sized AWS and DigitalOcean instances. While it showed EC2 delivering better performance overall, DigitalOcean excelled in disk I/O and price categories.
Note that the m5 instances use Intel Xeon Platinum 8175M Skylake generation processors released in 2017. This makes them comparable to regular Droplet instances, not the premium option.
DigitalOcean App Platform
In October 2020, DigitalOcean released App Platform, a PaaS offering, to insulate developers from the hassles of provisioning, managing and scaling cloud infrastructure. The platform helps developers build, deploy, manage and scale apps.
Depending on developer needs, DigitalOcean App Platform offers three different feature tiers: Starter, Basic and Professional. The Starter tier is just that -- it is only useful for evaluating the platform and publishing noncritical static websites. Any serious app development and testing require the Basic tier, while production applications require Professional features such as scale-out clusters, load-balanced clusters and higher data transfer caps.
DigitalOcean App Platform is similar to Google App Engine, as it provides a Kubernetes-managed container and runtime environment that supports Python, Node.js, Go, PHP, Ruby, Hugo, static sites and standard Dockerfile images. Developers can manually link GitHub repositories to automatically publish, configure and run new code using Cloud Native Buildpacks -- an open source project from Heroku and Pivotal.
Like the larger service providers, DigitalOcean has its own managed Kubernetes service: DigitalOcean Kubernetes (DOKS). Because DOKS is based on open source Kubernetes, it is familiar to container developers and DevOps teams. DOKS provisions clusters via the DigitalOcean GUI and, once operational, is managed using kubectl.
Users have Kubernetes administrator rights to create API objects and integrate them with external CI/CD toolchains. However, they cannot modify the API server arguments, control plane configuration files, feature gates or admission controllers. The service works with DigitalOcean's load balancer and blocks storage services.
DOKS doesn't offer all the configuration and customization options of Amazon Elastic Kubernetes Service or Google Kubernetes Engine. Users who need more sophisticated network configurations will typically prefer AWS. Similarly, many DOKS users report problems with the proxy protocol, including various bug reports and misconfiguration issues, so it might frustrate developers who need specific customizations.
What customers lose in configurability, they gain in cost savings. The DOKS control plane is free -- users only pay for the worker nodes, storage and load balancer. In contrast, Amazon's service charges 10 cents per hour for each cluster, plus the cost of EC2 worker nodes.