SlideShare une entreprise Scribd logo
1  sur  23
Télécharger pour lire hors ligne
PR HQ – IT SOLUTIONS
SHORT URL
#AWS #PernodRicard #Meetup
Life is too short for long URLs.
13 NOVEMBRE 2018
2
Charles Rapp
Tech Lead @ Pernod Ricard
charlesr.app/twitter
charlesr.app/linkedin
charlesr.app/github
3
Few words about Pernod Ricard
18 500 employees in 85 affiliates
9Mds € Net Sales
Co-leader worldwide in Wine & Spirits industry
Hundred of brands
And a tag line…
Créateur de convivialité
Short URL project
13/11/2018
5
Introduction
https://drinks.me/short-link https://www.pernod-ricard.com/en/our-group/our-organisation/
From a short URL To a much longer URL
§ Social Media
§ Email campaign
§ QR Code
§ Legal mentions
§ …
Main usage in
Simple need to reduce the length of our URL on social media or offline campaigns
6
Prerequisites
• Full serverless (NoOps spirit)
• Scalable
• Affordable
• Under Pernod Ricard governance
7
What we design in AWS as a first draft
LogsDefault
origin
The picture
can't be
displayed.
Availability zone
AWS Cloud
Public
8
Our architecture in details
LogsDefault
origin
The picture
can't be
displayed.
Availability zone
Route53 is mandatory for managing DNS directly in
AWS in order to get ability to set an Alias on the @
record.
9
Our architecture in details
LogsDefault
origin
The picture
can't be
displayed.
Availability zone
As this project needs to be fast as possible, you should
use a CDN for that, CloudFront is there.
10
Our architecture in details
LogsDefault
origin
The picture
can't be
displayed.
Availability zone
2 S3 buckets are related to CloudFront distribution.
1 for logging all events from CloudFront and 1 as
default endpoint of CloudFront, in case of.
11
Our architecture in details
LogsDefault
origin
The picture
can't be
displayed.
Availability zone
AWS Lambda is finally not really through in that
case. We use AWS Lambda@edge for processing
requests coming from CloudFront. More details in
next slides
12
Our architecture in details
LogsDefault
origin
The picture
can't be
displayed.
Availability zone
DynamoDB stores our mapping between short and
long URLs this NoSQL database. More details in
next slides.
13
Choice of
lambda@edge
Ø It is a feature of CloudFront that is
globally replicated
Ø It lets us run code directly in CloudFront
Ø We can develop in NodeJS
Ø Extremly scalable
14
Lambda vs Lambda@edge
Game of differences !
Lambda Lambda@Edge
Specifications From 128MB, up to 3008 MB memory From 128MB, up to 3008 MB memory *
Supported Languages Java, Node.js, C#, Python Node.js
Pricing
Based on # requests and
volume of used memory per second
Free tier available
Based on # requests and
volume of used memory per second
Particularity Timeout 15 min
Only usable along CloudFront distribution
Environment variables can’t be setup
Timeout depending on the event (between 5 to
30s)
Out-of-the-box parallelization
15
How Lambda@edge works with CloudFront
Lambda@Edge can interact on 4 different moments
of a request through a CloudFront distibution :
Ø Viewer Request
When CloudFront receives a request and before cache checks
Ø Origin Request
When CloudFront fowards a request to the origin
Ø Origin Response
When CloudFront receives a response from the origin and
before it caches the object
Ø Viewer Response
When CloudFront sent request file to end user
16
How we use it
Origin Request event handler
1
2
3
4
Step by step
1. Client requests to CloudFront
2. CloudFront asks the origin for this
request. This action handles an
Lambda@edge function
3. Lambda@edge function requests
item based on Client request
4. CloudFront modifies its response to
fit redirection found in DynamoDB
17
Storing redirections in
database
DynamoDB with Global Tables helps to store globally our redirections.
Example of an item
Items stored in DB should be light as possible for performance
(and cost) purpose and also flexible for the future needs.
18
How we deploy the project
Redirect engine is fully managed by a single git repository and using CI/CD for
deployment.
Developers BitBucket repository
Publishes new version with
AWS SAM
AWS ressources
Manages Terraform
configuration with
Terragrunt
Triggers code review by
SonarQube
Git push
19
How to administrate
Ø Development of a static website as Back-office
Ø Implement REST API for CRUD on DynamoDB using
Lambda
Ø Authentication by Azure AD
Ø RDS Database for all functional informations
è Again full serverless
20
Full architecture
LogsDefault
origin
The picture
can't be
displayed.
Availability zone
Back Office
database
Public
Contributors
Back-Office
in a static
website
All that for this?
Might be kidding!
22
One more thing
As we saw, architecture design is quite complex for only
redirect users from A to B.
As Lambda@edge function receives a request from CloudFront,
we can play with all informations we get :
- User Agent
- Headers from CloudFront (country, device, referrer, …)
Rules are stored in a item in DynamoDB then processed by
Lambda@edge function.
User Agent +
CloudFront headers
Questions

Contenu connexe

Tendances

RedisConf17 - Redfin - The Real Estate Brokerage and the In-memory Database
RedisConf17 - Redfin - The Real Estate Brokerage and the In-memory Database RedisConf17 - Redfin - The Real Estate Brokerage and the In-memory Database
RedisConf17 - Redfin - The Real Estate Brokerage and the In-memory Database
Redis Labs
 
Tensorflow London 13: Barbara Fusinska 'Hassle Free, Scalable, Machine Learni...
Tensorflow London 13: Barbara Fusinska 'Hassle Free, Scalable, Machine Learni...Tensorflow London 13: Barbara Fusinska 'Hassle Free, Scalable, Machine Learni...
Tensorflow London 13: Barbara Fusinska 'Hassle Free, Scalable, Machine Learni...
Seldon
 

Tendances (20)

How to collect and utilize logs at Kubernetes with Elastic Stack
How to collect and utilize logs at Kubernetes with Elastic StackHow to collect and utilize logs at Kubernetes with Elastic Stack
How to collect and utilize logs at Kubernetes with Elastic Stack
 
The Next Generation Software Stack: Meteor
The Next Generation Software Stack: MeteorThe Next Generation Software Stack: Meteor
The Next Generation Software Stack: Meteor
 
RedisConf17 - Redfin - The Real Estate Brokerage and the In-memory Database
RedisConf17 - Redfin - The Real Estate Brokerage and the In-memory Database RedisConf17 - Redfin - The Real Estate Brokerage and the In-memory Database
RedisConf17 - Redfin - The Real Estate Brokerage and the In-memory Database
 
MongoDB for Oracle Experts - OUGF Harmony 2014
MongoDB for Oracle Experts - OUGF Harmony 2014 MongoDB for Oracle Experts - OUGF Harmony 2014
MongoDB for Oracle Experts - OUGF Harmony 2014
 
Achieving end-to-end visibility into complex event-sourcing transactions usin...
Achieving end-to-end visibility into complex event-sourcing transactions usin...Achieving end-to-end visibility into complex event-sourcing transactions usin...
Achieving end-to-end visibility into complex event-sourcing transactions usin...
 
The automation challenge Kubernetes operators vs Helm charts
The automation challenge Kubernetes operators vs Helm chartsThe automation challenge Kubernetes operators vs Helm charts
The automation challenge Kubernetes operators vs Helm charts
 
Serverless Architecture
Serverless ArchitectureServerless Architecture
Serverless Architecture
 
MongoDB MUG Delhi NCR - December 19 2020 (Cloud Security)
MongoDB MUG Delhi NCR - December 19 2020 (Cloud Security)MongoDB MUG Delhi NCR - December 19 2020 (Cloud Security)
MongoDB MUG Delhi NCR - December 19 2020 (Cloud Security)
 
MongoDB World 2018: Building Serverless Apps with MongoDB Atlas on Google Clo...
MongoDB World 2018: Building Serverless Apps with MongoDB Atlas on Google Clo...MongoDB World 2018: Building Serverless Apps with MongoDB Atlas on Google Clo...
MongoDB World 2018: Building Serverless Apps with MongoDB Atlas on Google Clo...
 
From Monolith to Microservices with Cassandra, gRPC, and Falcor (from Cassand...
From Monolith to Microservices with Cassandra, gRPC, and Falcor (from Cassand...From Monolith to Microservices with Cassandra, gRPC, and Falcor (from Cassand...
From Monolith to Microservices with Cassandra, gRPC, and Falcor (from Cassand...
 
Geo-Trending Example
Geo-Trending ExampleGeo-Trending Example
Geo-Trending Example
 
Fully-Managed, Multi-Tenant Kafka Clusters: Tips, Tricks, and Tools (Christop...
Fully-Managed, Multi-Tenant Kafka Clusters: Tips, Tricks, and Tools (Christop...Fully-Managed, Multi-Tenant Kafka Clusters: Tips, Tricks, and Tools (Christop...
Fully-Managed, Multi-Tenant Kafka Clusters: Tips, Tricks, and Tools (Christop...
 
Why Kafka Works the Way It Does (And Not Some Other Way) | Tim Berglund, Conf...
Why Kafka Works the Way It Does (And Not Some Other Way) | Tim Berglund, Conf...Why Kafka Works the Way It Does (And Not Some Other Way) | Tim Berglund, Conf...
Why Kafka Works the Way It Does (And Not Some Other Way) | Tim Berglund, Conf...
 
K8s vs Cloud Foundry
K8s vs Cloud FoundryK8s vs Cloud Foundry
K8s vs Cloud Foundry
 
Tensorflow London 13: Barbara Fusinska 'Hassle Free, Scalable, Machine Learni...
Tensorflow London 13: Barbara Fusinska 'Hassle Free, Scalable, Machine Learni...Tensorflow London 13: Barbara Fusinska 'Hassle Free, Scalable, Machine Learni...
Tensorflow London 13: Barbara Fusinska 'Hassle Free, Scalable, Machine Learni...
 
Building Language Agnostic APIs with gRPC - JavaDay Istanbul 2017
Building Language Agnostic APIs with gRPC - JavaDay Istanbul 2017Building Language Agnostic APIs with gRPC - JavaDay Istanbul 2017
Building Language Agnostic APIs with gRPC - JavaDay Istanbul 2017
 
Flink Forward Berlin 2017: Roberto Bentivoglio, Saverio Veltri - NSDB (Natura...
Flink Forward Berlin 2017: Roberto Bentivoglio, Saverio Veltri - NSDB (Natura...Flink Forward Berlin 2017: Roberto Bentivoglio, Saverio Veltri - NSDB (Natura...
Flink Forward Berlin 2017: Roberto Bentivoglio, Saverio Veltri - NSDB (Natura...
 
Kubernetes Logging
Kubernetes LoggingKubernetes Logging
Kubernetes Logging
 
Event-driven Applications with Kafka, Micronaut, and AWS Lambda | Dave Klein,...
Event-driven Applications with Kafka, Micronaut, and AWS Lambda | Dave Klein,...Event-driven Applications with Kafka, Micronaut, and AWS Lambda | Dave Klein,...
Event-driven Applications with Kafka, Micronaut, and AWS Lambda | Dave Klein,...
 
Serverless Big Data Architecture on Google Cloud Platform at Credit OK
Serverless Big Data Architecture on Google Cloud Platform at Credit OKServerless Big Data Architecture on Google Cloud Platform at Credit OK
Serverless Big Data Architecture on Google Cloud Platform at Credit OK
 

Similaire à AWS Meetup Paris - Short URL project by Pernod Ricard

Similaire à AWS Meetup Paris - Short URL project by Pernod Ricard (20)

Cloud Native Patterns Meetup 2019-11-20
Cloud Native Patterns Meetup 2019-11-20Cloud Native Patterns Meetup 2019-11-20
Cloud Native Patterns Meetup 2019-11-20
 
Serverlessusecase workshop feb3_v2
Serverlessusecase workshop feb3_v2Serverlessusecase workshop feb3_v2
Serverlessusecase workshop feb3_v2
 
Serverless Computing
Serverless ComputingServerless Computing
Serverless Computing
 
Running R on AWS Lambda by Ana-Maria Niculescu
Running R on AWS Lambda by Ana-Maria NiculescuRunning R on AWS Lambda by Ana-Maria Niculescu
Running R on AWS Lambda by Ana-Maria Niculescu
 
Top conf serverlezz
Top conf   serverlezzTop conf   serverlezz
Top conf serverlezz
 
New Features in MongoDB Atlas
New Features in MongoDB AtlasNew Features in MongoDB Atlas
New Features in MongoDB Atlas
 
Build DynamoDB-Compatible Apps with Python
Build DynamoDB-Compatible Apps with PythonBuild DynamoDB-Compatible Apps with Python
Build DynamoDB-Compatible Apps with Python
 
KubeCon London 2016 Ronana Cloud Native SDN
KubeCon London 2016 Ronana Cloud Native SDNKubeCon London 2016 Ronana Cloud Native SDN
KubeCon London 2016 Ronana Cloud Native SDN
 
GDG London Workshop: Build GCP infrastructure with Terraform
GDG London Workshop: Build GCP infrastructure with Terraform GDG London Workshop: Build GCP infrastructure with Terraform
GDG London Workshop: Build GCP infrastructure with Terraform
 
Cloud Has Become the New Normal: TCS
Cloud Has Become the New Normal: TCS Cloud Has Become the New Normal: TCS
Cloud Has Become the New Normal: TCS
 
The Decoupled CMS in Financial Services
The Decoupled CMS in Financial ServicesThe Decoupled CMS in Financial Services
The Decoupled CMS in Financial Services
 
GDG DevFest Romania - Architecting for the Google Cloud Platform
GDG DevFest Romania - Architecting for the Google Cloud PlatformGDG DevFest Romania - Architecting for the Google Cloud Platform
GDG DevFest Romania - Architecting for the Google Cloud Platform
 
Build and Manage Serverless APIs (APIDays Nordic, May 19th 2016)
Build and Manage Serverless APIs (APIDays Nordic, May 19th 2016)Build and Manage Serverless APIs (APIDays Nordic, May 19th 2016)
Build and Manage Serverless APIs (APIDays Nordic, May 19th 2016)
 
DCEU 18: Developing with Docker Containers
DCEU 18: Developing with Docker ContainersDCEU 18: Developing with Docker Containers
DCEU 18: Developing with Docker Containers
 
Running your Spring Apps in the Cloud Javaone 2014
Running your Spring Apps in the Cloud Javaone 2014Running your Spring Apps in the Cloud Javaone 2014
Running your Spring Apps in the Cloud Javaone 2014
 
Data Scotland 2019: You can run SQL Server on AWS
Data Scotland 2019: You can run SQL Server on AWSData Scotland 2019: You can run SQL Server on AWS
Data Scotland 2019: You can run SQL Server on AWS
 
Cloud Native Applications on OpenShift
Cloud Native Applications on OpenShiftCloud Native Applications on OpenShift
Cloud Native Applications on OpenShift
 
What can you do with lambda in 2020
What can you do with lambda in 2020What can you do with lambda in 2020
What can you do with lambda in 2020
 
Optimize DR and Cloning with Logical Hostnames in Oracle E-Business Suite (OA...
Optimize DR and Cloning with Logical Hostnames in Oracle E-Business Suite (OA...Optimize DR and Cloning with Logical Hostnames in Oracle E-Business Suite (OA...
Optimize DR and Cloning with Logical Hostnames in Oracle E-Business Suite (OA...
 
Building a real-time, scalable and intelligent programmatic ad buying platform
Building a real-time, scalable and intelligent programmatic ad buying platformBuilding a real-time, scalable and intelligent programmatic ad buying platform
Building a real-time, scalable and intelligent programmatic ad buying platform
 

Dernier

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Dernier (20)

[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 

AWS Meetup Paris - Short URL project by Pernod Ricard

  • 1. PR HQ – IT SOLUTIONS SHORT URL #AWS #PernodRicard #Meetup Life is too short for long URLs. 13 NOVEMBRE 2018
  • 2. 2 Charles Rapp Tech Lead @ Pernod Ricard charlesr.app/twitter charlesr.app/linkedin charlesr.app/github
  • 3. 3 Few words about Pernod Ricard 18 500 employees in 85 affiliates 9Mds € Net Sales Co-leader worldwide in Wine & Spirits industry Hundred of brands And a tag line… Créateur de convivialité
  • 5. 5 Introduction https://drinks.me/short-link https://www.pernod-ricard.com/en/our-group/our-organisation/ From a short URL To a much longer URL § Social Media § Email campaign § QR Code § Legal mentions § … Main usage in Simple need to reduce the length of our URL on social media or offline campaigns
  • 6. 6 Prerequisites • Full serverless (NoOps spirit) • Scalable • Affordable • Under Pernod Ricard governance
  • 7. 7 What we design in AWS as a first draft LogsDefault origin The picture can't be displayed. Availability zone AWS Cloud Public
  • 8. 8 Our architecture in details LogsDefault origin The picture can't be displayed. Availability zone Route53 is mandatory for managing DNS directly in AWS in order to get ability to set an Alias on the @ record.
  • 9. 9 Our architecture in details LogsDefault origin The picture can't be displayed. Availability zone As this project needs to be fast as possible, you should use a CDN for that, CloudFront is there.
  • 10. 10 Our architecture in details LogsDefault origin The picture can't be displayed. Availability zone 2 S3 buckets are related to CloudFront distribution. 1 for logging all events from CloudFront and 1 as default endpoint of CloudFront, in case of.
  • 11. 11 Our architecture in details LogsDefault origin The picture can't be displayed. Availability zone AWS Lambda is finally not really through in that case. We use AWS Lambda@edge for processing requests coming from CloudFront. More details in next slides
  • 12. 12 Our architecture in details LogsDefault origin The picture can't be displayed. Availability zone DynamoDB stores our mapping between short and long URLs this NoSQL database. More details in next slides.
  • 13. 13 Choice of lambda@edge Ø It is a feature of CloudFront that is globally replicated Ø It lets us run code directly in CloudFront Ø We can develop in NodeJS Ø Extremly scalable
  • 14. 14 Lambda vs Lambda@edge Game of differences ! Lambda Lambda@Edge Specifications From 128MB, up to 3008 MB memory From 128MB, up to 3008 MB memory * Supported Languages Java, Node.js, C#, Python Node.js Pricing Based on # requests and volume of used memory per second Free tier available Based on # requests and volume of used memory per second Particularity Timeout 15 min Only usable along CloudFront distribution Environment variables can’t be setup Timeout depending on the event (between 5 to 30s) Out-of-the-box parallelization
  • 15. 15 How Lambda@edge works with CloudFront Lambda@Edge can interact on 4 different moments of a request through a CloudFront distibution : Ø Viewer Request When CloudFront receives a request and before cache checks Ø Origin Request When CloudFront fowards a request to the origin Ø Origin Response When CloudFront receives a response from the origin and before it caches the object Ø Viewer Response When CloudFront sent request file to end user
  • 16. 16 How we use it Origin Request event handler 1 2 3 4 Step by step 1. Client requests to CloudFront 2. CloudFront asks the origin for this request. This action handles an Lambda@edge function 3. Lambda@edge function requests item based on Client request 4. CloudFront modifies its response to fit redirection found in DynamoDB
  • 17. 17 Storing redirections in database DynamoDB with Global Tables helps to store globally our redirections. Example of an item Items stored in DB should be light as possible for performance (and cost) purpose and also flexible for the future needs.
  • 18. 18 How we deploy the project Redirect engine is fully managed by a single git repository and using CI/CD for deployment. Developers BitBucket repository Publishes new version with AWS SAM AWS ressources Manages Terraform configuration with Terragrunt Triggers code review by SonarQube Git push
  • 19. 19 How to administrate Ø Development of a static website as Back-office Ø Implement REST API for CRUD on DynamoDB using Lambda Ø Authentication by Azure AD Ø RDS Database for all functional informations è Again full serverless
  • 20. 20 Full architecture LogsDefault origin The picture can't be displayed. Availability zone Back Office database Public Contributors Back-Office in a static website
  • 21. All that for this? Might be kidding!
  • 22. 22 One more thing As we saw, architecture design is quite complex for only redirect users from A to B. As Lambda@edge function receives a request from CloudFront, we can play with all informations we get : - User Agent - Headers from CloudFront (country, device, referrer, …) Rules are stored in a item in DynamoDB then processed by Lambda@edge function. User Agent + CloudFront headers