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
Power Apps
Score 7.6 out of 10
N/A
PowerApps is a low code / rapid application development product from Microsoft that allows users to quickly build apps.
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.
PowerApps is well suited for "quick-wins" and fast prototypes of business solutions. It also is beneficial for situations where business partners and developers work together - it allows the business folks to provide a "quick-and-dirty" prototype which is then fleshed-out by developers that are trained experts on the platform. The interactive and easy to understand representation of the solution allows business partners to "see" the solution and add, remove, or correct aspects of it themselves. It provides a common view and understanding of the actual solution across business units and tech teams. PowerApps, being a low-code\no-code platform is not well suited for business processes that require many complex computations or large amounts of custom code - such as solutions that are better architected as Web Site or "full-blown" desktop solutions. There are solutions that are just not easy or quick to accomplish in a low-code\no-code platform. Enterprise Architects should know the difference, however business partners often try to create a solution and only when stuck because it becomes too complex do they engage a tech team for assistance - at which point there are sunk-costs involved and hinderences to re-platforming the solution
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.
Power Apps has formats that are pre-built that don't require any coding which makes it easier to achieve your vision. This does become a challenge if your App needs don't fit into that format.
We deal with a ton of data so the fact that you can connect to any data source in addition to their pre-stablished data connections makes the process a breeze.
The online learning resources and tutorials are helpful as well for those who are tech savvy.
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.
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.
PowerApps is a great solution and I have spent the last year familiarizing myself with the platform and building custom applications to complete a whole range of tasks such as asset management, custom invoice generation, and item restriction tracking. We as a company have barely begun to scratch the surface of what can be achieved with PowerApps.
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.
The community forums are extremely responsive to questions asked, there is a good body of online documentation and many community posts to draw from. Although the platform has changed, which means some of the posts are out of date and the solutions provided aren't relevant. Of relevance, I read over 400 articles plus documentation to get this first app built in SharePoint, move it to SQL and make it work exactly the way it should.
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.
Much cheaper, much more customizable, and easier to use. There is not much of a learning curve and the licensing cost is much cheaper. PowerApps does one thing very well, whereas other platforms are mediocre. There is much more customization possible for your in-house workflows that you can build yourself vs using NetSuite engineers to build it for you.
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.
It has given us a focal point for development. We now have the possibility of connecting to mobile and the default SharePoint online interface isn't always easy to manipulate. PowerApps has given us an opportunity to improve our user experience.
An improved user experience has given us a better shot at compliance. When users don't fight the environment, they don't gravitate towards workarounds or non-compliance.
As lists and libraries change, the platform scales pretty well.
Having users with the capability to create their own forms and tools has dialed back the app dev need (there is a balance though) and distributed power to the process architects and people who actually need the solutions in the first place—much more efficient model of service delivery: self-service.