If you don't want the hassle of maintaining your own app infrastructure, and you're looking to focus exclusively on a cloud app development platform, you may face a dilemma between a platform-as-a-service option like Heroku or Cloud Foundry, and a serverless platform like Amazon Web Services (AWS) Lambda. But how are these two options different from each other? Let's take a look.
By submitting your personal information, you agree that TechTarget and its partners may contact you regarding relevant content, products and special offers.
Basic computing unit: With PaaS, the basic unit of compute is the app itself, for which you'll still need to provision instances, although the maintenance of these instances is taken care of by the PaaS platform. For Lambda, the basic unit of operation is functions or tasks. There are instances running behind the scenes, but as an app developer, they're invisible to you.
Duration of tasks: In the world of cloud app development platforms, PaaS is for long running apps, irrespective of whether tasks are running. Lambda is for short-term tasks that have a definite end point when the task is over.
Required metadata: With PaaS, along with your code, you need to specify additional metadata like the language, framework and runtime requirements. With serverless, the metadata required is much simpler. For example, with AWS Lambda, you only need to specify identity and access management roles, required RAM and a timeout interval. For a cloud app development platform, serverless is simpler, while PaaS gives you a little more control and flexibility over infrastructure.
Public access via RESTful API: The code for PaaS apps is exposed via a REST endpoint or a webpage. Lambda functions, on the other hand, are accessed only from trusted sources and can't be accessed from the public internet.
Pricing model: With PaaS, you pay for the compute resources or instances your app uses. With Lambda, you pay for just the successful functions or tasks executed within your app. This can be a big saving if your app has unpredictable or short-term workloads.
PaaS and serverless platforms are similar in that they both abstract away underlying infrastructure and let you manage your app's code. But they both operate differently. Choose PaaS as your cloud app development platform if your app is long running, if you need some amount of control over your infrastructure and if you'd like a more consistent spend pattern. Choose serverless like AWS Lambda as your cloud app development platform if you'd like to pay per task, because you mostly have short-term and irregular tasks, and for a completely hands-off experience with managing your infrastructure.
Pick the right development PaaS for your project
Options using the SAP HANA cloud for development
Everything you need to know about RESTful APIs
Dig Deeper on Cloud application development and deployment
Have a question for an expert?
Please add a title for your question
Get answers from a TechTarget expert on whatever's puzzling you.