Want to learn more about Amazon Web Services (AWS) & how to leverage them using the OS platform? Find out from a team of experts & MVPs (certified in both OS + AWS) how to integrate these 2 technologies and build high-tech applications faster. Watch the event: https://usergroups.outsystems.com/events/details/outsystems-inc-australia-east-coast-presents-aws-dev-tips-learn-from-the-experts/
The Codex of Business Writing Software for Real-World Solutions 2.pptx
AWS Dev Tips: Learn from the experts
1. AWS Dev Tips: Learn
from the experts
LEARN FROM LEADERS.
Ossama Ghanem
Senior Tech Lead + Trainer
PhoenixDX
Stuart Harris
Software Development Lead
Kiandra IT
Jaques Van der Merwe
Senior Solutions Architect
PhoenixDX
Raphael Ranieri
Tech Lead + MVP
PhoenixDX
2. 2
Order of
events
6:05 PM Welcome & Introduction
6:10 PM Dev Tips (15 mins each)
AWS Overview by Jaques Van der Merwe
AWS Use Case by Ossama Ghanem
Streaming video from AWS S3 by Stuart Harris
AWS Enablement & Certifications by Raphael Ranieri
7:20 PM Kahoot!
4. 4
What is the extent of the relationship?
● On AWS cloud since 2008
● Signed an Strategic Collaboration Agreement (SCA) in 2020
● Newest OutSystems ODC platform is natively built on AWS
● OutSystems has won Partner of the Year in AWS for ASEAN region
● OutSystems has a path for customers using legacy systems from on-premise legacy (SAP
ECC, AS/400, Lotus Notes, etc.) to AWS cloud
OutSystems and AWS together
5. 5
The unique value proposition to customers
● OutSystems Helps Extend/Refactor/Re-Build Core Systems
● Maximise Talent Pool
● Quicken Innovation
Why it matters
6. 6
These AWS services are available in the Forge today.
AWS in the Forge
Textract Lex Polly Translate
Transcribe
SQS S3 Glacier Kinesis
SNS
8. 8
A form of biometric security which can confirm an individual’s identity using their face.
Why should you consider this technology?
● Extremely accurate face-based user verification
● Elevates user experience
● Facial recognition technology is becoming way more accessible
What is Facial Recognition?
9. 9
Objective
Increase the level of certainty of who is performing security-based activities
by improving the user identification and verification process.
Solution
● Introduction of Facial Recognition on shift check in & check out
● Sub 1.5 second comparison with 99.2% accuracy rate
● Integration with existing exception monitoring mechanisms
Currently running over 75,000 verifications a month
BOSS Time & Attendance
11. 11
The AWS Toolkit
Amazon
S3
Amazon
Rekognition
AWS
Lambda
Amazon
RDS
Amazon
Cloudwatch
Amazon
API Gateway
A compute service that lets you run
code without provisioning or
managing servers.
Provides highly accurate facial
analysis, face comparison, and face
search capabilities.
An object storage service that offers
scalability, data availability, security,
and performance.
A service for creating, publishing,
maintaining, monitoring, and
securing REST, HTTP, and WebSocket
APIs at any scale.
A collection of managed services that
makes it simple to set up, operate,
and scale databases in the cloud.
A monitoring service that provides
data and actionable insights for AWS,
hybrid, and on-premises applications
and infrastructure resources.
14. Video Streaming via AWS S3
● Why stream video?
● Solution overview
● Video playback
● Configure your buckets
● Use the API
● Upload
15. Why stream video?
15
The Scenario
● Job applicants upload videos
● Videos are only available to intended
recipients
● The first frame is displayed before playback
● Playback can start immediately
17. Solution Overview
17
Web App OutSystems App
AWS_EXT
AWS S3 API
Upload
Playback
Video URL
Video URL
Upload
Convert
18. Video Playback
18
● Video player control
● Temporary URL
● Caching the URL
● AWS CORS configuration
● Consider using a CDN (we didn’t need one)
● Transcoding with MediaConvert
20. AWS S3 Configuration
20
For each environment
● Create API user accounts
● Record “secret” and “access” keys
● Access type “Programmatic access - with an access key”
● Create S3 buckets (in the correct AWS region)
21. S3 Bucket Policy
21
● Ensure bucket public access is off (the default)
● Give access to the API user with a bucket policy
"Statement": [
{
"Sid": "Stmt999999999999",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::99999999999:user/myproj-dev-api"
},
"Action": "s3:*",
"Resource": "arn:aws:s3:::myproj-dev/*"
} ]
…
22. CORS Configuration
22
[ {
"AllowedHeaders": [ … ],
"AllowedMethods": [ "GET" ],
"AllowedOrigins": [ "https://YOUR_DOMAIN.com" ],
"ExposeHeaders": [ … ],
"MaxAgeSeconds": 3000
} ]
● Set “Allowed Origins” to your application URL
24. Connecting to AWS S3
24
● AWS S3 API
● To connect, you will need:
○ AWS Access Key
○ AWS Secret Key
○ AWS Region Name
○ AWS Bucket Name
25. Get Temporary URL
25
● AmazonS3Client.GetPreSignedURL
Expires = DateTime.UtcNow.AddMinutes(durationMins)
● Cached server action
● Cache time should be less than the URL timeout
27. Uploading files
27
Upload the whole file with
● Store file metadata
● TransferUtilityUploadRequest.Upload
● Generate the File “Key” (Not the filename!)
● Create a pseudo path with <ENTITY>/<ID>/<KEY>
eg CUSTOMER/123/abcd-1234-cbad.mpg
28. Uploading large files
28
Upload in chunks
● AmazonS3Client.InitiateMultipartUpload
● AmazonS3Client.UploadPart
● AmazonS3Client.CompleteMultipartUpload
● Custom client-side upload widget to chunk the file
31. “Handled in AWS”
“Handled in AWS”
“Handled in AWS”
…
The AWS Iceberg
“Built in AWS Lambda”
“Stored in AWS S3”
“Hosted on AWS EC2”
…
31
32. Why get certified?
● Over 200 services
● Industry standard
● Market visibility
● Getting ready for containerisation of OutSystems in ODC
● Better understanding of end-to-end accelerator implementation
https://www.outsystems.com/aws-cloud-accelerators/
32
34. The AWS Certified Cloud Practitioner (CCP) is the easiest Amazon Web Services certification. It’s a cloud beginner-friendly
certification that covers the basics of AWS and the cloud and requires no technical experience as a prerequisite. Though,
unless you have some experience with AWS, you’ll still need to study to ace it. (It’s not that easy.)
It covers around 56 AWS services, almost 25% of the AWS Universe.
It’s probably for you if: You need to know foundational cloud concepts — like what is cloud, what is cloud migration, and how
does AWS works at a high level — but won’t be getting your hands dirty with implementation.
AWS Cloud Practitioner
34
● Prerequisites: None
● Recommended Experience: 6 months of AWS and industry knowledge
● Skills covered:
○ Basic AWS architectural foundations
○ Key AWS services
○ AWS security and compliance
35. AWS Solution Architect
The AWS Certified Solutions Architect – Associate certification gives you a broad overview of AWS, and forms a valuable foundation on
which you can build everything else you’ll learn moving forward. There’s a reason it’s been the #1 cloud certification for years running.
The CSA – Associate certification focuses on the core AWS services, like Identity and Access Management (IAM), Virtual Private Cloud
(VPC), S3, and EC2. Studying these core services will give you a good understanding of how AWS approaches security, networking, data
storage, and compute capability.
It’s probably for you if: If you’re going to be working in AWS in any hands-on capacity, the Associate-level certifications should mark the
point where your journey truly begins. The AWS Cloud Practitioner provides a solid conceptual footing, but the AWS Associate-level
certifications are where the rubber really meets the road in terms of day-to-day implementation.
35
● Recommended Experience: One year of experience working in AWS to solve problems and implement solutions.
● Skills covered:
○ How AWS-based applications work
○ Building secure applications on AWS platform
○ Deploying hybrid AWS systems
○ Hands-on AWS application design
○ AWS application development
○ Security in AWS environments