AWS Lambda and the Serverless Cloud
AWS Lambda evolution and re:Invent 2015 newsTim Wagner - general manager of AWS Lambda and AWS IoT at AWS - talked about how AWS Lambda - and the...Learn More
The Serverless landscape will be evolving even faster during the next few months, and AWS is definitely contributing to the Serverless revolution.
Tim Wagner, general manager of both AWS Lambda and Amazon API Gateway, described the capabilities of a modern serverless platform. According to Wagner, such a platform should include a broad set of features and components, including a cloud logic layer, orchestration, and state management, responsive data sources, an application modeling framework, a developer ecosystem, integration libraries, security and access control, reliability and performance, and most of all, it must work on a global scale.
Continuous Integration and Continuous Delivery are finally much easier with the new native functionalities introduced this week.
Thanks to SAM (Serverless Application Model) and its integration in Amazon CloudFormation, Lambda’s Environment Variables and the new AWS CodeBuild, you can now achieve CI/CD with minimal effort.
SAM represents an open common language for describing the content of a serverless app. Since CloudFormation can speak this language, we finally have the tools to easily package and deploy Lambda-based applications.
CodeBuild, on the other hand, allows you to automate the building and testing process. As far as AWS Lambda is concerned, you will also be able to install and compile any additional dependencies of your functions without any manual installation and packaging. For example, you will run npm (for Node.js) or pip (for Python) in your CodeBuild buildspec file and dynamically bundle your code and dependencies together. Even more interesting, you can use your own Docker Image, in addition to all the other supported runtimes and the corresponding versions: Ubuntu base, Android, Java, Python, Ruby, Golang, and Node.js.
Also, by using AWS Lambda’s Environment Variables, you can easily update the runtime environment without redeploying your Function. However, variables are actually immutable and this won’t work unless you are using the $LATEST version.
During Tim Wagner’s session, we learned how to react to GitHub updates and prepare the new Function to be deployed with CodeBuild, and then automatically deploy with CloudFormation and SAM.
— Jeff Barr ☁️ (@jeffbarr) December 1, 2016
AWS announced AWS X-Ray, a fully managed service for analyzing and debugging distributed apps. It’s only available in preview today, and AWS Lambda support will come soon as well.
This powerful new tool will allow you to better visualize your serverless app. You will gain visibility into events traveling through your services and be able to trace calls and timing from AWS Lambda functions to other AWS services.
With such a graphical and dynamic representation of your application topology, you can quickly find dependencies in your microservices and easily detect and diagnose missing events and throttles. Performance profiling will allow you to optimize each function and identify bottlenecks too.
The following features didn’t gain as much attention during the official keynotes, but they will have an impact on your serverless apps:
After the recent updates, there are a bunch of new places where you can run Amazo Lambda Functions. Here is a short list of new options:
Since every function execution is supposed to be stateless, orchestrating and organizing multiple Lambda functions has been a tough task since day one.
So far, Lambda functions could only interact via hacks or complex workarounds that always required more work than it should. Here are a few strategies used until today:
A mature functions orchestration system should allow you to scale out without state loss while dealing with errors and timeouts. It should be easy to build and operate with built-in auditing.
With these requirements in mind, AWS released AWS Step Functions.
This new service is backed by Amazon Simple Workflow under the hood. It is already available in 5 regions and it allows you to manage serverless applications state using visual workflows. Step Functions is designed to scale up to billions of invocations and it makes it easy to define finite-state machines (FSM) using a JSON DSL and with the help of an intuitive visual representation (boxes and arrows). You can also use this Ruby gem to validate your JSON FSM.
The service comes with a set of ready-to-use blueprints and it allows you to handle plenty of use cases:
These screenshots represent two of the available blueprints: choice state and parallel execution.
Technically, the state is persisted in JSON texts that pass from state to state. You can also configure each step with optional InputPath and ResultPath parameters, which allow you to pre-process the input and post-process the function output. This is a very powerful mechanism that allows you to implement generic functions and adapt the workflow to their input/output requirements in a very flexible way.
One final note about pricing: You will pay $0.025 per thousand state transitions. In other words, you will run 40,000 transitions with $1, plus the cost for AWS Lambda. The Free Tier includes 4,000 free transitions per month.
I am personally very excited about the amount of news and innovation announced by AWS at re:Invent 2016 regarding serverless computing. There is a whole new set of use cases, performance improvements, code refactoring, and cost optimizations to experiment with and evaluate.
I’m looking forward to seeing how the ecosystem will react, especially the wide range of automation tools and frameworks that might be able to simplify their internal logic and quickly add new functionalities. Serverless keeps changing how we think about application development, and things are getting better every month.
Let us know what you like or dislike about the recent news, and how it will affect your next project. I’m sure many of you had new ideas and application scenarios, and I can’t wait to hear about them.
AWS is renowned for the rate at which it reinvents, revolutionizes, and meets customer demands and expectations through its continuous cycle of feature and service updates. With hundreds of updates a month, it can be difficult to stay on top of all the changes made available. Here ...
Amazon Web Services (AWS) offers three different ways to pay for EC2 Instances: On-Demand, Reserved Instances, and Spot Instances. This article will focus on effective strategies for purchasing Reserved Instances. While most of the major cloud platforms offer pre-pay and reservation dis...
If you’re building applications on the AWS cloud or looking to get started in cloud computing, certification is a way to build deep knowledge in key services unique to the AWS platform. AWS currently offers 11 certifications that cover major cloud roles including Solutions Architect, De...
The AWS Solutions Architect - Associate Certification (or Sol Arch Associate for short) offers some clear benefits: Increases marketability to employers Provides solid credentials in a growing industry (with projected growth of as much as 70 percent in five years) Market anal...
Moving data to the cloud is one of the cornerstones of any cloud migration. Apache NiFi is an open source tool that enables you to easily move and process data using a graphical user interface (GUI). In this blog post, we will examine a simple way to move data to the cloud using NiFi c...
Amazon DynamoDB is a managed NoSQL service with strong consistency and predictable performance that shields users from the complexities of manual setup.Whether or not you've actually used a NoSQL data store yourself, it's probably a good idea to make sure you fully understand the key ...
As companies increasingly shift workloads to the public cloud, cloud computing has moved from a nice-to-have to a core competency in the enterprise. This shift requires a new set of skills to design, deploy, and manage applications in cloud computing.As the market leader and most ma...
Learn how Aviatrix’s intelligent orchestration and control eliminates unwanted tradeoffs encountered when deploying Palo Alto Networks VM-Series Firewalls with AWS Transit Gateway.Deploying any next generation firewall in a public cloud environment is challenging, not because of the f...
Use AWS Config the Right Way for Successful ComplianceIt’s well-known that AWS Config is a powerful service for monitoring all changes across your resources. As AWS Config has constantly evolved and improved over the years, it has transformed into a true powerhouse for monitoring your...
Cloud Academy is a proud sponsor of the 2019 AWS Summits in Atlanta, London, and Chicago. We hope you plan to attend these free events that bring the cloud computing community together to connect, collaborate, and learn about AWS. These events are all about learning. You can learn how t...
The AWS cloud platform has made it easier than ever to be flexible, efficient, and cost-effective. However, monitoring your AWS infrastructure is the key to getting all of these benefits. Realizing these benefits requires that you follow AWS best practices which constantly change as AWS...
Amazon Web Services’ resource offerings are constantly changing, and staying on top of their evolution can be a challenge. Elastic Cloud Compute (EC2) instances are one of their core resource offerings, and they form the backbone of most cloud deployments. EC2 instances provide you with...