AWS Lambda is a higher level abstraction that lets you run code without provisioning or managing servers, following the servlerless architecture. You can run code for virtually any type of application or backend service with no administration.
You just needs to upload your code and Lambda takes care of everything required to run and scale your code with high availability, such as server and operating system maintenance, capacity provisioning, automatic scaling, code and security patch deployment, code monitoring and even logging.
You can set up code to get automatically triggered from other AWS services or any web or mobile app. For example, AWS Lambda can run code in response to modifications to objects in S3 buckets, message arrival in Kinesis streams, table changes in DynamoDB, or API calls etc.
Serverless computing, also known as function as a service (FaaS), is a cloud computing code execution model in which the cloud provider fully manages starting and stopping of a function's container platform as a service (PaaS) as necessary to serve requests, and requests are billed by an abstract measure of the resources required to satisfy the request, rather than per virtual machine, per hour (source=wikipedia).
AWS Lambda Pricing
You pay only for the compute time you consume - there is no charge when your code is not running.
Pricing for free tier includes free 1 million requests per month and then charged per requests. Pricing also depends on the duration of the request, memory you allocate etc. The Lambda free tier also does not automatically expire. Read more here.
Getting Started With AWS Lambda
Current programming languages supported by AWS Lambda are Node.js, Java, C# and Python.
Get started with AWS lambda here.