There is a misunderstanding, that everything is possible with the Serverless Services in AWS, for example that your Lambda function may scale without limitations .
But each AWS service (not only Serverless) has a big list of quotas that everybody needs to be aware of, understand and take into account during the development.
In this talk I'll explain the most important quotas of the Serverless Services like API Gateway, Lambda, DynamoDB, SQS and Aurora Serverless and how to architect your solution with these quotas in mind.
Making sense of service quotas of AWS Serverless services and how to deal wit...Vadym Kazulkin
There is a misunderstanding that everything is possible with the Serverless Services in AWS. For example, the misunderstanding that your Lambda function may scale without limitations. But each AWS service (not only Serverless) has a big list of quotas that everybody needs to be aware of, understand, and take into account during the development. In this talk, I'll explain the most important quotas (in terms of scaling, but not only that) of Serverless services like API Gateway, Lambda, DynamoDB, SQS, and Aurora Serverless and how to architect your solution with these quotas in mind.
Introduce AWS Lambda for newbie and Non-IT
อธิบาย ความเป็นมาของ Serverless และ AWS Lambda คืออะไร ดีอย่างไร เพื่อให้คนไม่รู้จักและคนที่ไม่ใช่ IT ได้เข้าใจง่ายๆ
Index
- What's Serverless
- What's AWS Lambda
- Working with AWS Lambda
- AWS Lambda Life-Cycle
- AWS Lambda Anatomy
- Beware Cold Start
- How to debug
- Do and Don't to implement
- Pricing structure and example
- Advantage/Disadvantage
Presentation is English Version
Blog is Thai Version : https://myifew.com/5166/understand-serverless-with-aws-lambda-for-newbie/
FaaS or not to FaaS AWS Community Day Hamburg 2019 Bannes KazulkinVadym Kazulkin
Serverless isn’t a silver bullet. I’ll provide decision checklist to figure out whether serverless it the right approach for your application or not which consists of understanding of your:
-Application lifecycle
-Workloads
-Platform limitations
-Cost at scale
-Organizational knowledge
I will also discuss current challenges adopting serverless:
-Lack of High Latency Ephemeral Storage
-Poor Network performance
-Missing Security Improvements
Serverless on AWS : Understanding the hard parts at Serverless Meetup Dusseld...Vadym Kazulkin
We will look into the challenges, such as "cold start" with Lamda or "provisioned throughput" with DynamoDB and show you which strategies and options exist. We will also address topics like Tracing of Lambda-Functions and implementation of aggregation logic, Scaling and the Capacity Modes (reserved, provisioned and on-demand) options for DynamoDB. Finally, we'll have a look at the first relational serverless data base "Aurora Serverless" and its new data API.
Serverless on AWS : Understanding the hard parts at Froscon 2019Vadym Kazulkin
In unserem Vortrag tauchen wir tiefer in die Serverless-Welt ein und zeigen wie eine produktionsreife Serverless-Anwendung mithilfe von AWS-Cloud mit dem Technologie-Stack API Gateway, SNS, Lambda and DynamoDB aufgebaut werden kann. Dabei gehen wir auf die Herausforderungen der jeweiligen Services ein, wie "cold start" bei Lamda oder "provisioned throughput" und "adaptice capacity" bei DynamoDB. Dabei zeigen wir, welche Strategien und Wege es gibt, damit umzugehen. Außerdem behandeln wir solche Themen wie Implementierung von Aggregationslogik und (Scheduled) Auto Scaling bei DynamoDB. Am Ende werfen wir einen Blick in die Zukunft und sprechen über die erste relationale serverless Datenbank "Aurora Serverless"
Making sense of service quotas of AWS Serverless services and how to deal wit...Vadym Kazulkin
There is a misunderstanding that everything is possible with the Serverless Services in AWS. For example, the misunderstanding that your Lambda function may scale without limitations. But each AWS service (not only Serverless) has a big list of quotas that everybody needs to be aware of, understand, and take into account during the development. In this talk, I'll explain the most important quotas (in terms of scaling, but not only that) of Serverless services like API Gateway, Lambda, DynamoDB, SQS, and Aurora Serverless and how to architect your solution with these quotas in mind.
Introduce AWS Lambda for newbie and Non-IT
อธิบาย ความเป็นมาของ Serverless และ AWS Lambda คืออะไร ดีอย่างไร เพื่อให้คนไม่รู้จักและคนที่ไม่ใช่ IT ได้เข้าใจง่ายๆ
Index
- What's Serverless
- What's AWS Lambda
- Working with AWS Lambda
- AWS Lambda Life-Cycle
- AWS Lambda Anatomy
- Beware Cold Start
- How to debug
- Do and Don't to implement
- Pricing structure and example
- Advantage/Disadvantage
Presentation is English Version
Blog is Thai Version : https://myifew.com/5166/understand-serverless-with-aws-lambda-for-newbie/
FaaS or not to FaaS AWS Community Day Hamburg 2019 Bannes KazulkinVadym Kazulkin
Serverless isn’t a silver bullet. I’ll provide decision checklist to figure out whether serverless it the right approach for your application or not which consists of understanding of your:
-Application lifecycle
-Workloads
-Platform limitations
-Cost at scale
-Organizational knowledge
I will also discuss current challenges adopting serverless:
-Lack of High Latency Ephemeral Storage
-Poor Network performance
-Missing Security Improvements
Serverless on AWS : Understanding the hard parts at Serverless Meetup Dusseld...Vadym Kazulkin
We will look into the challenges, such as "cold start" with Lamda or "provisioned throughput" with DynamoDB and show you which strategies and options exist. We will also address topics like Tracing of Lambda-Functions and implementation of aggregation logic, Scaling and the Capacity Modes (reserved, provisioned and on-demand) options for DynamoDB. Finally, we'll have a look at the first relational serverless data base "Aurora Serverless" and its new data API.
Serverless on AWS : Understanding the hard parts at Froscon 2019Vadym Kazulkin
In unserem Vortrag tauchen wir tiefer in die Serverless-Welt ein und zeigen wie eine produktionsreife Serverless-Anwendung mithilfe von AWS-Cloud mit dem Technologie-Stack API Gateway, SNS, Lambda and DynamoDB aufgebaut werden kann. Dabei gehen wir auf die Herausforderungen der jeweiligen Services ein, wie "cold start" bei Lamda oder "provisioned throughput" und "adaptice capacity" bei DynamoDB. Dabei zeigen wir, welche Strategien und Wege es gibt, damit umzugehen. Außerdem behandeln wir solche Themen wie Implementierung von Aggregationslogik und (Scheduled) Auto Scaling bei DynamoDB. Am Ende werfen wir einen Blick in die Zukunft und sprechen über die erste relationale serverless Datenbank "Aurora Serverless"
Do you want to run your code without the cost and effort of provisioning and managing servers? Find out how in this deep dive session on AWS Lambda, which allows you to run code for virtually any type of application or back end service – all with zero administration. During the session, we’ll look at a number of key AWS Lambda features and benefits, including automated application scaling with high availability; pay-as-you-consume billing; and the ability to automatically trigger your code from other AWS services or from any web or mobile app.
(ARC302) Running Lean Architectures: How to Optimize for Cost Efficiency | AW...Amazon Web Services
Whether you're a startup getting to profitability or an enterprise optimizing spend, it pays to run cost-efficient architectures on AWS. Building on last year's popular foundation of how to reduce waste and fine-tune your AWS spending, this session reviews a wide range of cost planning, monitoring, and optimization strategies, featuring real-world experience from AWS customer Adobe Systems. With the massive growth of subscribers to Adobe's Creative Cloud, Adobe's footprint in AWS continues to expand. We will discuss the techniques used to optimize and manage costs, while maximizing performance and improving resiliency. We'll cover effectively combining EC2 On-Demand, Reserved, and Spot instances to handle different use cases, leveraging auto scaling to match capacity to workload, choosing the most optimal instance type through load testing, taking advantage of multi-AZ support, and using CloudWatch to monitor usage and automatically shutting off resources when not in use. Other techniques we'll discuss include taking advantage of tiered storage and caching, offloading content to Amazon CloudFront to reduce back-end load, and getting rid of your back end entirely, by leveraging AWS high-level services. We will also showcase simple tools to help track and manage costs, including the AWS Cost Explorer, Billing Alerts, and Trusted Advisor. This session will be your pocket guide for running cost effectively in the Amazon cloud.
#lspe Q1 2013 dynamically scaling netflix in the cloudCoburn Watson
Meetup presentation on how Netflix dynamically scales in the cloud. It covers topics primarily related to AWS autoscaling and provides some "day-in-the-life" data.
Become a Serverless Black Belt - Optimizing Your Serverless Applications - AW...Amazon Web Services
Learning Objectives:
- Learn how to optimize Lambda function performance and cost
- Understand how to improve cold start latency
- Best practices for event invocations and concurrency
Webinar: Serverless Architectures with AWS Lambda and MongoDB AtlasMongoDB
It’s easier than ever to power serverless architectures with our managed MongoDB as a service, MongoDB Atlas. In this session, we will explore the rise of serverless architectures and how they’ve rapidly integrated into public and private cloud offerings.
Getting Maximum Performance from Amazon Redshift (DAT305) | AWS re:Invent 2013Amazon Web Services
Get the most out of Amazon Redshift by learning about cutting-edge data warehousing implementations. Desk.com, a Salesforce.com company, discusses how they maintain a large concurrent user base on their customer-facing business intelligence portal powered by Amazon Redshift. HasOffers shares how they load 60 million events per day into Amazon Redshift with a 3-minute end-to-end load latency to support ad performance tracking for thousands of affiliate networks. Finally, Aggregate Knowledge discusses how they perform complex queries at scale with Amazon Redshift to support their media intelligence platform.
This presentation was delivered 14 times (in various forms) by AWS Evangelist Jeff Barr as part of his 2013 AWS Road Trip.
After introducing AWS, it covers the basics of S3, EC2, RDS, DynamoDB, Elastic Block Storage, Auto Scaling, Elastic Load Balancing, Redshift, the AWS Trusted Advisor, and more.
FaaS or not to FaaS. Visible and invisible benefits of the Serverless paradig...Vadym Kazulkin
When we talk about prices, we often only talk about Lambda costs. In our applications, however, we rarely use only Lambda. Usually we have other building blocks like API Gateway, data sources like SNS, SQS or Kinesis. We also store our data either in S3 or in serverless databases like DynamoDB or recently in Aurora Serverless. All of these AWS services have their own pricing models to look out for. In this talk, we will draw a complete picture of the total cost of ownership in serverless applications and present a decision-making list for determining if and whether to rely on serverless paradigm in your project. In doing so, we look at the cost aspects as well as other aspects such as understanding application lifecycle, software architecture, platform limitations, organizational knowledge and plattform and tooling maturity. We will also discuss current challenges adopting serverless such as lack of high latency ephemeral storage, unsufficient network performance and missing security features.
Production Ready Serverless Java Applications in 3 Weeks AWS UG Cologne Febru...Vadym Kazulkin
Production-ready Serverless Java Applications in 3 weeks" at AWS User Group Cologne 221.02.2019 by Vadym Kazulkin and Elmar Warken
Talking about lessons learned of Lambda, API Gateway, X-Ray and Serverless databases (both DynamoDB and Aurora Serverless), including some new topics such as DynamoDB On Demand and Aurora Serverless Data API
High performance Serverless Java on AWS at GeeCon 2024 KrakowVadym Kazulkin
Java is for many years one of the most popular programming languages, but it used to have hard times in the Serverless community. Java is known for its high cold start times and high memory footprint, comparing to other programming languages like Node.js and Python. In this talk I'll look at the general best practices and techniques we can use to decrease memory consumption, cold start times for Java Serverless development on AWS including GraalVM (Native Image) and AWS own offering SnapStart based on Firecracker microVM snapshot and restore and CRaC (Coordinated Restore at Checkpoint) runtime hooks. I'll also provide a lot of benchmarking on Lambda functions trying out various deployment package sizes, Lambda memory settings, Java compilation options and HTTP (a)synchronous clients and measure their impact on cold and warm start times.
Amazon DevOps Guru for Serverless Applications at DevOpsCon 2024 LondonVadym Kazulkin
In this talk, we’ll use a standard serverless application that uses API Gateway, Lambda, DynamoDB, SQS, Step Functions (and other AWS-managed services). We'll explore how Amazon DevOps Guru recognizes operational issues and anomalies like increased latency and error rates (timeouts, throttling, and resource limits) and integrate DevOps Guru with PagerDuty to provide even better incident management. Amazon DevOps Guru analyzes data like application metrics, logs, events, and traces to establish baseline operational behavior and then uses ML to detect anomalies. The service uses pre-trained ML models that are able to identify spikes in application requests, so it knows when to alert and when not to.
More Related Content
Similar to Making sense of service quotas of AWS Serverless services and how to deal with them AWS Community Day DACH 2023
Do you want to run your code without the cost and effort of provisioning and managing servers? Find out how in this deep dive session on AWS Lambda, which allows you to run code for virtually any type of application or back end service – all with zero administration. During the session, we’ll look at a number of key AWS Lambda features and benefits, including automated application scaling with high availability; pay-as-you-consume billing; and the ability to automatically trigger your code from other AWS services or from any web or mobile app.
(ARC302) Running Lean Architectures: How to Optimize for Cost Efficiency | AW...Amazon Web Services
Whether you're a startup getting to profitability or an enterprise optimizing spend, it pays to run cost-efficient architectures on AWS. Building on last year's popular foundation of how to reduce waste and fine-tune your AWS spending, this session reviews a wide range of cost planning, monitoring, and optimization strategies, featuring real-world experience from AWS customer Adobe Systems. With the massive growth of subscribers to Adobe's Creative Cloud, Adobe's footprint in AWS continues to expand. We will discuss the techniques used to optimize and manage costs, while maximizing performance and improving resiliency. We'll cover effectively combining EC2 On-Demand, Reserved, and Spot instances to handle different use cases, leveraging auto scaling to match capacity to workload, choosing the most optimal instance type through load testing, taking advantage of multi-AZ support, and using CloudWatch to monitor usage and automatically shutting off resources when not in use. Other techniques we'll discuss include taking advantage of tiered storage and caching, offloading content to Amazon CloudFront to reduce back-end load, and getting rid of your back end entirely, by leveraging AWS high-level services. We will also showcase simple tools to help track and manage costs, including the AWS Cost Explorer, Billing Alerts, and Trusted Advisor. This session will be your pocket guide for running cost effectively in the Amazon cloud.
#lspe Q1 2013 dynamically scaling netflix in the cloudCoburn Watson
Meetup presentation on how Netflix dynamically scales in the cloud. It covers topics primarily related to AWS autoscaling and provides some "day-in-the-life" data.
Become a Serverless Black Belt - Optimizing Your Serverless Applications - AW...Amazon Web Services
Learning Objectives:
- Learn how to optimize Lambda function performance and cost
- Understand how to improve cold start latency
- Best practices for event invocations and concurrency
Webinar: Serverless Architectures with AWS Lambda and MongoDB AtlasMongoDB
It’s easier than ever to power serverless architectures with our managed MongoDB as a service, MongoDB Atlas. In this session, we will explore the rise of serverless architectures and how they’ve rapidly integrated into public and private cloud offerings.
Getting Maximum Performance from Amazon Redshift (DAT305) | AWS re:Invent 2013Amazon Web Services
Get the most out of Amazon Redshift by learning about cutting-edge data warehousing implementations. Desk.com, a Salesforce.com company, discusses how they maintain a large concurrent user base on their customer-facing business intelligence portal powered by Amazon Redshift. HasOffers shares how they load 60 million events per day into Amazon Redshift with a 3-minute end-to-end load latency to support ad performance tracking for thousands of affiliate networks. Finally, Aggregate Knowledge discusses how they perform complex queries at scale with Amazon Redshift to support their media intelligence platform.
This presentation was delivered 14 times (in various forms) by AWS Evangelist Jeff Barr as part of his 2013 AWS Road Trip.
After introducing AWS, it covers the basics of S3, EC2, RDS, DynamoDB, Elastic Block Storage, Auto Scaling, Elastic Load Balancing, Redshift, the AWS Trusted Advisor, and more.
FaaS or not to FaaS. Visible and invisible benefits of the Serverless paradig...Vadym Kazulkin
When we talk about prices, we often only talk about Lambda costs. In our applications, however, we rarely use only Lambda. Usually we have other building blocks like API Gateway, data sources like SNS, SQS or Kinesis. We also store our data either in S3 or in serverless databases like DynamoDB or recently in Aurora Serverless. All of these AWS services have their own pricing models to look out for. In this talk, we will draw a complete picture of the total cost of ownership in serverless applications and present a decision-making list for determining if and whether to rely on serverless paradigm in your project. In doing so, we look at the cost aspects as well as other aspects such as understanding application lifecycle, software architecture, platform limitations, organizational knowledge and plattform and tooling maturity. We will also discuss current challenges adopting serverless such as lack of high latency ephemeral storage, unsufficient network performance and missing security features.
Production Ready Serverless Java Applications in 3 Weeks AWS UG Cologne Febru...Vadym Kazulkin
Production-ready Serverless Java Applications in 3 weeks" at AWS User Group Cologne 221.02.2019 by Vadym Kazulkin and Elmar Warken
Talking about lessons learned of Lambda, API Gateway, X-Ray and Serverless databases (both DynamoDB and Aurora Serverless), including some new topics such as DynamoDB On Demand and Aurora Serverless Data API
Similar to Making sense of service quotas of AWS Serverless services and how to deal with them AWS Community Day DACH 2023 (20)
High performance Serverless Java on AWS at GeeCon 2024 KrakowVadym Kazulkin
Java is for many years one of the most popular programming languages, but it used to have hard times in the Serverless community. Java is known for its high cold start times and high memory footprint, comparing to other programming languages like Node.js and Python. In this talk I'll look at the general best practices and techniques we can use to decrease memory consumption, cold start times for Java Serverless development on AWS including GraalVM (Native Image) and AWS own offering SnapStart based on Firecracker microVM snapshot and restore and CRaC (Coordinated Restore at Checkpoint) runtime hooks. I'll also provide a lot of benchmarking on Lambda functions trying out various deployment package sizes, Lambda memory settings, Java compilation options and HTTP (a)synchronous clients and measure their impact on cold and warm start times.
Amazon DevOps Guru for Serverless Applications at DevOpsCon 2024 LondonVadym Kazulkin
In this talk, we’ll use a standard serverless application that uses API Gateway, Lambda, DynamoDB, SQS, Step Functions (and other AWS-managed services). We'll explore how Amazon DevOps Guru recognizes operational issues and anomalies like increased latency and error rates (timeouts, throttling, and resource limits) and integrate DevOps Guru with PagerDuty to provide even better incident management. Amazon DevOps Guru analyzes data like application metrics, logs, events, and traces to establish baseline operational behavior and then uses ML to detect anomalies. The service uses pre-trained ML models that are able to identify spikes in application requests, so it knows when to alert and when not to.
How to reduce cold starts for Java Serverless applications in AWS at JCON Wor...Vadym Kazulkin
Java is for many years one of the most popular programming languages, but it used to have hard times in the Serverless Community. Java is known for its high cold start times which may heavily impact the latencies of your application. But the times change: Community and AWS as a cloud providers improve things steadily for Java developers. In this talk we look at the best practices, features and possibilities AWS offers for the Java developers to reduce the cold start times like GraalVM Native Image and AWS Lambda SnapStart based on CRaC (Coordinated Restore at Checkpoint) project.
How to reduce cold starts for Java Serverless applications in AWS at Serverle...Vadym Kazulkin
Java is for many years one of the most popular programming languages, but it used to have hard times in the Serverless Community. Java is known for its high cold start times which may heavily impact the latencies of your application. But the times change: Community and AWS as a cloud providers improve things steadily for Java developers. In this talk we look at the best practices, features and possibilities AWS offers for the Java developers to reduce the cold start times like GraalVM Native Image and AWS Lambda SnapStart based on on FirecrackerVM snapshot and CRaC (Coordinated Restore at Checkpoint) project.
Revolutionize DevOps lifecycle with Amazon CodeCatalyst and DevOps Guru at De...Vadym Kazulkin
AWS is on a journey to revolutionize DevOps using the latest technologies. In this talk I'll introduce 2 Amazon services which cover different stages of the DevOps lifecycle: CodeCatalyst and DevOps Guru.
Amazon CodeCatalyst is an integrated service for software development teams adopting continuous integration and deployment practices into their software development process. CodeCatalyst puts the tools you need all in one place. You can plan work, collaborate on code, and build, test, and deploy applications with continuous integration/continuous delivery (CI/CD) tools. You can also integrate AWS resources with your projects by connecting your AWS accounts to your CodeCatalyst space. By managing all of the stages and aspects of your application lifecycle in one tool, you can deliver software quickly and confidently.
Amazon DevOps Guru analyzes data like application metrics, logs, events, and traces to establish baseline operational behavior and then uses ML to detect anomalies. The service uses pre-trained ML models that are able to identify spikes in application requests, so it knows when to alert and when not to.
Amazon DevOps Guru for the Serverless Applications at AWS Community Day NL 2023Vadym Kazulkin
In this talk we’ll use a standard Serverless application which uses of API Gateway, Lambda, DynamoDB, SQS, Step Functions (and other AWS managed services) and explore how Amazon DevOps Guru recognizes operational issues like increased latency and error rates (timeouts, throttling and resource limits) and integrate DevOps Guru with PagerDuty for providing even better incident management.
Amazon DevOps Guru analyzes data like application metrics, logs, events, and traces to establish baseline operational behavior and then uses ML to detect anomalies. The service uses pre-trained ML models that are able to identify spikes in application requests, so it knows when to alert and when not to.
How to reduce cold starts for Java Serverless applications in AWS at InfoShar...Vadym Kazulkin
Java is for many years one of the most popular programming languages, but it used to have hard times in the Serverless Community. Java is known for its high cold start times which may heavily impact the latencies of your application. But the times change: Community and AWS as a cloud providers improve things steadily for Java developers. In this talk we look at the best practices, features and possibilities AWS offers for the Java developers to reduce the cold start times like GraalVM Native Image and AWS Lambda SnapStart based on CRaC (Coordinated Restore at Checkpoint) project.
Adopting Java for the Serverless World at Voxxed Days Bruxelles 2023Vadym Kazulkin
Java is for many years one of the most popular programming languages, but it used to have hard times in the Serverless Community. Java is known for its high cold start times and high memory footprint. For both you have to pay to the cloud providers of your choice. That's why most developers tried to avoid using Java for such use cases. But the times change: Community and cloud providers improve things steadily for Java developers. In this talk we look at the features and possibilities AWS cloud provider offers for the Java developers and look the most popular Java frameworks, like Micronaut, Quarkus and Spring (Boot) and look how (AOT compiler and GraalVM Native Image play a huge role) they address Serverless challenges and enable Java for broad usage in the Serverless world. We'll also look into AWS Lambda SnapStart feature based on CRaC (Coordinated Restore at Checkpoint) project which also reduces the cold start time of Java Serverless application on AWS. We also look into the tools which help us figure out the optimal balance between Lambda memory footprint, invocation time and execution cost.
Github Copilot vs Amazon CodeWhisperer for Java developers at JCON 2023Vadym Kazulkin
In this talk I will compare 2 services Github Copilot (including Copilot X) and Amazon CodeWhisperer from the perspective of the Java developers in terms of the quality of the given recommendations for simple tasks, complex algorithms, Spring Boot and AWS development, IDE integration and pricing.
Both services are the machine learning-powered services that help improve developer productivity by generating code recommendations based on developers’ comments in natural language and their code. Based on natural language comments, these services also automatically recommend unit test code that matches your implementation code.
AWS Lambda SnapStart: Why, How and What AWS Serverless Meetup New York Boston...Vadym Kazulkin
- Challenges of AWS Serverless applications written in Java
- Challenges and limitations of existing solutions like Graal VM Native Image
- What is AWS SnapStart and how it addresses those challenges
- Benchmarking AWS Lambda SnapStart using plain Java and also frameworks like Quarkus, Micronaut and SpringBoot
- Optimization techniques like Priming
- Current challenges and limitations of AWS Lambda SnapStart
Revolutionize DevOps with ML capabilities. Deep dive into Amazon CodeGuru and...Vadym Kazulkin
I will introduce two AWS services: CodeGuru and DevOps Guru.
CodeGuru Reviewer uses ML and automated reasoning to automatically identify critical issues, security vulnerabilities, and hard-to-find bugs during application development.
DevOps Guru analyzes data like application metrics, logs, events, and traces to establish baseline operational behavior and then uses ML to detect anomalies. It does this by having the ability to correlate and group metrics together to understand the relationships between those metrics, so it knows when to alert.
Amazon DevOps Guru for the Serverless Applications at AWS Community Day Bene...Vadym Kazulkin
In this talk we’ll build a standard Serverless application which uses of API Gateway, Lambda and DynamoDB and explore how Amazon DevOps Guru recognizes operational issues like increased latency and error rates (timeouts and throttles) and integrate DevOps Guru with PagerDuty for providing even better incident management
Amazon DevOps Guru analyzes data like application metrics, logs, events, and traces to establish baseline operational behavior and then uses ML to detect anomalies. The service uses pre-trained ML models that are able to identify spikes in application requests, so it knows when to alert and when not to.
Amazon CodeGuru vs SonarQube for Java Developers at JCon 2022Vadym Kazulkin
In this talk I will compare 2 services which aim at automatically identifing critical issues, security vulnerabilities, and hard-to-find bugs during application development: Amazon CodeGuru and SonarQube from the perspective of the Java developer on AWS. Amazon CodeGuru Reviewer uses ML and automated reasoning to provide recommendations to developers on how to fix issues to improve code quality and dramatically reduce the time it takes to fix bugs before they reach customer-facing applications and result in a bad experience. SonarQube is an open-source platform for continuous inspection of code quality to perform automatic reviews with static analysis of code to detect bugs, code smells, and security vulnerabilities on 20+ programming languages. SonarQube offers reports on duplicated code, coding standards, unit tests, code coverage, code complexity, comments, bugs, and security vulnerabilities
Adopting Java for the Serverless World at JUG Saxony Day 2022Vadym Kazulkin
Java is for many years one of the most popular programming languages, but it used to have hard times in the Serverless Community. Java is known for its high cold start times and high memory footprint. For both you have to pay to the cloud providers of your choice. That's why most developers tried to avoid using Java for such use cases. But the times change: Community and cloud providers improve things steadily for Java developers. In this talk we look at the features and possibilities AWS cloud provider offers for the Java developers and look the most popular Java frameworks, like Micronaut, Quarkus and Spring (Boot) and look how (AOT compiler and GraalVM native images play a huge role) they address Serverless challenges and enable Java for broad usage in the Serverless world.
Adopting Java for the Serverless World at VoxxedDays LuxemburgVadym Kazulkin
Java is for many years one of the most popular programming languages, but it used to have hard times in the Serverless Community. Java is known for its high cold start times and high memory footprint. For both you have to pay to the cloud providers of your choice. That's why most developers tried to avoid using Java for such use cases. But the times change: Community and cloud providers improve things steadily for Java developers. In this talk we look at the features and possibilities AWS cloud provider offers for the Java developers and look the most popular Java frameworks, like Micronaut, Quarkus and Spring (Boot) and look how (AOT compiler and GraalVM native images play a huge role) they address Serverless challenges and enable Java for broad usage in the Serverless world.
Revolutionize DevOps with ML capabilities. Introduction to Amazon CodeGuru an...Vadym Kazulkin
I will introduce two AWS services: CodeGuru and DevOps Guru.
CodeGuru Reviewer uses ML and automated reasoning to automatically identify critical issues, security vulnerabilities, and hard-to-find bugs during application development.
DevOps Guru analyzes data like application metrics, logs, events, and traces to establish baseline operational behavior and then uses ML to detect anomalies. It does this by having the ability to correlate and group metrics together to understand the relationships between those metrics, so it knows when to alert.
Adopting Java for the Serverless World at JUG Bonn 2022Vadym Kazulkin
Java is for many years one of the most popular programming languages, but it used to have hard times in the Serverless Community. Java is known for its high cold start times and high memory footprint. For both you have to pay to the cloud providers of your choice. That's why most developers tried to avoid using Java for such use cases. But the times change: Community and cloud providers improve things steadily for Java developers. In this talk we look at the features and possibilities AWS cloud provider offers for the Java developers and look the most popular Java frameworks, like Micronaut, Quarkus and Spring (Boot) and look how (AOT compiler and GraalVM native images play a huge role) they address Serverless challenges and enable Java for broad usage in the Serverless world.
Adopting Java for the Serverless World at JUG Darmstadt 2022Vadym Kazulkin
Java is for many years one of the most popular programming languages, but it used to have hard times in the Serverless Community. Java is known for its high cold start times and high memory footprint. For both you have to pay to the cloud providers of your choice. That's why most developers tried to avoid using Java for such use cases. But the times change: Community and cloud providers improve things steadily for Java developers. In this talk we look at the features and possibilities AWS cloud provider offers for the Java developers and look the most popular Java frameworks, like Micronaut, Quarkus and Spring (Boot) and look how (AOT compiler and GraalVM native images play a huge role) they address Serverless challenges and enable Java for broad usage in the Serverless world.
Adopting Java for the Serverless World at JAX 2022Vadym Kazulkin
Java is for many years one of the most popular programming languages, but it used to have hard times in the Serverless Community. Java is known for its high cold start times and high memory footprint. For both you have to pay to the cloud providers of your choice. That's why most developers tried to avoid using Java for such use cases. But the times change: Community and cloud providers improve things steadily for Java developers. In this talk we look at the features and possibilities AWS cloud provider offers for the Java developers and look the most popular Java frameworks, like Micronaut, Quarkus and Spring (Boot) and look how (AOT compiler and GraalVM native images play a huge role) they address Serverless challenges and enable Java for broad usage in the Serverless world.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
Let's dive deeper into the world of ODC! Ricardo Alves (OutSystems) will join us to tell all about the new Data Fabric. After that, Sezen de Bruijn (OutSystems) will get into the details on how to best design a sturdy architecture within ODC.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
12. API Gateway Important Service Quotas
Quota Description Value Adjustable
Default
throughput /
Throttle rate
The maximum number of requests per
second that your APIs can receive
10.000
Throttle burst rate The maximum number of additional
requests per second that you can send in
one burst
5.000
14. API Gateway Important Service Quotas
Quota Description Value Adjustable Mitigation
Max timeout The maximum integration
timeout in milliseconds
29 sec
API Payload
size
Maximum payload size for
non WebSocket API
10 MB 1)The client makes an
HTTP GET request to
API Gateway, and the
Lambda function
generates and returns a
presigned S3 URL
2)The client uploads the
image to S3 directly,
using the resigned S3
URL
16. Lambda Important Service Quotas
Quota Description Value Adjus
table
Mitigation
Concurrent
executions/
Concurrency
limit
The maximum number of
events that functions can
process simultaneously in the
current region
1.000 Rearchitect
Burst
Concurrency
Limit
The maximum immediate
increase in function
concurrency that can occur
when your functions scale in
response to a burst of traffic.
After the initial burst,
concurrency scales by 500
executions per minute up to
your concurrency limit
• US West (Oregon), US
East (N. Virginia),
Europe (Ireland)=3.000
• Asia Pacific (Tokyo),
Europe (Frankfurt), US
East (Ohio)=1000
• All other Regions=500
Use
provisioned
concurrency
20. Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
Lambda Burst Limit and Cold Start
https://aws.amazon.com/de/blogs/compute/understanding-aws-lambdas-invoke-throttle-limits/
• If there are sudden and steep spikes in the number of cold starts, it can put pressure
on the invoke services that handle these cold start operations, and also cause
undesirable side effects for your application such as increased latencies, reduced
cache efficiency and increased fan out on downstream dependencies
• The burst limit exists to protect against such surges of cold starts, especially for
accounts that have a high concurrency limit
21. Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
Lambda Burst Limit
https://aws.amazon.com/de/blogs/compute/understanding-aws-lambdas-invoke-throttle-limits/ https://docs.aws.amazon.com/lambda/latest/dg/burst-concurrency.html
The chart above shows the burst limit in action with a maximum concurrency limit of
3000, a maximum burst(B) of 1000 and a refill rate(r) of 500/minute. The token bucket
starts full with 1000 tokens, as is the available burst headroom
22. Lambda Important Service Quotas
Quota Description Value Adjust
able
Mitigation
TPS
(Transaction
per Second)
The
maximum
number of
TPS
TPS = min(10 x
concurrency,
concurrency /
function duration in
seconds)
• If the function duration is
exactly 100ms (or 1/10th of a
second), both terms in the min
function are equal
• If the function duration is over
100ms, the second term is
lower and TPS is limited as per
concurrency/function duration
• If the function duration is under
100ms, the first term is lower
and TPS is limited as per 10 x
concurrency
23. Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
Lambda TPS Limit
https://aws.amazon.com/de/blogs/compute/understanding-aws-lambdas-invoke-throttle-limits/ https://www.linkedin.com/pulse/how-aws-lambda-works-underneath-shwetabh-shekhar/
The burst limit isn’t a rate limit on the invoke itself, but a rate limit on how quickly
concurrency can rise. However, since invoke TPS is a function of concurrency, it also
clamps how quickly TPS can rise.
24. Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
Lambda TPS Limit
https://aws.amazon.com/de/blogs/compute/understanding-aws-lambdas-invoke-throttle-limits/ https://www.linkedin.com/pulse/how-aws-lambda-works-underneath-shwetabh-shekhar/
The TPS limit exists to protect the Invoke Data Plane from the high churn of short-lived
invocations. In case of short invocations of under 100ms, throughput is capped as
though the function duration is 100ms (at 10 x concurrency). This implies that short
lived invocations may be TPS limited, rather than concurrency limited.
25. Lambda Important Service Quotas
Quota Description Value Adjus
table
Mitigation
Concurrent
executions/
Concurrency
limit
The maximum number of
events that functions can
process simultaneously in the
current region
1.000 Rearchitect
Burst
Concurrency
Limit
The maximum immediate
increase in function
concurrency that can occur
when your functions scale in
response to a burst of traffic.
After the initial burst,
concurrency scales by 500
executions per minute up to
your concurrency limit
• US West (Oregon), US
East (N. Virginia),
Europe (Ireland)=3.000
• Asia Pacific (Tokyo),
Europe (Frankfurt), US
East (Ohio)=1000
• All other Regions=500
Use
provisioned
concurrency
27. Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
General Best Practices for using Lambda
• Optimize for cost-performance
• Use AWS Lambda Power Tuning
• Reuse AWS Service clients/connections outside of the Lambda
handler
• Use the newest version of AWS SDK of programming language of
your choice
• Minimize dependencies and package size
• Import only dependencies that you need (especially from AWS SDK)
• Use a keep-alive directive to maintain persistent connections
• Implement (other) best practices to reduce cold starts
https://docs.aws.amazon.com/lambda/latest/dg/best-practices.html
28. Lambda Important Service Quotas
Quota Description Value Adjustable Mitigation
Function
timeout
The maximum timeout
that you can configure
for a function
15 min
Synchronous
payload
The maximum size of an
incoming synchronous
invocation request or
outgoing response
6 MB For the Request:
• use API Gateway
service proxy to S3
• use pre-signed S3 URL and
upload directly to S3
For the Response:
Use response streaming (with
AWS Lambda Web Adapter )
https://theburningmonk.com/2020/04/hit-the-6mb-lambda-payload-limit-heres-what-you-can-do/
29. Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
Lambda Response Streaming
https://aws.amazon.com/de/blogs/compute/introducing-aws-lambda-response-streaming/
You can use response streaming to send responses larger than Lambda’s 6 MB
response payload limit up to a soft limit of 20 MB.
• Response streaming currently supports the Node.js 14.x and subsequent managed
runtimes
• To indicate to the runtime that Lambda should stream your function’s responses,
you must wrap your function handler with the streamifyResponse() decorator. This
tells the runtime to use the correct stream logic path, allowing the function to
stream responses
exports.handler = awslambda.streamifyResponse(
async (event, responseStream, context) => {
responseStream.setContentType(“text/plain”);
responseStream.write(“Hello, world!”);
responseStream.end();});
30. Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
Lambda Response Streaming
(with AWS Lambda Web Adapter)
https://aws.amazon.com/de/blogs/compute/using-response-streaming-with-aws-lambda-web-adapter-to-optimize-performance/
• The Lambda Web Adapter, written in Rust, serves as a universal
adapter for Lambda Runtime API and HTTP API
• It allows developers to package familiar HTTP 1.1/1.0 web
applications, such as Express.js, Next.js, Flask, SpringBoot, or
Laravel, and deploy them on AWS Lambda
• This replaces the need to modify the web application to
accommodate Lambda’s input and output formats, reducing the
complexity of adapting code to meet Lambda’s requirements
33. SQS (Standard) Important Service Quotas
Quota Description Value Adjustable
Throughput
per Standard
Queue
Standard queues support a nearly unlimited
number of transactions per second (TPS) per
API action.
Nearly
unlimited
34. Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
Lambda scaling with SQS standard queues
https://aws.amazon.com/de/blogs/compute/understanding-how-aws-lambda-scales-when-subscribed-to-amazon-sqs-queues/
• When a Lambda function subscribes to an SQS
queue, Lambda polls the queue as it waits for
messages to arrive. It consumes messages in
batches, starting with 5 functions at a time
• If there are more messages in the queue, Lambda
adds up to 60 functions per minute, up to 1,000
functions, to consume those messages from the
SQS queue
• This scaling behavior is managed by AWS and
cannot be modified
• To process more messages, you can optimize your
Lambda configuration for higher throughput
35. Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
Lambda scaling with SQS standard queues
https://aws.amazon.com/de/blogs/compute/understanding-how-aws-lambda-scales-when-subscribed-to-amazon-sqs-queues/
https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#services-sqs-batchfailurereporting
• Increase the allocated memory for your Lambda
function
• Optimize batching behavior:
• by default, Lambda batches up to
10 messages in a queue to process them
during a single Lambda execution. You can
increase this number up to 10,000 messages,
or up to 6 MB of messages in a single batch
for standard SQS queues
• If each payload size is 256KB (the maximum
message size for SQS), Lambda can only take
23 messages per batch, regardless of the
batch size setting
• Implement partial batch responses
36. SQS (Standard) Important Service Quotas
Quota Description Value Adjustable
Throughput
per Standard
Queue
Standard queues support a nearly unlimited
number of transactions per second (TPS) per
API action.
Nearly
unlimited
In-Flight
Messages per
Standard Queue
The number of in-flight messages (received
from a queue by a consumer, but not yet deleted
from the queue) in a standard queue
120.000
Message size The size of a message 256KB
37. Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
Use BatchWriteItem for storing to DynamoDB
The BatchWriteItem operation puts
or deletes multiple items in one or
more tables.
A single call to BatchWriteItem can
transmit up to 16MB of data over
the network, consisting of up to
25 item put or delete operations
use BatchWriteItem
https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_BatchWriteItem.html
39. SQS (FIFO) Important Service Quotas
Quota Description Value Adjustable
Batched Message
Throughput for FIFO
Queues
The number of batched transactions per
second (TPS) for FIFO queues
3.000
In-Flight Messages per
FIFO Queue
The number of in-flight messages in a
FIFO queue
20.000
41. Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
SQS FIFO Message Groups and
Multiple Consumers
https://aws.amazon.com/blogs/compute/solving-complex-ordering-challenges-with-amazon-sqs-fifo-queues/
https://jayendrapatil.com/aws-sqs-standard-vs-fifo-queue/
• The combination of increased messages and extra processing time for the new
features means that a single consumer is too slow. The solution is to scale to
have more consumers and process messages in parallel
• To work in parallel, only the messages related to a single Auction must be kept
in order. FIFO can handle that case with a feature called message groups. Each
transaction related to Auction A is placed by your producer into message group
A, and so on
43. Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
SQS FIFO High Throughput Mode
https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/high-throughput-fifo.html
• High throughput for FIFO queues supports a higher number of
requests per API, per second
• To increase the number of requests in high throughput for FIFO
queues, you can increase the number of message groups you use.
• Each message group supports 300 requests per second
Quota Description Value Adjustable
Throughput for FIFO
High Throughput
mode
Number of transactions per second (TPS)
per API in the high throughput node of
FIFO queue
2.400-9.000
45. DynamoDB Important Service Quotas
Quota Description Value Adjus
table
Mitigation
Table-level
read/wrtie
throughput limit
The maximum number of
read/write throughput allocated
for a table or global secondary
index
40.000 RCU/
40.000 WCU
Ask for quote
increase
Table-Level burst
capacity for
provisioned
capacity mode
During an occasional burst of
read or write activity, these extra
capacity units can be consumed
quickly
up to 300
seconds of
unused RCUs
and WCUs
Partition-level
read/write
throughput
The maximum number of
read/write throughput allocated
for a partition
3000 RCU /1000
WCU
Use best
practices to
avoid hot
partition
https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html#default-limits-throughput-capacity-modes
https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/bp-partition-key-design.html#bp-partition-key-throughput-bursting
46. Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
Recommendations for partition keys
• Use high-cardinality attributes
• These are attributes that have distinct values for each item, like email_id, employee_no,
customer_id, session_id, order_id, and so on
• Use composite attributes
• Try to combine more than one attribute to form a unique key, if that meets your access
pattern. For example, consider an orders table with customerid#productid#countrycode
as the partition key and order_date as the sort key, where the symbol # is used to split
different field
• Add random numbers or digits from a predetermined range for write-heavy use
cases
• Suppose that you expect a large volume of writes for a partition key (for example,
greater than 1000 1 K writes per second). In this case, use an additional prefix or suffix
(a fixed number from predetermined range, say 0–9) and add it to the partition key, like
InvoiceNumber#Random(0-N)
https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/bp-partition-key-uniform-load.html
https://aws.amazon.com/de/blogs/database/choosing-the-right-dynamodb-partition-key/
47. DynamoDB Important Service Quotas
Quota Description Value Adjustable
Initial throughput for
on-demand capacity
mode
Initial throughput for on-demand
capacity mode
See futher details
https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html#default-limits-throughput-capacity-modes
49. Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
Initial Throughput For DynamoDB On-
Demand Capacity Mode
Newly created table with on-demand capacity mode:
• enables newly created on-demand tables to serve up to 4,000 WCUs or 12,000
RCUs
• If you exceed double your previous traffic's peak within 30 minutes, then you might
experience throttling
• One solution is to pre-warm the tables to the anticipated peak capacity of the spike
by:
• Performing the load test
• Creating table in provisioned mode with high WCUs/RCUs and then switch to
on-demand mode
https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.InitialThroughput
50. Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
Initial Throughput For DynamoDB On-
Demand Capacity Mode
Existing table switched from provisioned to on-demand capacity mode:
• The previous peak is half the maximum write capacity units and read capacity
units provisioned since the table was created
• or the settings for a newly created table with on-demand capacity mode,
whichever is higher
• In other words, your table will deliver at least as much throughput as it did prior to
switching to on-demand capacity mode
https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.InitialThroughput
52. Aurora (Serverless) Important Service Quotas
Quotas
Quota Description Value Adjustable
Data API requests per
second
The maximum number of requests to
the Data API per second allowed in this
account in the current AWS Region
1.000
https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_Limits.html
54. Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
DynamoDB vs Aurora (Serverless)
Aurora Serverless v1 Aurora Serverless v1
+ Data API
Aurora
Serverless v2
Investment in
Knowledge
Relational databases are
familiar to many
Same Same
Engine Support Takes time to support
the newest engines of
MySQL and PostreSQL
Takes time to support
the newest engines of
MySQL and PostreSQL
The newest
engines of MySQL
and PostreSQL
supported
https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.Aurora_Fea_Regions_DB-eng.Feature.ServerlessV1.html
https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.Aurora_Fea_Regions_DB-eng.Feature.ServerlessV2.html
55. Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
DynamoDB vs Aurora (Serverless)
Aurora
Serverless v1
Aurora Serverless v1
+ Data API
Aurora
Serverless v2
Misc Not too much
new feature
development
happening
• Not too much new
feature development
happening
• Service Quota of
Data API to consider
No Data API
support yet
Requires to put Lambda
into VPC to access
May require Amazon
RDS Proxy for
connection pooling
https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html
56. Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
Other Optimizations: Caching
• Put DynamoDB Accelerator (DAX) in front of DynamoDB
• Requires putting Lambda behind VPC
• ElastiCache before Aurora Serverless
• Requires putting Lambda behind VPC
• No “pay as you go” pricing
• Enable API Gateway Caching
• Uses ElastiCache behind the scenes
• No “pay as you go” pricing for ElastiCache
• Use CloudFront (and its caching capabilities) in front of API
Gateway
58. Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
Other Optimizations: Error Handling and
Retries
• Set meaningful timeouts
• For API Gateway, Lambda
• Retry with exponential backoff and jitter
• AWS SDK supports them out of the box
• Implement idempotency
• AWS Lambda Powertools (Java, Python) supports idempotency
module
https://docs.aws.amazon.com/sdkref/latest/guide/feature-retry-behavior.html
https://aws.amazon.com/builders-library/timeouts-retries-and-backoff-with-jitter/
https://aws.amazon.com/de/blogs/architecture/exponential-backoff-and-jitter/
https://aws.amazon.com/blogs/compute/handling-lambda-functions-idempotency-with-aws-lambda-powertools/
60. Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
AWS “Virtual Waiting Room” Solution
• Open-source project written in
Python that can be integrated into
existing applications
• Source code available on GitHub
• Different CloudFormation
Templates to choose from (from
minimal to extended solutions)
• Estimated costs for a 50,000-user
and a 100,000-user waiting room with
an event duration ranging 2-4 hours
• Virtual Waiting Room on AWS has
been load tested with a tool called
Locust. The simulated event sizes
ranged from 10,000 to 100,000 clients
https://docs.aws.amazon.com/solutions/latest/virtual-waiting-room-on-aws/architecture-overview.html
https://docs.aws.amazon.com/pdfs/solutions/latest/virtual-waiting-room-on-aws/virtual-waiting-room-on-aws.pdf
62. Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
General Best Practices for Service Quotas
• Know, understand and observe the service quotas
• Architect with service quotas in mind
• AWS adjusts them from time to time
• In case I’d like to request the quota increase, provide a valid
justification for the new desired value
• Service quotas are valid per AWS account (per region)
• Use different AWS accounts for development and testing
• Use different AWS accounts for independent (micro-)services
• Separate AWS accounts on the team level
• Use AWS Organizations