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
Ubuntu
Score 8.5 out of 10
N/A
Ubuntu Linux is a Linux-based operating system for personal computers, tablets and smartphones. There is also a Server version which is used on physical or virtual servers in the data center.
Jenkins is a solution for CD/CI pipelines. We can leverage this tool to run code automatically. Long-lived applications and jobs can also be run through 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 somebody whishes to be an IT professional, learning the basics of Linux is amust. Ubuntu [Linux] is one of the most beginner-friendly, widely supported, easy-to-use-relative-to-the-fact-that-its-still-linux OS on the market. As somebody who learned the basics of UNIX/LINUX on Ubuntu, it was a very good experience. It is customizable, has a lot of improvements over the years, and live up to be a viable alternative to any modern OS in 2021 as well.
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.
I gave it 10 out of 10 because it allows me to do the work I need on a server, such as running a website and database, and making developments. In addition, thanks to its easy and useful interface during installation, it can be easily installed. In addition, thanks to its easily accessible documents, when a problem occurs, it can be solved easily and quickly.
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.
We did not use the managed commercial support, but instead relied on community forums and official documentation. Ubuntu is very well documented across both instructional documentation from the developers themselves as well as informal support forums [ServerFault, YCombinator, Reddit]. It's easy enough to find an answer to any question you may have
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
Windows 10: Expensive, with more security problems, more difficult to keep updated and less variety of free / open source applications. Its use encourages bad information security practices. OpenSuse Linux: A different distribution at source (Suse Linux), use of rpm packages (with fewer repositories and incompatible with Ubuntu Linux dpkg packages), and whose main objective is to be a "testing ground" for its paid version / professional, SUSE enterprise Linux.
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.
Systems administration with Ubuntu is easy with little deep knowledge about it. Docs and community publications are great resources for any task you need to perform on any Ubuntu server and the organization can save several salaries of specialized sys admins in favor of more active roles.
Having been an Ubuntu user for many years personally, setting up new Ubuntu servers on my organization came with zero cost for me. I just deployed one instance from my hosting/cloud provider and started working right after it was running, no need to ask support or hire new staff for these tasks.
Replacing paid options with Ubuntu have also saved thousands of dollars on Windows Server licenses. I've migrated Windows/SQL Server based systems to Ubuntu/MySQL/PostgreSQL several times during my career and saved about USD 5000/year in licenses to many of them.