We want to make it even easier for you to build applications that run in the Cloud. We want you to be able to focus on your code, and to work within a cloud-centric environment where scalability, reliability, and runtime efficiency are all high enough to be simply taken for granted!
Today we are launching a preview of AWS Lambda, a brand-new way to build and run applications in the cloud, one that lets you take advantage of your existing programming skills and your knowledge ofAWS. With Lambda, you simply create a Lambda function, give it permission to access specific AWS resources, and then connect the function to your AWS resources. Lambda will automatically run code in response to modifications to objects uploaded to Amazon Simple Storage Service (S3) buckets, messages arriving in Amazon Kinesis streams, or table updates in Amazon DynamoDB.
Lambda is a zero-administration compute platform. You don’t have to configure, launch, or monitor EC2 instances. You don’t have to install any operating systems or language environments. You don’t need to think about scale or fault tolerance and you don’t need to request or reserve capacity. A freshly created function is ready and able to handle tens of thousands of requests per hour with absolutely no incremental effort on your part, and on a very cost-effective basis.
Let’s dig in! We’ll take a more in-depth look at Lambda, sneak a peek at the programming model and runtime environment, and then walk through a programming example. As you read through this post, keep in mind that we have plenty of items on the Lambda roadmap and that what I am able to share today is just the first step on what we expect to be an enduring and feature-filled journey.
Lambda Concepts
The most important Lambda concept is the Lambda function, or function for short. You write your functions in Node.js (an event-driven, server side implementation of JavaScript).
You upload your code and then specify context information toAWS Lambda to create a function. The context information specifies the execution environment (language, memory requirements, a timeout period, and IAM role) and also points to the function you’d like to invoke within your code. The code and the metadata are durably stored in AWS and can later be referred to by name or by ARN (Amazon Resource Name). You an also include any necessary third-party libraries in the upload (which takes the form of a single ZIP file per function).
After uploading, you associate your function with specific AWS resources (a particular S3 bucket, DynamoDB table, or Kinesis stream).Lambda will then arrange to route events (generally signifying that the resource has changed) to your function.
When a resource changes, Lambda will execute any functions that are associated with it. It will launch and manage compute resources as needed in order to keep up with incoming requests. You don’t need to worry about this; Lambda will manage the resources for you and will shut them down if they are no longer needed.
Lambda is accessible from the AWS Management Console, the AWS SDKs and the AWS Command Line Interface (CLI). The Lambda APIs are fully documented and can be used to connect existing code editors and other development tools to Lambda.
Lambda Programming Model
Functions are activated after the associated resource has been changed. Execution starts at the designated Node.js function and proceeds from there. The function has access (via a parameter supplied along with the POST) to a JSON data structure. This structure contains detailed information about the change (or other event) that caused the function to be activated.
Lambda will activate additional copies of function as needed in order to keep pace with changes. The functions cannot store durable state on the compute instance and should use S3 or DynamoDB instead.
Your code can make use of just about any functionality that is intrinsic to Node.js and to the underlying Linux environment. It can also use the AWS SDK for JavaScript in Node.js to make calls to other AWS services.
Lambda Runtime Environment
The context information that you supply for each function specifies a maximum execution time for the function. This is typically set fairly low (you can do a lot of work in a couple of seconds) but can be set to up 60 seconds as your needs dictate.
Lambda uses multiple IAM roles to manage access to your functions and your AWS resources. The invocation role gives Lambdapermission to run a particular function. The execution role gives a function permission to access specific AWS resources. You can use distinct roles for each function in order to implement a fine-grained set of permissions.
Lambda monitors the execution of each function and stores request count, latency, availability, and error rate metrics in Amazon CloudWatch. The metrics are retained for 30 days and can be viewed in the Console.
Here are a few things to keep in mind when as you start to think about how you will put Lambda to use:
- The context information for a function specifies the amount of memory needed to run it. You can set this to any desired value between 128 MB and 1 GB. The memory setting also determines the amount of CPU power, network bandwidth, and I/O bandwidth that are made available to the function.
- Each invocation of a function can make use of up to 256 processes or threads. It can consume up to 512 MB of local storage and up to 1,024 file descriptors. It can also create up to 10 simultaneous outbound network connections.
- Lambda imposes a set of administrative limits on each AWS account. During the preview, you can have up to 25 invocation requests underway simultaneously.
Lambda in Action
Let’s step through the process of creating a simple function using the [console_u]. As I mentioned earlier, you can also do this from theSDKs and the CLI. The console displays all of my functions:
I simply click on Create Function to get started. Then I fill in all of the details:
I name and describe my function:
Then I enter the code or upload a ZIP file. The console also offers a choice of sample code snippets to help me to get started:
Now I tell Lambda which function to run and which IAM role to use when the code runs:
I can also fine-tune the memory requirements and set a limit on execution time:
After I create my function, I can iteratively edit and test it from within the Console. As you can see, the pane on the left shows a sample of the JSON data that will be passed to my function:
When the function is working as expected, I can attach it to an event source such as Amazon S3 event notification. I will to provide aninvocation role in order to give S3 the permission that it needs to have in order to invoke the function:
Lambda collects a set of metrics for each of my functions and sends them to Amazon CloudWatch. I can view the metrics from the Console:
On the Roadmap
We have a great roadmap for Lambda! While I won’t spill all of the beans today, I will tell you that we expect to add support for additional AWS services and other languages. As always, we love your feedback; please leave a note in the Lambda Forum.
Pricing & Availability
Let’s talk about pricing a bit before wrapping up! Lambda uses a fine-grained pricing model. You pay for compute time in units of 100 milliseconds and you pay for each request. The Lambda free tier includes 1 million free requests per month and up to 3.2 million seconds of compute time per month depending on the amount of memory allocated per function.
Managed DevOps Platform
Securely hosted in the cloud, our DevOps platform is offered as single-tenant SaaS or managed customer VPC. Empowering teams with cutting-edge tools, it streamlines collaboration and accelerates development cycles for efficient high quality software delivery.
Modernize your DevOps Tools
Increase productivity, reduce costs and stay current with the latest tool/features across your evolving DevOps tech stack.
Hosted/Managed by Experts
Free your resources and execute with enterprise trusted solutions for your DevOps tools & tools management.
Single-Tenant SaaS or Managed Customer VPC
Not all cloud deployments models are created equal, retain full control and align your enterprise business requirements.
Highly Secure & Compliant
Cloud with enterprise controls, security and assurance your deployments are protected and integrate seamlessly.
Customer Obsessed
Partner with the global DevOps leader focused on delivering innovative solutions that delight our customers everyday!
Learn more or talk to an expert today!
DevOps SaaS Platform
Our SaaS-based DevOps platform, hosted securely on the cloud, empowers your teams, equips them with cutting-edge tools, and addresses your highjest business priorities, ensuring you retain your competitive edge and lead the market.
Modernize your DevOps Tools
Increase productivity, reduce costs and stay current with the latest features across your evolving DevOps tech stack.
Hosted/Managed by Experts
Free your resources and execute with enterprise trusted solutions for your DevOps tools & tools management.
Single-Tenant SaaS or Managed Customer VPC
Not all cloud deployments models are created equal, retain full control and align your enterprise business requirements.
Highly Secure & Compliant
Cloud with enterprise controls, security and assurance your deployments are protected and integrate seamlessly.
Customer Obsessed
Partner with the global DevOps leader focused on delivering innovative solutions that delight our customers everyday!
Learn more or talk to an expert today!
AI/ML Services and Managed Platforms
Partnering with top AI/ML ISVs and infrastructure providers, we offer comprehensive services and managed platforms to address your intricate AI solution requirements.
OFFERINGS:
Professional Services
Maximizing organizations’ data science and AI capabilities with specialized services and support.
Managed Services
Expert managed offerings for your ISV tools, models and leading cloud infrastructure (AWS, Azure, Nvidia).
iTMethods’ AI WorkBench
Production-ready managed platform for seamless deployment of top-tier AI/ML tools, models & infrastructure. View on AWS Marketplace
FEATURED PARTNERS:
Helping customers realize Python’s full potential for artificial intelligence (AI), machine learning (ML), & data science. >>Learn More
Zetaris AI’s data analytics platform enables businesses to access & analyze data from various sources in real-time without duplication. >>Learn More
AI/ML Services & Managed Platforms
Partnering with top AI/ML ISVs and infrastructure providers, we offer comprehensive services and managed platforms to address your intricate AI solution requirements.
OFFERINGS:
Professional Services
Maximizing organizations’ data science and AI capabilities with specialized services and support.
Managed Services
Expert managed offerings for your ISV tools, models and leading cloud infrastructure (AWS, Azure, Nvidia).
iTMethods’ AI WorkBench
Production-ready managed platform for seamless deployment of top-tier AI/ML tools, models & infrastructure. View on AWS Marketplace
FEATURED PARTNERS:
Helping customers realize Python’s full potential for artificial intelligence (AI), machine learning (ML), & data science. >>Learn More
Zetaris AI’s data analytics platform enables businesses to access & analyze data from various sources in real-time without duplication. >>Learn More
DevOps & Cloud Solutions
Optimize your teams with expert solutions for software development, deployment automation, security and Cloud infrastructure management.
SERVICES OVERVIEW
CI/CD Pipeline Development
Optimize your software development and deployments
JFrog Professional Services
Enhance your DevOps and AI/ML software supply chain security.
Infrastructure as Code (IaC)
Rapidly implement and maintain your IaC technologies
Cloud Infrastructure
Unlock the full potential of AWS, Azure, and Containers / Kubernetes
GitOps & Monitoring
Git-based practices with advanced monitoring solutions
How We Help
Flexible Consulting and Support Services:
- Assessments
- Strategy & Design
- Implementation
- Comprehensive Support
DevOps & Cloud Solutions
Optimize your teams with expert solutions for software development, deployment automation, security and Cloud infrastructure management.
SERVICES OVERVIEW
CI/CD Pipeline Development
Optimize your software development and deployments
Infrastructure as Code (IaC)
Rapidly implement and maintain your IaC technologies
Cloud Infrastructure
Unlock the full potential of AWS, Azure, and Containers / Kubernetes
GitOps & Monitoring
Git-based practices with advanced monitoring solutions
Jira-based IT Service Management (ITSM)
Prescriptive solutions pre-built with Jira Service Management (JSM)
How We Help
Flexible Consulting and Subscription Services:
- Assessments
- Strategy & Design
- Implementation
- Managed Services
iTMethods 360: for Atlassian
Our Atlassian solution pillars each designed to deliver the highest level of consistent value and customer experience to all the organizations we serve.
ATLASSIAN SOLUTIONS
Atlassian Cloud Migration
Addressing complex migration options to the Cloud.
Atlassian Consulting
Helping teams benefit from the full potential of Atlassian tools.
Atlassian Managed Services
Expert administration, support and functional services subscription.
Atlassian Data Center Hosting
Single-Tenant SaaS or Managed Customer VPC instances in the cloud.
Atlassian Licensing Solutions
Expert guidance and support for all your Atlassian licensing needs.
FEATURING:
Atlassian Managed Services
Accelerate success with your Atlassian tools today! Choose from our flexible service plans.
SERVER END-OF-LIFE
Migrate to Atlassian Cloud or our Single-Tenant SaaS / Managed Customer VPC options.
iTMethods 360: for Atlassian
End-to-end Atlassian coverage helping customers allocate internal resources to their highest business priorities.
ATLASSIAN SOLUTIONS
Atlassian Cloud Migration
Addressing complex migration options to the Cloud.
Atlassian Consulting
Providing your teams full potential of your Atlassian tools.
Atlassian Managed Services
Expert administration, support and functional services subscription.
Atlassian Data Center Hosting
Single-Tenant SaaS or Managed Customer VPC instances in the cloud.
Atlassian Licensing Solutions
Expert guidance and support for all your Atlassian licensing needs
FEATURING:
Atlassian Managed Services
Accelerate success with your Atlassian tools today! Choose from our flexible service plans.
SERVER END-OF-LIFE
Migrate to Atlassian Cloud or our Single-Tenant SaaS / Managed Customer VPC options.
Featured Platform DevOps Tools
55+ DevOps Tools Supported
Choose from an extensive catalog of DevOps tools your teams already love.
Contact Us Today!
Atlassian
CloudBees
HashiCorp
Featured Platform DevOps Tools
55+ DevOps Tools Supported
Choose from an extensive catalog of DevOps tools your teams already love.
Contact Us Today!
Atlassian
CloudBees
HashiCorp
Resources
iTMethods resources, best practices, industry trends and news for Enterprise DevOps and Cloud Transformation.
Blog
Stay up to date with the latest in Enterprise DevOps Tools & Tool Management.
Webinars & Videos
Watch industry leaders discuss how to get the most out of your DevOps investment.
eBooks & Whitepapers
Industry leading research and insight available to download.
Reports & Guides
Expert industry analysis and guidance at your finger tips.
Case Studies
Explore our library of case studies.
Partner with the global leader in DevOps Tools and Tools Management
Fast track your Digital Transformation priorities with our ready to run solutions.
Looking for a customer obsessed partner? Let’s Talk!
Resources
iTMethods resources, best practices, industry trends and news for Enterprise DevOps and Cloud Transformation.
Blog
Stay up to date with the latest in Enterprise DevOps Tools & Tool Management.
Webinars & Videos
Watch industry leaders discuss how to get the most out of your DevOps investment.
eBooks & Whitepapers
Industry leading research and insight available to download.
Reports & Guides
Expert industry analysis and guidance at your finger tips.
Case Studies
Explore our library of case studies.
Partner with the global leader in DevOps and AI/ML Tools and Tools Management
Fast track your Software Development priorities with our ready to run solutions.
Looking for a customer obsessed partner? Let’s Talk!