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.4 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 …
Scenarios where AWS Lambda is well suited: 1. When we need to run a periodic task few times in a day or every hour, we may deploy it on AWS Lambda so it would not increase load on our server which is handling client requests and at the same time we don't have to pay for AWS Lambda when it is not running. So, overall we only pay for few function invocations. 2. When some compute intensive processing is to be done but the number of requests per unit of time fluctuates. For example, we had deployed an AWS Lambda for processing images into different sizes and storing them on AWS S3 once user uploads them. Now, this is something that may happen few times every hour on a particular day or may not happen even once on other days. To handle this kind of tasks AWS Lambda is a better choice as we don't have to pay for the idle time of the server and also we don't have to worry about scaling when the load is high. Scenarios where AWS Lambda is not appropriate to use: 1. When we expect a large request volume continuously on the server. 2. When we don't want latency even in case of concurrent requests.
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.
Lambda provides multiple methods for triggering functions, this includes AWS resources and services and external triggers like APIs and CLI calls.
The compute provided my Lambda is largely hands off for operations teams. Once the function is deployed, the management overhead is minimal since there are no servers to maintain.
Lambda's pricing can be very cost effective given that users are only charged for the time the function runs and associated costs like network or storage if those are used. A function that executes quickly and is not called often can cost next to nothing.
Putting a significant portion of your codebase into AWS Lambda and taking advantage of the high level of integration with other AWS services comes with the risk of vendor lock-in.
While the AWS Lambda environment is "not your problem," it's also not at your disposal to extend or modify, nor does it preserve state between function executions.
AWS Lambda functions are subject to strict time limitations, and will be aborted if they exceed five minutes of execution time. This can be a problem for some longer-running tasks that are otherwise well-suited to serverless delivery.
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.
I have not needed support for AWS Lambda, since it is already using Python, which has resources all over the internet. AWS blog posts have information about how to install some libraries, which is necessary for some more complex operations, but this is available online and didn't require specific customer support for.
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.
Azure Functions is another product that provides lambda functionality, but the documentation for some of Azure's products is quite hard to read. Additionally, AWS Lambda was one of the first cloud computing products on a large cloud service that implemented lambda functions, so they have had the most time to develop the product, increase the quality of service, and extend functionality to more languages. Amazon, by far, has the best service for Lambda that I know.
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.
I was able to perform a lot of processing on data delivered from my website and little or no cost. This was a big plus to me.
Programming AWS Lambda is quite easy once you understand the time limits to the functions.
AWS Lambda has really good integration with the AWS S3 storage system. This a very good method of delivering data to be processed and a good place to pick it up after processing.
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...