Monitoring platform for keeping systems up and running at all times.
Full stack visibility across the entire stack.
Detect and resolve any incident in record time.
Conform to industry best practices.
Dashbird continuously monitors and analyses your serverless applications to ensure reliability, cost and performance optimisation and alignment with the Well Architected Framework.
What defines a serverless system, main characteristics and how it operates
What are the types of serverless systems for computing, storage, queue processing, etc.
What are the challenges of serverless infrastructures and how to overcome them?
How systems can be reliable and the importance to cloud applications
What is a scalable system and how to handle increasing loads
Making systems easy to operate, manage and evolve
Learn the three basic concepts to build scalable and maintainable applications on serverless backends
The pros and cons of each architecture and insights to choose the best option for your projects
Battle-tested serverless patterns to make sure your cloud architecture is ready to production use
Strategies to compose functions into flexible, scalable and maintainable systems
Achieving loosely-coupled architectures with the asynchronous messaging pattern
Using message queues to manage task processing asynchronously
Asynchronous message and task processing with Pub/Sub
A software pattern to control workflows and state transitions on complex processes
The strategy and practical considerations about AWS physical infrastructure
How cloud resources are identified across the AWS stack
What makes up a Lambda function?
What is AWS Lambda and how it works
Suitable use cases and advantages of using AWS Lambda
How much AWS Lambda costs, pricing model structure and how to save money on Lambda workloads
Learn the main pros/cons of AWS Lambda, and how to solve the FaaS development challenges
Main aspects of the Lambda architecture that impact application development
Quick guide for Lambda applications in Nodejs, Python, Ruby, Java, Go, C# / .NET
Different ways of invoking a Lambda function and integrating to other services
Building fault-tolerant serverless functions with AWS Lambda
Understand how Lambda scales and deals with concurrency
How to use Provisioned Concurrency to reduce function latency and improve overall performance
What are Lambda Layers and how to use them
What are cold starts, why they happen and what to do about them
Understand the Lambda retry mechanism and how functions should be designed
Managing AWS Lambda versions and aliases
How to best allocate resources and improve Lambda performance
What is DynamoDB, how it works and the main concepts of its data model
How much DynamoDB costs and its different pricing models
Query and Scan operations and how to access data on DynamoDB
Alternative indexing methods for flexible data access patterns
How to organize information and leverage DynamoDB features for advanced ways of accessing data
Different models for throughput capacity allocation and optimization in DynamoDB
Comparing NoSQL databases: DynamoDB and Mongo
Comparing managed database services: DynamoDB vs. Mongo Atlas
How does an API gateway work and what are some of the most common usecases
Learn what are the benefits or drawbacks of using APIGateway
Picking the correct one API Gateway service provider can be difficult
Types of possible errors in an AWS Lambda function and how to handle them
Best practices for what to log in an AWS Lambda function
How to log objects and classes from the Lambda application code
Program a proactive alerting system to stay on top of the serverless stack
Being a computing platform, AWS Lambda can be used for virtually any backend processing workload. Due to its characteristics and limitations it is better suited for some types of jobs.
We will cover in the lines below the values of AWS Lambda and in which scenarios it would be a suitable computing service.
Microservices, asynchronous processing and event-driven approaches are all quite easy to implement in Lambda.
The Lambda function model itself provides the isolation necessary to implement a microservice. Combined with API Gateway or Application Load Balancer, it’s easy to decouple services.
Asynchronous invocation and integrations with a multitude of services allows for easy event-driven implementations.
Popular programming languages among web app developers, such as Python and Javascript, are not optimized for efficient parallelization.
An alternative to multi-core parallelization is fan-out multiple tasks to AWS Lambda. Since it scales up very quickly, handling 1,000 concurrent jobs is easy.
Sending multiple I/O-bound requests efficiently is much easier than handling CPU-bound in parallel. Since invoking a Lambda function is an I/O-bound operation, the development team can save time and have a more stable and scalable implementation.
Lambda integrates very well with most other AWS services.
Manipulating objects in an S3 bucket, processing events from a Kinesis Stream, database items from a DynamoDB table or messages in an SQS queue, responding to REST API requests, etc.
These are all examples of services that work seamlessly with AWS Lambda. For a full list of integrations, please refer to the official documentation1.
While static content can be stored in S3 and CloudFront, dynamic API requests can be served by AWS Lambda in combination with API Gateway or AppSync. With this configuration, it is possible to have an entire website in serverless platforms.
Lambda is usually a good fit for workloads whose demand is unpredicable and highly variable, due to its highly scalable performance.
Traditional infrastructures are provisioned accounting for peak demand. This leads to waste on idle resources. Although auto-scaling can mitigate, it may not be able to cope with rapid spikes in demand.
A Lambda function can provide a quick and stable way to manipulate files. Images stored in an S3 bucket, for example, could be automatically converted from JPG to PNG, or have its size and quality setting reduced for optimized web navigation.
This could work for virtually any kind of file: text, video, compressed, etc.
Implementing and maintaining an infrastructure to run AI systems on a large scale can be difficult. Some machine learning frameworks and libraries, such as Scikit Learn, SciPy, NumPy, spaCy, etc. can run smoothly on AWS Lambda.
Models that are too big to deploy with the Lambda package can be stored in S3 and retrieved on demand. It’s possible to keep the model in memory for a warm start in the next invocations served by the same Lambda container.
AWS Lambda can be used to automate tasks such as EBS snapshot and AMI creation to backup resources when configuring EC2 instances. Backup images can be stored in S3, for example.
Lambda can also be used to restore backup images and run CloudFormation templates.
ETL jobs can be easily automated and scaled with AWS Lambda. A JSON object can be stored in S3, normalized in Lambda to insert in an RDS database, or validated to save in a DynamoDB table, for example. Later, Lambda could optimize the JSON using a columnar format to store back in S3 and serve fast and efficient analytical queries with AWS Athena.
No results found