CloudFront is the content delivery network (CDN) from Amazon Web Services.
$0.02
AWS Lambda
Score 8.3 out of 10
N/A
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.
Because our products are built and utilize other AWS features, it was easiest to implement Amazon CloudFront based on initial environment configuration. Other CDNs were easier to get started with but required manual intervention to update overtime.
Amazon CloudFront is the perfect solution for any type of company. If a company is small or medium size, CloudFront offers 1 TB monthly free bandwidth which is more than for any small and medium size companies. If we compare the speed of CloudFront with other CDN, CloudFront is way ahead of their competitors and with 1 TB free bandwidth. If someone is ready to invest time in CloudFront documentation then he/she definitely go for it.
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.
if a website’s static data are based in New York City, people in Boston will get the content faster than people in San Francisco or Tokyo. The farther away customers are from a company’s data center, the slower the website or application loads. This problem can be fixed with a content delivery network like Amazon CloudFront
When a visitor requests a file from your website, Amazon CloudFront automatically sends the request to a copy of the file at the nearest edge location. This results in faster download times.
You may have great hosting but it doesn’t have the capacity or scalability offered by Google, Microsoft or Yahoo. The better CDNs like Amazon CloudFront offer higher availability, lower network latency and lower packet loss.
Amazon CloudFront provides 24/7 email and phone support
Amazon CloudFront Free Tier allows you to free up to 50 GB of data transfer and 2,000,000 HTTP and HTTPS requests / month for one year.
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.
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.
CloudFront is a good CDN solution. It can be a bit complicated to implement depending on your needs, but AWS tech support is great. You get to avoid a ton of upfront costs by going with CloudFront. It works best in conjunction with other AWS services in your infrastructure. Once you set it up, you won't need to do much to maintain it. It just works.
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.
Amazon has always been creative and leading, and I have been using its services for years. They are very reassuring and have fast and responsive support--you can call them from any time zone to respond quickly. High security on servers, open hands on changes, and increasing and decreasing server resources and features.
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
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.