AWS Lambda is a serverless computing platform that lets users run code without provisioning or managing servers. With Lambda, users can run code for virtually any type of app or backend service—all with zero administration. It takes of requirements to run and scale code with high availability.
$NaN
Per 1 ms
DigitalOcean
Score 8.6 out of 10
N/A
DigitalOcean is an infrastructure-as-a-service (IaaS) platform from the company of the same name headquartered in New York. It is known for its support of managed Kubernetes clusters and “droplets” feature.
Amazon has a very complex UI and many products to offer. They haven't polished up their UI and it has a much greater learning curve compared to DigitalOcean. However, Amazon Web Services (AWS) does have more comprehensive cloud computing services, which forces some companies to …
Lambda excels at event-driven, short-lived tasks, such as processing files or building simple APIs. However, it's less ideal for long-running, computationally intensive, or applications that rely on carrying the state between jobs. Cold starts and constant load can easily balloon the costs.
DigitalOcean is perfect for hosting client websites, running marketing tools, and managing media storage with Spaces and CDN. The use of Droplets to quickly launch landing pages or WordPress sites for campaigns is a Godsend. It’s great for fast, cheap, and scalable solutions. But for complex microservices or projects needing strict compliance (like HIPAA), DigitalOcean may not always be the best fit, but that depends heavily on your project.
Developing test cases for Lambda functions can be difficult. For functions that require some sort of input it can be tough to develop the proper payload and event for a test.
For the uninitiated, deploying functions with Infrastructure as Code tools can be a challenging undertaking.
Logging the output of a function feels disjointed from running the function in the console. A tighter integration with operational logging would be appreciated, perhaps being able to view function logs from the Lambda console instead of having to navigate over to CloudWatch.
Sometimes its difficult to determine the correct permissions needed for Lambda execution from other AWS services.
Some products/services available on other Cloud providers aren't available, but they seem to be catching up as they add new products like Managed SQL DBs.
While they have FreeBSD droplets (VMs), support for *BSD OSs is limited. I.e. the new monitoring agent only works on Linux.
There are no regions available on South America.
They don't seem to offer enterprise-level products, even basic ones as Windows Server, MS SQL Server, Oracle products, etc.
I give it a seven is usability because it's AWS. Their UI's are always clunkier than the competition and their documentation is rather cumbersome. There's SO MUCH to dig through and it's a gamble if you actually end up finding the corresponding info if it will actually help. Like I said before, going to google with a specific problem is likely a better route because AWS is quite ubiquitous and chances are you're not the first to encounter the problem. That being said, using SAM (Serverless application model) and it's SAM Local environment makes running local instances of your Lambdas in dev environments painless and quite fun. Using Nodejs + Lambda + SAM Local + VS Code debugger = AWESOME.
I honestly can't think of an easier way to set up and maintain your own server. Being able to set up a server in minutes and have fully control is awesome. The UX is incredibly intuitive for first-time users as well so there's no reason to be intimidated when it comes to giving DigitalOcean a shot.
Amazon consistently provides comprehensive and easy-to-parse documentation of all AWS features and services. Most development team members find what they need with a quick internet search of the AWS documentation available online. If you need advanced support, though, you might need to engage an AWS engineer, and that could be an unexpected (or unwelcome) expense.
They have always been fast, and the process has been straight-forward. I haven't had to use it enough to be frustrated with it, to be honest, and when I have an issue they fix it. As with all support, I wish it felt more human, but they are doing aces.
AWS Lambda is good for short running functions, and ideally in response to events within AWS. Google App Engine is a more robust environment which can have complex code running for long periods of time, and across more than one instance of hardware. Google App Engine allows for both front-end and back-end infrastructure, while AWS Lambda is only for small back-end functions
DigitalOcean is an inexpensive product as compared to other products available in the market. The UI is easy and the beginner can also understand the UI with the step by step guide. It provides a lot of custom features and the user needs to pay only for what they are using. Amazon has a complex UI and is on the expensive side. DigitalOcean is simple to use and is easily manageable and the servers can easily be set up without additional cost and such.
Positive - Only paying for when code is run, unlike virtual machines where you pay always regardless of processing power usage.
Positive - Scalability and accommodating larger amounts of demand is much cheaper. Instead of scaling up virtual machines and increasing the prices you pay for that, you are just increasing the number of times your lambda function is run.
Negative - Debugging/troubleshooting, and developing for lambda functions take a bit more time to get used to, and migrating code from virtual machines and normal processes to Lambda functions can take a bit of time.
Positive - Elastic computer instances make it possible to pay for only for what you need.
Positive - Competitive pricing - some of the products that DigitalOcean offers are much cheaper than those offered by competitors.
Negative - Having to go to other cloud computing platforms for more specific, advanced services like Computer Vision optimized services, GPU cloud compute instances, etc...