Long running aws lambda - Joel Schuweiler, MinneapolisAWS Chicago
The document discusses running long-running tasks using AWS Lambda and ECS. It describes how Lambda has runtime and resource limits that prevent long running processes. It then outlines a method to use Lambda to trigger an ECS task to run the long-running process instead of running it directly in Lambda. Key aspects of the ECS task definition and IAM roles are also summarized.
Riga dev day: Lambda architecture at AWSAntons Kranga
My recent talk at Riga DevDay about Lambda architect at AWS. It illustrates few design simplifications that we can get when we implement Lambda Architecture in Cloud Native way
Server-less solution for moving Millions of Images in Cloud - Brett Sutter, ...AWS Chicago
AWS Community Day | Midwest 2018
Track 1
Server-less solution for moving Millions of Images in Cloud - Brett Sutter, Steve Miers, Kirtesh Garg, Minneapolis
This document discusses serverless architecture using AWS services. It describes how Open Class Tickets uses AWS Lambda for backend business logic, API Gateway to access the logic, and DynamoDB for data persistence. It also covers authentication with Cognito, event handling with SNS, ticket delivery with SES, file storage with S3, and management with CloudFront. Infrastructure is defined with CloudFormation. Key benefits are no servers to manage and continuous scaling, while potential downsides include vendor lock-in and cold start latency.
AWS Lambda and Serverless framework: lessons learned while building a serverl...Luciano Mammino
The document discusses lessons learned from building a serverless company. It introduces Planet 9 Energy and their use of AWS Lambda and the Serverless framework. Key topics covered include security, quality assurance, developer experience, costs, and lessons learned. Some challenges discussed are debugging, API Gateway custom domains, and Lambda limitations. The document emphasizes that serverless architectures provide infinite scalability at low cost but also have some limitations that require management.
Speaker spoke about features and benefits of the AWS Lambda service and explained how to increase system performance by using AWS services.
This presentation by Mykhailo Brodskyi (Senior Software Engineer, Consultant, GlobalLogic, Kharkiv), was delivered at GlobalLogic Kharkiv Java Conference 2018 on June 10, 2018.
Aurora Serverless, 서버리스 RDB의 서막 - 트랙2, Community Day 2018 re:Invent 특집AWSKRUG - AWS한국사용자모임
This document summarizes a presentation about new features of Amazon Aurora including Aurora Parallel Query Processing, Aurora Multi-Master, and the new Aurora Serverless offering. Aurora Parallel Query Processing allows queries to be parallelized across thousands of storage nodes. Aurora Multi-Master enables multiple read-write instances for high availability. Aurora Serverless automatically scales databases on demand without capacity planning, with users paying per second of use.
AWS Lambda from the trenches (Serverless London)Yan Cui
AWS Lambda has changed the way we deploy and run software, but this new serverless paradigm has created new challenges to old problems - how do you test a cloud-hosted function locally? How do you monitor them? What about logging and config management? And how do we start migrating from existing architectures?
In this talk Yan will discuss solutions to these challenges by drawing from real-world experience running Lambda in production and migrating from an existing monolithic architecture.
Building a serverless company on AWS lambda and Serverless frameworkLuciano Mammino
Planet9energy.com is a new electricity company building a sophisticated analytics and energy trading platform for the UK market. Since the earliest draft of the platform, we took the unconventional decision to go serverless and build the product on top of AWS Lambda and the Serverless framework using Node.js. In this talk, I want to discuss why we took this radical decision, what are the pros and cons of this approach and what are the main issues we faced as a tech team in our design and development experience. We will discuss how normal things like testing and deployment need to be re-thought to work on a serverless fashion but also the benefits of (almost) infinite self-scalability and the peace of mind of not having to manage hundreds of servers. Finally, we will underline how Node.js seems to fit naturally in this scenario and how it makes developing serverless applications extremely convenient.
Technologies:
Backend
Frontend
Application architecture
Javascript
cloud computing
My presentation about Serverless Architectures in JavaDay Lviv, June 2016. It covers AWS Lambda and related AWS Services. LiveDemo have got terraform and apex.
Aws lambda and accesing AWS RDS - ClouddictiveClouddictive
Implement a Lambda function which integrates with RDS. How to implement this new function in Java using Spring Framework.
1) Setup RDS instance
2) Implement RequestHandler in java
4) Create lambda function
Slides for a short presentation I gave on AWS Lambda, which "lets you run code without provisioning or managing servers". Lambda is to running code as Amazon S3 is to storing objects.
Introduction to AWS and Terraform. In these slides we introduce AWS, cloud networking and cloud native workflows using infrastructure as code via Terraform.
This document discusses using event sourcing with Slick by storing events in a dedicated database table. Events are immutable records that capture all changes to application data. By processing events, both an event log and read model can be updated transactionally within a database. Slick's DBIOAction monad is used to sequence database operations. Potential issues include ordering concurrent events and managing DBIOAction side effects. The document outlines functions for handling commands, processing events, and updating models. Links are provided to the slick-eventsourcing GitHub project and presentation for further details.
This document discusses serverless architectures using AWS Lambda. It provides an overview of serverless computing and AWS Lambda, outlines some common use cases and challenges at OpsGenie, and describes their serverless technology stack. Some key points include:
- AWS Lambda allows running code without managing servers and only paying for the compute time used
- OpsGenie uses AWS Lambda along with other serverless AWS services like DynamoDB, S3, and API Gateway for various use cases including reporting, indexing data to Elasticsearch, and a service management pilot
- Challenges of using serverless include Java cold starts, proper monitoring without agents, and deployment processes
Aws Lambda Cart Microservice Server LessDhanu Gupta
This document describes an AWS serverless architecture for a cart microservice using AWS Lambda, API Gateway, and DynamoDB. It includes components like API Gateway for the REST API frontend, Lambda functions to run the application code, and DynamoDB for the database. It provides instructions on setting up the resources, mapping the API to Lambda, and deploying the API for testing. The goal is to build a serverless REST API for basic cart operations like read, create, delete that avoids managing servers and scales automatically.
BUILDING Serverless apps with MongoDB AtLAS, AWS Lambda and Step FunctionsRaphael Londner
In this session, AWS Solutions Architect Paul Sears will provide an overview of AWS Lambda functions, including some key integration use cases with MongoDB Atlas. Developer Advocate Raphael Londner will walk you through how to code a Lambda function connected to MongoDB Atlas, with a specific focus on performance optimization. Raphael will then demonstrate how to orchestrate multiple Lambda functions inside a state machine built on top of AWS Step Functions.
Talk @ API Days Paris, 13/12/2016
Simplifying development and deployment of serverless applications with Open Source frameworks and tools: Serverless, Gordon, Chalice, etc.
Integrating Jira Software Cloud With the AWS Code SuiteAtlassian
This document discusses integrating Jira Software Cloud with the AWS Code Suite. It covers using Atlassian Connect and Spring Boot to build a Jira app, deploying the necessary AWS infrastructure including ECS, CodePipeline, Lambda, and ECR, and using Lambda functions and triggers to integrate development workflows and send build data from AWS to Jira. The presentation provides an overview of the key AWS services and development tools used, sample code and configurations, and best practices for building and hosting containerized Jira apps on AWS.
Managed services such as AWS Lambda and API Gateway allow developers to focus on value adding development instead of IT heavy lifting. This workshop introduces how to build a simple REST blog backend using AWS technologies and the serverless framework.
Developing and deploying serverless applications (February 2017)Julien SIMON
- The document discusses developments and tools for serverless applications on AWS Lambda. It begins with an overview of new Lambda features like environment variables and Step Functions for orchestrating Lambda functions.
- Several serverless frameworks are demonstrated, including the Serverless Framework, Gordon, and Chalice, which simplify developing and deploying Lambda functions and event sources.
- The AWS Serverless Application Model (SAM) is presented as a way to bundle Lambda functions, APIs, and events using CloudFormation for simplified deployment. Additional resources on Lambda are also listed.
The “Twelve-Factor” application model has come to represent twelve best practices for building modern, cloud-native applications. With guidance on things like configuration, deployment, runtime, and multiple service communication, the Twelve-Factor model prescribes best practices that apply to everything from web applications to APIs to data processing applications.
Although serverless computing and AWS Lambda have changed how application development is done, the “Twelve-Factor” best practices remain relevant and applicable in a serverless world. In this talk, Chris will share with you how to apply the “Twelve-Factor” model to serverless application development with AWS Lambda and Amazon API Gateway and show you how these services enable you to build scalable, low cost, and low administration applications.
An introduction to serverless architectures (February 2017)Julien SIMON
An introduction to serverless
AWS Lambda
Amazon API Gateway
Demo: writing your first Lambda function
Demo: building a serverless pipeline
Additional resources
Aurora Serverless, 서버리스 RDB의 서막 - 트랙2, Community Day 2018 re:Invent 특집AWSKRUG - AWS한국사용자모임
This document summarizes a presentation about new features of Amazon Aurora including Aurora Parallel Query Processing, Aurora Multi-Master, and the new Aurora Serverless offering. Aurora Parallel Query Processing allows queries to be parallelized across thousands of storage nodes. Aurora Multi-Master enables multiple read-write instances for high availability. Aurora Serverless automatically scales databases on demand without capacity planning, with users paying per second of use.
AWS Lambda from the trenches (Serverless London)Yan Cui
AWS Lambda has changed the way we deploy and run software, but this new serverless paradigm has created new challenges to old problems - how do you test a cloud-hosted function locally? How do you monitor them? What about logging and config management? And how do we start migrating from existing architectures?
In this talk Yan will discuss solutions to these challenges by drawing from real-world experience running Lambda in production and migrating from an existing monolithic architecture.
Building a serverless company on AWS lambda and Serverless frameworkLuciano Mammino
Planet9energy.com is a new electricity company building a sophisticated analytics and energy trading platform for the UK market. Since the earliest draft of the platform, we took the unconventional decision to go serverless and build the product on top of AWS Lambda and the Serverless framework using Node.js. In this talk, I want to discuss why we took this radical decision, what are the pros and cons of this approach and what are the main issues we faced as a tech team in our design and development experience. We will discuss how normal things like testing and deployment need to be re-thought to work on a serverless fashion but also the benefits of (almost) infinite self-scalability and the peace of mind of not having to manage hundreds of servers. Finally, we will underline how Node.js seems to fit naturally in this scenario and how it makes developing serverless applications extremely convenient.
Technologies:
Backend
Frontend
Application architecture
Javascript
cloud computing
My presentation about Serverless Architectures in JavaDay Lviv, June 2016. It covers AWS Lambda and related AWS Services. LiveDemo have got terraform and apex.
Aws lambda and accesing AWS RDS - ClouddictiveClouddictive
Implement a Lambda function which integrates with RDS. How to implement this new function in Java using Spring Framework.
1) Setup RDS instance
2) Implement RequestHandler in java
4) Create lambda function
Slides for a short presentation I gave on AWS Lambda, which "lets you run code without provisioning or managing servers". Lambda is to running code as Amazon S3 is to storing objects.
Introduction to AWS and Terraform. In these slides we introduce AWS, cloud networking and cloud native workflows using infrastructure as code via Terraform.
This document discusses using event sourcing with Slick by storing events in a dedicated database table. Events are immutable records that capture all changes to application data. By processing events, both an event log and read model can be updated transactionally within a database. Slick's DBIOAction monad is used to sequence database operations. Potential issues include ordering concurrent events and managing DBIOAction side effects. The document outlines functions for handling commands, processing events, and updating models. Links are provided to the slick-eventsourcing GitHub project and presentation for further details.
This document discusses serverless architectures using AWS Lambda. It provides an overview of serverless computing and AWS Lambda, outlines some common use cases and challenges at OpsGenie, and describes their serverless technology stack. Some key points include:
- AWS Lambda allows running code without managing servers and only paying for the compute time used
- OpsGenie uses AWS Lambda along with other serverless AWS services like DynamoDB, S3, and API Gateway for various use cases including reporting, indexing data to Elasticsearch, and a service management pilot
- Challenges of using serverless include Java cold starts, proper monitoring without agents, and deployment processes
Aws Lambda Cart Microservice Server LessDhanu Gupta
This document describes an AWS serverless architecture for a cart microservice using AWS Lambda, API Gateway, and DynamoDB. It includes components like API Gateway for the REST API frontend, Lambda functions to run the application code, and DynamoDB for the database. It provides instructions on setting up the resources, mapping the API to Lambda, and deploying the API for testing. The goal is to build a serverless REST API for basic cart operations like read, create, delete that avoids managing servers and scales automatically.
BUILDING Serverless apps with MongoDB AtLAS, AWS Lambda and Step FunctionsRaphael Londner
In this session, AWS Solutions Architect Paul Sears will provide an overview of AWS Lambda functions, including some key integration use cases with MongoDB Atlas. Developer Advocate Raphael Londner will walk you through how to code a Lambda function connected to MongoDB Atlas, with a specific focus on performance optimization. Raphael will then demonstrate how to orchestrate multiple Lambda functions inside a state machine built on top of AWS Step Functions.
Talk @ API Days Paris, 13/12/2016
Simplifying development and deployment of serverless applications with Open Source frameworks and tools: Serverless, Gordon, Chalice, etc.
Integrating Jira Software Cloud With the AWS Code SuiteAtlassian
This document discusses integrating Jira Software Cloud with the AWS Code Suite. It covers using Atlassian Connect and Spring Boot to build a Jira app, deploying the necessary AWS infrastructure including ECS, CodePipeline, Lambda, and ECR, and using Lambda functions and triggers to integrate development workflows and send build data from AWS to Jira. The presentation provides an overview of the key AWS services and development tools used, sample code and configurations, and best practices for building and hosting containerized Jira apps on AWS.
Managed services such as AWS Lambda and API Gateway allow developers to focus on value adding development instead of IT heavy lifting. This workshop introduces how to build a simple REST blog backend using AWS technologies and the serverless framework.
Developing and deploying serverless applications (February 2017)Julien SIMON
- The document discusses developments and tools for serverless applications on AWS Lambda. It begins with an overview of new Lambda features like environment variables and Step Functions for orchestrating Lambda functions.
- Several serverless frameworks are demonstrated, including the Serverless Framework, Gordon, and Chalice, which simplify developing and deploying Lambda functions and event sources.
- The AWS Serverless Application Model (SAM) is presented as a way to bundle Lambda functions, APIs, and events using CloudFormation for simplified deployment. Additional resources on Lambda are also listed.
The “Twelve-Factor” application model has come to represent twelve best practices for building modern, cloud-native applications. With guidance on things like configuration, deployment, runtime, and multiple service communication, the Twelve-Factor model prescribes best practices that apply to everything from web applications to APIs to data processing applications.
Although serverless computing and AWS Lambda have changed how application development is done, the “Twelve-Factor” best practices remain relevant and applicable in a serverless world. In this talk, Chris will share with you how to apply the “Twelve-Factor” model to serverless application development with AWS Lambda and Amazon API Gateway and show you how these services enable you to build scalable, low cost, and low administration applications.
An introduction to serverless architectures (February 2017)Julien SIMON
An introduction to serverless
AWS Lambda
Amazon API Gateway
Demo: writing your first Lambda function
Demo: building a serverless pipeline
Additional resources
12 Factor Serverless Applications - Mike Morain, AWS - Cloud Native Day Tel A...Cloud Native Day Tel Aviv
The “Twelve-Factor” application model has come to represent twelve best practices for building modern, cloud-native applications. With guidance on things like configuration, deployment, runtime, and multiple service communication, the Twelve-Factor model prescribes best practices that apply to everything from web applications to APIs to data processing applications. Although Serverless computing and AWS Lambda have changed how application development is done, the “Twelve-Factor” best practices remain relevant and applicable in a Serverless world. In this talk, we’ll apply the “Twelve-Factor” model to Serverless application development with AWS Lambda and Amazon API Gateway and show you how these services enable you to build scalable, low cost, and low administration applications.
Angular for Java Enterprise Developers: Oracle Code One 2018Loiane Groner
This document provides an agenda and overview for developing Angular applications with Java backend services. It discusses TypeScript patterns that are common with Java, using the Angular CLI, creating REST APIs with Spring Boot, bundling Angular for production, and deploying Angular and Java applications to the cloud using Maven and Docker. It also covers Angular fundamentals like components, templates, dependency injection and modules.
This document provides information on building skills for Alexa using APIs and ColdBox frameworks. It discusses setting up Amazon developer accounts and AWS services accounts. It also covers creating Lambda functions in Node.js to call APIs from Alexa skills and building ColdBox REST APIs to interface with Alexa skills. The document includes code snippets for sample Lambda functions and ColdBox handlers to integrate with Alexa skills.
Chicago AWS Architectural Resilience Day 2024AWS Chicago
September 2024 the first-ever community Resilience Day in Chicago.
See the video recording on the AWSChicago Youtube: https://youtu.be/z4camus_96c
Thank you, presenters from AWS and PWC.
Angelo Mandato: Learn about the benefits with examples how to create and main...AWS Chicago
AWS Community Day Midwest 2024 |
Angelo Mandato |
AWS Columbus OH |
Learn about the benefits with examples how to create and maintain DEV, QA, and UAT environments using unique domain names
Procurement Insights Cost To Value Guide.pptxJon Hansen
Procurement Insights integrated Historic Procurement Industry Archives, serves as a powerful complement — not a competitor — to other procurement industry firms. It fills critical gaps in depth, agility, and contextual insight that most traditional analyst and association models overlook.
Learn more about this value- driven proprietary service offering here.
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungenpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-nomad-web-best-practices-und-verwaltung-von-multiuser-umgebungen/
HCL Nomad Web wird als die nächste Generation des HCL Notes-Clients gefeiert und bietet zahlreiche Vorteile, wie die Beseitigung des Bedarfs an Paketierung, Verteilung und Installation. Nomad Web-Client-Updates werden “automatisch” im Hintergrund installiert, was den administrativen Aufwand im Vergleich zu traditionellen HCL Notes-Clients erheblich reduziert. Allerdings stellt die Fehlerbehebung in Nomad Web im Vergleich zum Notes-Client einzigartige Herausforderungen dar.
Begleiten Sie Christoph und Marc, während sie demonstrieren, wie der Fehlerbehebungsprozess in HCL Nomad Web vereinfacht werden kann, um eine reibungslose und effiziente Benutzererfahrung zu gewährleisten.
In diesem Webinar werden wir effektive Strategien zur Diagnose und Lösung häufiger Probleme in HCL Nomad Web untersuchen, einschließlich
- Zugriff auf die Konsole
- Auffinden und Interpretieren von Protokolldateien
- Zugriff auf den Datenordner im Cache des Browsers (unter Verwendung von OPFS)
- Verständnis der Unterschiede zwischen Einzel- und Mehrbenutzerszenarien
- Nutzung der Client Clocking-Funktion
Technology Trends in 2025: AI and Big Data AnalyticsInData Labs
At InData Labs, we have been keeping an ear to the ground, looking out for AI-enabled digital transformation trends coming our way in 2025. Our report will provide a look into the technology landscape of the future, including:
-Artificial Intelligence Market Overview
-Strategies for AI Adoption in 2025
-Anticipated drivers of AI adoption and transformative technologies
-Benefits of AI and Big data for your business
-Tips on how to prepare your business for innovation
-AI and data privacy: Strategies for securing data privacy in AI models, etc.
Download your free copy nowand implement the key findings to improve your business.
Artificial Intelligence is providing benefits in many areas of work within the heritage sector, from image analysis, to ideas generation, and new research tools. However, it is more critical than ever for people, with analogue intelligence, to ensure the integrity and ethical use of AI. Including real people can improve the use of AI by identifying potential biases, cross-checking results, refining workflows, and providing contextual relevance to AI-driven results.
News about the impact of AI often paints a rosy picture. In practice, there are many potential pitfalls. This presentation discusses these issues and looks at the role of analogue intelligence and analogue interfaces in providing the best results to our audiences. How do we deal with factually incorrect results? How do we get content generated that better reflects the diversity of our communities? What roles are there for physical, in-person experiences in the digital world?
HCL Nomad Web – Best Practices and Managing Multiuser Environmentspanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-nomad-web-best-practices-and-managing-multiuser-environments/
HCL Nomad Web is heralded as the next generation of the HCL Notes client, offering numerous advantages such as eliminating the need for packaging, distribution, and installation. Nomad Web client upgrades will be installed “automatically” in the background. This significantly reduces the administrative footprint compared to traditional HCL Notes clients. However, troubleshooting issues in Nomad Web present unique challenges compared to the Notes client.
Join Christoph and Marc as they demonstrate how to simplify the troubleshooting process in HCL Nomad Web, ensuring a smoother and more efficient user experience.
In this webinar, we will explore effective strategies for diagnosing and resolving common problems in HCL Nomad Web, including
- Accessing the console
- Locating and interpreting log files
- Accessing the data folder within the browser’s cache (using OPFS)
- Understand the difference between single- and multi-user scenarios
- Utilizing Client Clocking
Generative Artificial Intelligence (GenAI) in BusinessDr. Tathagat Varma
My talk for the Indian School of Business (ISB) Emerging Leaders Program Cohort 9. In this talk, I discussed key issues around adoption of GenAI in business - benefits, opportunities and limitations. I also discussed how my research on Theory of Cognitive Chasms helps address some of these issues
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveScyllaDB
Want to learn practical tips for designing systems that can scale efficiently without compromising speed?
Join us for a workshop where we’ll address these challenges head-on and explore how to architect low-latency systems using Rust. During this free interactive workshop oriented for developers, engineers, and architects, we’ll cover how Rust’s unique language features and the Tokio async runtime enable high-performance application development.
As you explore key principles of designing low-latency systems with Rust, you will learn how to:
- Create and compile a real-world app with Rust
- Connect the application to ScyllaDB (NoSQL data store)
- Negotiate tradeoffs related to data modeling and querying
- Manage and monitor the database for consistently low latencies
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...SOFTTECHHUB
I started my online journey with several hosting services before stumbling upon Ai EngineHost. At first, the idea of paying one fee and getting lifetime access seemed too good to pass up. The platform is built on reliable US-based servers, ensuring your projects run at high speeds and remain safe. Let me take you step by step through its benefits and features as I explain why this hosting solution is a perfect fit for digital entrepreneurs.
Book industry standards are evolving rapidly. In the first part of this session, we’ll share an overview of key developments from 2024 and the early months of 2025. Then, BookNet’s resident standards expert, Tom Richardson, and CEO, Lauren Stewart, have a forward-looking conversation about what’s next.
Link to recording, presentation slides, and accompanying resource: https://bnctechforum.ca/sessions/standardsgoals-for-2025-standards-certification-roundup/
Presented by BookNet Canada on May 6, 2025 with support from the Department of Canadian Heritage.
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxJustin Reock
Building 10x Organizations with Modern Productivity Metrics
10x developers may be a myth, but 10x organizations are very real, as proven by the influential study performed in the 1980s, ‘The Coding War Games.’
Right now, here in early 2025, we seem to be experiencing YAPP (Yet Another Productivity Philosophy), and that philosophy is converging on developer experience. It seems that with every new method we invent for the delivery of products, whether physical or virtual, we reinvent productivity philosophies to go alongside them.
But which of these approaches actually work? DORA? SPACE? DevEx? What should we invest in and create urgency behind today, so that we don’t find ourselves having the same discussion again in a decade?
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxAnoop Ashok
In today's fast-paced retail environment, efficiency is key. Every minute counts, and every penny matters. One tool that can significantly boost your store's efficiency is a well-executed planogram. These visual merchandising blueprints not only enhance store layouts but also save time and money in the process.
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc
Most consumers believe they’re making informed decisions about their personal data—adjusting privacy settings, blocking trackers, and opting out where they can. However, our new research reveals that while awareness is high, taking meaningful action is still lacking. On the corporate side, many organizations report strong policies for managing third-party data and consumer consent yet fall short when it comes to consistency, accountability and transparency.
This session will explore the research findings from TrustArc’s Privacy Pulse Survey, examining consumer attitudes toward personal data collection and practical suggestions for corporate practices around purchasing third-party data.
Attendees will learn:
- Consumer awareness around data brokers and what consumers are doing to limit data collection
- How businesses assess third-party vendors and their consent management operations
- Where business preparedness needs improvement
- What these trends mean for the future of privacy governance and public trust
This discussion is essential for privacy, risk, and compliance professionals who want to ground their strategies in current data and prepare for what’s next in the privacy landscape.
Big Data Analytics Quick Research Guide by Arthur MorganArthur Morgan
This is a Quick Research Guide (QRG).
QRGs include the following:
- A brief, high-level overview of the QRG topic.
- A milestone timeline for the QRG topic.
- Links to various free online resource materials to provide a deeper dive into the QRG topic.
- Conclusion and a recommendation for at least two books available in the SJPL system on the QRG topic.
QRGs planned for the series:
- Artificial Intelligence QRG
- Quantum Computing QRG
- Big Data Analytics QRG
- Spacecraft Guidance, Navigation & Control QRG (coming 2026)
- UK Home Computing & The Birth of ARM QRG (coming 2027)
Any questions or comments?
- Please contact Arthur Morgan at [email protected].
100% human made.
This is the keynote of the Into the Box conference, highlighting the release of the BoxLang JVM language, its key enhancements, and its vision for the future.
5. WHY SERVERLESS? (The Framework)
• Easy to get started
• Simple templating
• Language-agnostic
6. WHY SERVERLESS? (The Framework)
• Easy to get started
• Simple templating
• Language-agnostic
• Active community
7. WHY SERVERLESS? (The Framework)
• Easy to get started
• Simple templating
• Language-agnostic
• Active community
• Good support for common event sources
8. WHY SERVERLESS? (The Framework)
• Easy to get started
• Simple templating
• Language-agnostic
• Active community
• Good support for common event sources
• Supports various aspects of the development
lifecycle
9. WHAT ARE MY ALTERNATIVES?
SAM
(Serverless Application Model)
Chalice
?
10. HOW DO WE USE SERVERLESS AT SHIFTGIG?
• A few notes about Shiftgig architecture:
+ Microservices!
+ Microservice = Codebase = CloudFormation stack = Serverless application
+ Lambda functions as the main compute resource of choice
+ Avoid HTTP(S)-based communication between microservices and prefer asynchronous
messaging instead
+ Microservice stacks are self-contained with little to no overlapping resources
+ Domain models
13. GETTING STARTED: PREREQUISITES
• Development requirements:
+ Serverless:
• Node JS
• NPM
• npm install -g serverless
+ Development:
• Python 3.6 (not strictly necessary, but the examples will conform to this)
• Also: Pipenv or pip + virtualenv
• Project directory/workspace
14. GETTING STARTED: PREREQUISITES
• AWS authentication
+ Serverless will authenticate with AWS automatically using your environment-sourced AWS
credentials.
+ Check for ~/.aws/config and ~/.aws/credentials files
+ If you use an AWS config file, make sure you set this environment variable to instruct the
Node JS AWS SDK (used internally by Serverless) to load the config file:
$ export AWS_SDK_LOAD_CONFIG=1
15. GETTING STARTED: PREREQUISITES
• Deployment requirements:
+ AWS account (full permissions are ideal)
+ AWS services we will use
• Lambda
• API Gateway
• DynamoDB
• CloudWatch
• CloudFormation
• S3
16. STEP 0: GOALS
• We will create a simple cloud-native service in AWS as a CloudFormation
stack
• Our service will…
+ Execute custom logic defined as code run within Lambda functions
+ Store data in a DynamoDB table
+ Provide a web API with API Gateway
+ Log execution data to CloudWatch
• But what will my application do?
17. • Navigate to your project directory and set up your development workspace
+ $ cd ~/your/projects
$ git clone [email protected]:shiftgig/aws-serverless-workshop.git
+ Using Python with Pipenv?
$ pipenv shell --python 3.6 to set up your virtual environment
+ Initialize Node JS in the current directory:
$ npm init -f to create a package.json file
$ npm install to install plugin dependencies
+ Open in your editor: serverless.yml
STEP 1: CONFIGURE SERVERLESS
18. STEP 1: CONFIGURE SERVERLESS
service: candystore
plugins:
- serverless-python-requirements # Python only
custom:
foo: bar
Name your service. This is
used to name your AWS
resources.
Define array of Serverless
plugins
19. STEP 1: CONFIGURE SERVERLESS
custom:
foo: bar
pythonRequirements: # Python only
usePipenv: true
dockerizePip: true
dockerImage: lambci/lambda:build-python3.6
dockerSsh: true
The custom section lets you
define arbitrary variables that
you can reference in other
parts of your Serverless config
file.
This section is also often used
to configure your installed
Serverless plugins.
These docker* values tell
Serverless to use a Docker
image that matches the
Lambda Python 3.6 runtime to
install dependencies.
20. STEP 1: CONFIGURE SERVERLESS
provider:
name: aws
stage: ${opt:stage}
region: ${opt:region}
logRetentionInDays: 7
stackTags:
SERVICE: ${self:service}
iamRoleStatements:
environment:
FOO_VALUE: ${self:custom.foo}
The provider section
configures values specific
to your vendor.
22. STEP 1: CONFIGURE SERVERLESS
The stage value is used
(along with the service
name) to name resources.
provider:
name: aws
stage: ${opt:stage}
region: ${opt:region}
logRetentionInDays: 7
stackTags:
SERVICE: ${self:service}
iamRoleStatements:
environment:
FOO_VALUE: ${self:custom.foo}
23. STEP 1: CONFIGURE SERVERLESS
These are variables:
${source:variable}
There are several variable
sources. The opt: source
retrieves variables from
command line flags (e.g.
--region us-east-1 ).
The self: source
references variables from
within this YAML file.
provider:
name: aws
stage: ${opt:stage}
region: ${opt:region}
logRetentionInDays: 7
stackTags:
SERVICE: ${self:service}
iamRoleStatements:
environment:
FOO_VALUE: ${self:custom.foo}
24. STEP 1: CONFIGURE SERVERLESS
Tagging resources comes
in handy when trying to
control and manage costs
in AWS.
provider:
name: aws
stage: ${opt:stage}
region: ${opt:region}
logRetentionInDays: 7
stackTags:
SERVICE: ${self:service}
iamRoleStatements:
environment:
FOO_VALUE: ${self:custom.foo}
25. STEP 1: CONFIGURE SERVERLESS
iamRoleStatements is
an array of IAM
permissions used to create
your Lambda functions’
execution role. For now,
we’ll leave it blank.
provider:
name: aws
stage: ${opt:stage}
region: ${opt:region}
logRetentionInDays: 7
stackTags:
SERVICE: ${self:service}
iamRoleStatements:
environment:
FOO_VALUE: ${self:custom.foo}
26. STEP 1: CONFIGURE SERVERLESS
The environment section
is for defining environment
variables available to your
Lambda functions at
runtime. We’ll add more
useful items to this section
later.
provider:
name: aws
stage: ${opt:stage}
region: ${opt:region}
logRetentionInDays: 7
stackTags:
SERVICE: ${self:service}
iamRoleStatements:
environment:
FOO_VALUE: ${self:custom.foo}
27. STEP 2: ADD FUNCTIONS
functions:
PutProduct:
description: Creates and updates products
memorySize: 128
runtime: python3.6
handler: handlers.put_product__http
events:
-
http:
method: put
path: "/product/{name}"
request:
parameters:
paths:
name: true
The functions section of
your Serverless
configuration defines the
various Lambda functions
for your service.
28. STEP 2: ADD FUNCTIONS
Your Lambda function’s
memory allocation, in
megabytes.
functions:
PutProduct:
description: Creates and updates products
memorySize: 128
runtime: python3.6
handler: handlers.put_product__http
events:
-
http:
method: put
path: "/product/{name}"
request:
parameters:
paths:
name: true
30. STEP 2: ADD FUNCTIONS
functions:
PutProduct:
description: Creates and updates products
memorySize: 128
runtime: python3.6
handler: handlers.put_product__http
events:
-
http:
method: put
path: "/product/{name}"
request:
parameters:
paths:
name: true
The handler string
defines the function in your
source code that should be
called by your Lambda
function when it is invoked.
31. STEP 2: ADD FUNCTIONS
The events array defines
various triggers for your
Lambda function. Here, we
are defining API Gateway
triggers to expose this
functionality within a web
API.
This marks the name
segment of the URL as
required.
functions:
PutProduct:
description: Creates and updates products
memorySize: 128
runtime: python3.6
handler: handlers.put_product__http
events:
-
http:
method: put
path: "/product/{name}"
request:
parameters:
paths:
name: true
32. STEP 3: WRITE HANDLER CODE
# handlers.py
import json
from urllib.parse import unquote
def put_product__http(event, context):
payload = json.loads(event['body'])
product = {
'name': unquote(event['pathParameters']['name']),
'price': payload['price'],
'description': payload['description']
}
print('Saving product {}'.format(product['name']))
return {
'statusCode': '200',
'body': json.dumps(product),
'headers': {
'Content-Type': 'application/json'
}
}
Standard (event, context)
signature for our handler function.
The event argument is a dict
containing information about the
request.
33. STEP 3: WRITE HANDLER CODE
# handlers.py
import json
from urllib.parse import unquote
def put_product__http(event, context):
payload = json.loads(event['body'])
product = {
'name': unquote(event['pathParameters']['name']),
'price': payload['price'],
'description': payload['description']
}
print('Saving product {}'.format(product['name']))
return {
'statusCode': '200',
'body': json.dumps(product),
'headers': {
'Content-Type': 'application/json'
}
}
We’ll add database interactions here,
but just log something for now.
API Gateway expects response data
in this format.
34. STEP 4: DEPLOY!
$ export SLS_DEBUG=*
$ serverless deploy
--region us-east-1
--aws-profile myprofile
--stage dev
--verbose
Makes our output nice and verbose!
Specify the AWS region your deployment should target
If you use IAM role-assumption to authenticate with multiple
AWS accounts, specify your profile name here
Sensible and consistent stage values help keep things
organized. It is used to name your CloudFormation stack
and its resources.
Even more verbose!
36. STEP 4: DEPLOY!
Serverless: Stack update finished...
Service Information
service: candystore
stage: dev
region: us-east-1
stack: candystore-dev
api keys:
None
endpoints:
PUT - https://fv907pkjxg.execute-api.us-east-1.amazonaws.com/dev/product/{name}
functions:
PutProduct: candystore-dev-PutProduct
Stack Outputs
PutProductLambdaFunctionQualifiedArn:
arn:aws:lambda:us-east-1:123456789876:function:candystore-dev-PutProduct:1
ServiceEndpoint: https://fv907pkjxg.execute-api.us-east-1.amazonaws.com/dev
ServerlessDeploymentBucketName: candystore-dev-serverlessdeploymentbucket-1s7wgv4xc93h6
Useful information
printed at the end!
Includes our API
Gateway endpoints
37. STEP 5: TEST
$ curl -X PUT
https://fv907pkjxg.execute-api.us-east-1.amazonaws.com/dev/product/skittles
-H 'Content-Type: application/json'
-d '{
"description": "Taste the rainbow",
"price": "2.55"
}'
-w 'n'
{"name": "skittles", "price": "2.55", "description": "Taste the rainbow"}
38. STEP 5: TEST
$ serverless logs
--function PutProduct
--region us-east-1
--aws-profile poc
--stage dev
--verbose
--tail
START RequestId: ff3ff102-692f-11e8-801f-cde97c6f36e8 Version: $LATEST
Saving product skittles
END RequestId: ff3ff102-692f-11e8-801f-cde97c6f36e8
REPORT RequestId: ff3ff102-692f-11e8-801f-cde97c6f36e8 Duration: 1.72 ms
Billed Duration: 100 ms Memory Size: 128 MB Max Memory Used: 22 MB
39. STEP 6: ADD A DYNAMODB TABLE
custom:
foo: bar
pythonRequirements: # Python only
usePipenv: true
dockerizePip: true
dockerImage: lambci/lambda:build-python3.6
dockerSsh: true
product_table_name: ${self:service}-${self:provider.stage}-product
We centrally define the
name of our DynamoDB
table in custom so we
can reference it
elsewhere.
40. resources:
Resources:
ProductDynamoDBTable:
Type: "AWS::DynamoDB::Table"
Properties:
AttributeDefinitions:
-
AttributeName: name
AttributeType: S
KeySchema:
-
AttributeName: name
KeyType: HASH
TableName: ${self:custom.product_table_name}
ProvisionedThroughput:
ReadCapacityUnits: 1
WriteCapacityUnits: 1
The resources section is reserved for
CloudFormation syntax.
In the Resources subsection, you
define AWS resources for your stack that
aren’t implicitly created for you in the
functions section.
Use the variable defined in custom to
name the table
STEP 6: ADD A DYNAMODB TABLE
41. iamRoleStatements:
-
Effect: Allow
Action:
- dynamodb:GetItem
- dynamodb:PutItem
- dynamodb:UpdateItem
- dynamodb:DeleteItem
Resource:
-
Fn::GetAtt: [ "ProductDynamoDBTable", "Arn" ]
We add the IAM permissions
our Lambda functions will
require in order to interact
with our DynamoDB table.
This statement will be added
to the existing execution role.
We can use CloudFormation
intrinsic functions in our
serverless.yml file too!
STEP 6: ADD A DYNAMODB TABLE
43. STEP 6: ADD A DYNAMODB TABLE
# handlers.py
import json
import os
from urllib.parse import unquote
import boto3
def put_product__http(event, context):
payload = json.loads(event['body'])
product = {
'name': unquote(event['pathParameters']['name']),
'price': payload['price'],
'description': payload['description']
}
db = boto3.resource('dynamodb')
table = db.Table(name=os.getenv('PRODUCT_TABLE_NAME'))
table.put_item(Item=product)
print('Saved product {}'.format(product['name']))
return {
'statusCode': '200',
'body': json.dumps(product),
'headers': {
'Content-Type': 'application/json'
Lambda provides the boto3
library automatically.
Save the product to the
DynamoDB table!
44. STEP 7: DEPLOY CHANGES AND TEST (AGAIN)
$ serverless deploy
--region us-east-1
--aws-profile myprofile
--stage dev
--verbose
45. STEP 7: DEPLOY CHANGES AND TEST (AGAIN)
$ curl -X PUT
https://fv907pkjxg.execute-api.us-east-1.amazonaws.com/dev/product/snickers
-H 'Content-Type: application/json'
-d '{
"description": "Hungry? Grab a Snickers!",
"price": "2.55"
}'
-w 'n'
{"name": "snickers", "price": "1.25", "description": "Hungry? Grab a Snickers!"}
46. STEP 7: DEPLOY CHANGES AND TEST (AGAIN)
$ serverless logs
--function PutProduct
--region us-east-1
--aws-profile poc
--stage dev
--verbose
--tail
--startTime 5m
START RequestId: b7ebe0b5-76b0-4b31-bfe9-334892d57674 Version: $LATEST
Saved product snickers
END RequestId: b7ebe0b5-76b0-4b31-bfe9-334892d57674
REPORT RequestId: b7ebe0b5-76b0-4b31-bfe9-334892d57674 Duration: 464.11 ms
Billed Duration: 500 ms Memory Size: 128 MB Max Memory Used: 32 MB
47. NEXT STEPS: MORE FEATURES
• Respond to GET requests
• Respond to DELETE requests
• Bonus: Restrict access to your API with a usage plan in under 5 minutes!
49. FINAL NOTES: LINKS
• Shiftgig is hiring!
+ https://www.shiftgig.com/careers
• Example code used today:
+ https://github.com/shiftgig/aws-serverless-workshop