<@your social handle>
Community Day Accelerator
October 8th, 2024
Build Your First Serverless Application on AWS
10.8.2024
What are we building today?
Build your first Serverless Application on AWS
Learn how to create a serverless application on AWS, an address book application! You will learn the essentials of AWS and how to:
The final product is a fully functional website to manage your own address book.
Introduction
Topic | Presented By | Time |
Introduction | | 10 Mins. |
Crash course in AWS | Angelo | 20 Mins. |
Use Cases and Examples | Lena | 20 Mins. |
Develop backend services on AWS Lambda, API and DynamoDB | Girish | 50 Mins. |
UI/Front End React App CLI, reactjs, CSS component library | Lexius | 25 Mins. |
Using Bedrock AI with Amazon Q Developer | Brock | 25 Mins. |
Answer questions and assistance | | 50 Mins. |
Scan for Slides!
Topic: AWS Crash Course
Why Cloud?
Why AWS?
Angelo Mandato
Personal life
Career
www.painlessanalytics.com
The Cloud Way
Cattle vs Pets
CI / CD
Infrastructure as Code
High Availability
$$$
AWS Management Console
Web dashboard to manage everything AWS
Security and Policies
Limit access to resources
Access consistency between apps
Granting access without credentials
Example AWS Policy
Let’s take a look…
Infrastructure in many flavors
Windows, Linux, Ubuntu, Redhat, Amazon Linux
Instances (physical/virtual)
Containers / Docker
Serverless / Lambda Functions
Networks and Internet
Virtual Private Networks
Subnets and why they are important
Public IP addresses
Internet Traffic / Website Entry
Content Delivery Network (CloudFront)
API > ( Serverless or Servers or Database )
Load Balancers
Access Instances directly
Files and Storage
Endless Cloud Storage - S3
Server Drives - Volumes
Network File Systems - EFS
Databases
SQL
NoSQL
Big Data
Speciality
Cognito, QuickSight, OpenSearch, Glue
Elastic MapReduce, Kinesis Data Firehose
Data Warehouse (RedShift, Athena)
AI via API (Bedrock)
DevOps- Infrastructure as Code
CloudFormation - TerraForm - CDK
CodeDeploy - CodePipeline
CI/CD - GIT (GitHub, BitBucket, GitLab)
FinOps - Billing and Costs
Billing
Cost Explorer
Savings Plans / Reservations
AWS budgets
Pricing Calculator
Tags!!!
Security and Compliance
Security Hub
Trusted Advisor
Inspector
Network Firewall (WAF)
Macie
AWS Ninja!
AWS Certified Solutions Architect Study Guide for SAA-C03 exam
Thank You!
Angelo Mandato
https://angelo.mandato.com
linkedin.com/in/AngeloMandato
www.painlessanalytics.com
Cloud Architectures: Leveraging AWS Services by Use Case
Lena Taupier
Over 200 services!
Why the cloud?
Easy vs. Customizable
Full-stack Web Application
LightSail
AWS Amplify
Serverless
Custom
Amazon LightSail
AWS Amplify
Customized Architecture
Architecture by Use Case
Amazon Cognito
Authentication
Architecture by Use Case
Amazon QuickSight
Data Analytics Dashboard
Architecture by Use Case
Amazon CloudSearch
Search
Architecture by Use Case
AI/ML
Our superpower is problem solving!
Resources
Hands-on Tutorials
Resources
Real Cloud Architecture Examples
https://aws.amazon.com/architecture/reference-architecture-diagrams/
Thank You!
Happy Tinkering
Topic: Develop backend services on AWS
Lambda, API and DynamoDB
About Girish Bhatia
I am an AWS Cloud Technology Enthusiast & Technical Program Delivery Leader. I love to deliver cloud-based software solution in alignment with strategic goals for business & technology modernization.
Qualifications:
IT Experience:
https://cloudwithgirish.com
Build your first application on AWS
Let’s review our Use Case:
Build your first application on AWS
Architecture
Know your budget and watch your cost!
Services
AWS Budget
AWS Cost Explorer
Build your first application on AWS
Tools & Services: VS Code, AWS Tool Kit, Python, API Gateway, AWS Lambda, DynamoDB, SAM CLI
API Gateway - What it is?
Lambda - What it is?
DynamoDB - What it is?
Create IAM Role and assign Policies
Click on Create Role to create a new role
Selected Trusted Entity and use case from the drop down. I will select Lambda since I need to add policies for lambda execution use case.
Provide a name for the role, review and create:
In the next screen, select below permissions policies:
AWSLambdaBasicExecutionRole
AmazonDynamoDBFullAccess
You now have a role 'contactLambdaRole' created.
Build DynamoDB table
Select DynamoDB & click on Create Table
Select Customize Settings and on-demand capacity mode
Capacity Mode
These settings can be updated later on as well.
DynamoDB Table
Add/Edit Record – Dummy Data
AWS Console - Build Lambda Function
Assign permission to the Lambda function
OR
Replace Default function code with contacts function code
Partial code!
Full src code in git repo
Configure a test event and invoke Lambda function to validate that function Is returning records from DynamoDB.
Create API endpoints
Select Rest API & click on Build
API Gateway – Rest API
Create API endpoints
API Gateway – Rest API
�Select API Name
�Create Resource, Method and Integration
HTTP Method: GET
Path: /contact
Create stage and deploy the API
API Gateway – Rest API
Once API is deployed, you will get invoke URL.
API Gateway – Rest API
Once API is deployed, you will get invoke URL.
API Gateway – Rest API
�Invoke API via Browser ( not my preferred way to invoke API )
Invoke API via Browser
https://yu6d9uk9kk.execute-api.us-east-2.amazonaws.com/dev/contact?phone=6140001234
Response:
Message:
{"message": "Not Found"}
API Gateway – Rest API
�Invoke API via Postman (my preferred way to invoke API)
Review request and response!
Request
Response
API Gateway – Rest API
Add remaining API endpoints
HTTP Method: GET
Path: /allContacts
Path: /createContact
HTTP Method: Post
HTTP Method: DELETE
Path: /deleteContact
Path: /updateContact
HTTP Method: PUT
Few points about Lambda
Pricing Example:
5 Million Requests/Month
100ms per execution
128 MB memory
512 MB storage
Lambda costs - With Free Tier (monthly): 0.80 USD
AWS Services used:
Backend Lambda Function Code/slide available: GitHub:
https://github.com/bhatiagirish/AWSAccelerator/
What’s Next?
👋 Lexius Waltar
QA Engineer @ Appfolio Inc.
4 yrs as a Frontend Engineer ❤️
Hi I’m Assata! Your resident Beardie!
Bootcamp Grad!
YAY! I have an API!
🙌
You might be thinking…
Yay I have an API!
🙌
You might be thinking…
Now What ⁉️
Create a User Interface!
Scan to demo app!
Frontend Technologies
React js
Bootstrap
Axios
Javascript Library
Component Library
Javascript Library
Styled Components using HTML & JS
XMLHttpRequests, HTTP requests
Beautiful Web UI
React Js - The Javascript
Bootstrap - Component Library
Axios - Send Requests to Endpoints
The 5 Parts of the Axios Request
5 Parts of the Axios Request - HTTP Method
HTTP Method
5 Parts of the Axios Request - Endpoint URL
API Endpoint URL
5 Parts of the Axios Request - Data
Data
{
firstName: "Test",
lastName: "Testerson",
email: "test@email.com",
phone: "2348954378",
notes: "I love to code"
}
5 Parts of the Axios Request - Try Block
Try Block
5 Parts of the Axios Request - Catch
Catch
Now you’re End to End!
Scan to view github repo!
Using Bedrock AI with Amazon Q Developer
Questions
MORE??
AWS Midwest Community Day
Full day conference, 2025 TBD
www.midwestcommunityday.com
Columbus Data & Analytics Wednesdays
Previously known as the Web Analytics Wednesdays user group
https://cbusdaw.com/
App: https://contacts.communitydayaccelerator.com/
Slides: https://www.awscolumbus.com/cda/�Frontend: https://github.com/Lexmw/Contact-Book
Backend: https://github.com/bhatiagirish/AWSAccelerator/
Please take our survey!
www.awscolumbus.com/cda-survey/
Thank you!