SlideShare una empresa de Scribd logo
1 de 69
Descargar para leer sin conexión
© 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved.
Ben Smith, AWS Serverless
September, 2020
The Serverless LAMP Stack
© 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved.
© 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved.
About Me
• Ben Smith
• Twitter: @benjamin_l_s
• PHP Web developer ~ 15 years
• Serverless geek
• Senior Developer Advocate – AWS Serverless
• Previously:
• Principal Web dev @ CA Technologies
• Principal Program manager @ Broadcom
• Workflow Automation & Service orchestration
© 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved.
The challenges with traditional PHP
applications
Traditional
server
Traditional
server
Traditional
server
Traditional
server
Classic Load BalancerInternet
User
+
Database
Server
VPC
Clone DB
Traditional
LAMP doesn’t
scale well
+
© 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved.
Improved VPC
networking for
LambdaAWS Lambda
Amazon API
Gateway
Amazon RDS
Proxy
Layers & Custom
Runtime API
Jul 2015
Nov 2014 Nov 2017
Nov 2018
Sep 2019
Nov 2019
Amazon Aurora
Serverless
Why Now?
© 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved.
Lambda
API Gateway PHP
MySQL
The Serverless LAMP stack
Lambda
Lambda
A
M
P
© 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved.
What is serverless?
No infrastructure provisioning,
no management
Automatic scaling
Pay for value Highly available and secure
© 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved.
© 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved.
© 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved.© 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved.
Event-driven compute
Functions as a service
Serverless FaaS
© 2020, Amazon Web Services, inc. or its Affiliates. All
rights reserved.
© 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved.
Serverless Applications
Event source Services
(anything)
Changes in
data state
Requests to
endpoints
Changes in
Resource state
Function
Node.js
Python
Java
Go
Ruby
.Net (C#/Powershell)
Custom Runtime API
© 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved.
© 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved.
Anatomy of an AWS Lambda function
Handler () function
Function to be executed
upon invocation
Event object
Data sent during Lambda
function Invocation
Context object
Methods available to
interact with runtime
information (request ID, log
group, more)
© 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved.
Anatomy of
an AWS
Lambda
function
Your function
Language
runtime
Execution
environment
Lambda service
Compute
substrate
L
API Gateway
M
P
API Gateway
© 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved.
APIs are the front
door to your
backend services
Amazon API Gateway
Websites
Services
Amazon API Gateway
API Gateway
Cache
Public
Endpoints on
Amazon EC2
Amazon
CloudWatch
Monitoring
All publicly
accessible
endpoints
Lambda
Functions
Endpoints
in VPC
Applications
& Services
in VPC
Any other
AWS service
Fully-managed
CloudFront
Distribution
Edge-OptimizedRegionalPrivate
Applications
& Services
in the same
AWS Region AWS Direct
Connect
On-premises
HTTPS
Mobile client
Customer-managed
CloudFront Distribution
© 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved.
Amazon API Gateway
Create a unified
API frontend for
multiple micro-
services
Authenticate and
authorize
requests to a
backend
DDoS protection
and throttling for
your backend
Throttle, meter,
and monetize API
usage by third-
party developers
MySQL
L
A
MySQL +
P
Amazon Aurora
Amazon RDS Proxy
Amazon Aurora
• MySQL and PostgreSQL compatible relational database built for the cloud
• Performance and availability of commercial-grade databases at 1/10th the
cost
Performance
& scalability
5x throughput of standard
MySQL and 3x of standard
PostgreSQL; scale-out up
to15 read replicas
Availability
& durability
Fault-tolerant, self-healing
storage; six copies of
data across three AZs;
continuous backup to S3
Highly
secure
Network isolation,
encryption at
rest/transit
Fully
managed
Managed by RDS: no
hardware provisioning,
software patching, setup,
configuration, or backups
70,369 Gigabytes
Pool and share
application
scaling
availability
DB failover times
data
security
access controls
Fully managed
compatible
Amazon RDS Proxy
Fully managed, highly available database proxy feature for Amazon RDS.
Pools and shares DB connections to make applications more scalable, resilient to
database failures, and secure.
© 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved.
Amazon RDS
Proxy
AWS Lambda AWS Identity and Access
Management
AWS Secrets Manager Amazon Aurora
Use Trust Policy
Create Token
Get DB Credentials
Open Connection
Return Token
Use Connection Pool
Return Connection ID
PHP
L
A
M
PHP on AWS Lambda
© 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved.
AWS Lambda wants to
make it easy for developers
build applications.
Managing the language
runtimes for our customers
helps make it easier to do
this!
Currently supported languages and versions
Node.js 12.x
Node.js 10.x
Python 2.7
Python 3.8
Python 3.7
Python 3.7
Python 2.7
Ruby 2.7
Ruby 2.5
Java 11
Java 8
.Net Core 3.1 (C#)
.Net Core 2.
Go 1.x
These represent the majority of what our
customers are writing applications in today...
~ 80% of the
web runs on PHP
. https://w3techs.com/technologies/overview/programming_language
© 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved.
Lambda Custom Runtimes
Bring any Linux compatible language runtime
Powered by the Runtime API
Custom runtimes distributed as “layers” Rule
Stack
© 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved.
Lambda Layers
Lets functions easily share code: Upload layer
once, reference within any function
Layer can be anything: dependencies, training
data, configuration files, etc
Promote separation of responsibilities, lets
developers iterate faster on writing business logic
Built in support for secure sharing by ecosystem
© 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved.
Lambda Runtime API
You can select a custom runtime in the console (provided in the
API/SDKs/CLI) as the runtime of a Lambda function
With this selection, the function must include (in its code or in a
layer) an executable file called bootstrap
• The runtime bootstrap is responsible for the communication between
your code and the Lambda environment
• Your code can use any programming language
© 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved.
Lambda Environment
Execute
Bootstrap
Execute
handler code
Download
your code
Start new
Execution
environment
Event source
The bootstrap executable acts as a
bridge between the Runtime HTTP API
and the Function to be executed
Bootstrap.php
Lambda Runtime API
Lambda Function
© 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved.
Lambda Environment
Bootstrap.php
Process events/headers
Clean up
Initialize & Invoke function
Response/Error handling
Bootstrap needs to manage
response/error handling, context
creation and function execution
Execute
Bootstrap
Execute
handler code
Download
your code
Start new
Execution
environment
Event source
Lambda Runtime API
Lambda Function
© 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved.
Information on the bootstrap
file and the function handler
are shared as environment
variables
The host and port of the runtime API.
The handler location configured on the function.
The directory that contains the function code
$_ENV[‘AWS_LAMBDA_RUNTIME_API’]
$_ENV[‘_HANDLER’]
$_ENV[‘LAMBDA_TASK_ROOT’]
Lambda Environment
Execute
Bootstrap
Execute
handler code
Download
your code
Start new
Execution
environment
Event source
Bootstrap.php
Lambda Runtime API
Lambda Function
© 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved.
Bootstrap File
Process next request
Handler Function name from $_ENV
Return response/error
Interact with runtime API
© 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved.
PHP versions, modules and
package dependencies
© 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved.
Compile the required version of PHP in an
Amazon Linux environment
Include any extensions with the PHP
configuration
PHP versions and extensions
Package the PHP binary
and bootstrap file
together into a file
Publish the file to a layer Add the Layer to your Lambda
function
© 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved.
Libraries & dependencies
Install Composer, Install any additional
libraries, Package the dependencies into a
binary.
Use the AWS CLI to publish a layer from
the binary.
Add the vendor Layer to your Lambda
function
© 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved.
Libraries & dependencies in your Lambda code
use statement imports
Classes before the function
Handler
Use the imported library
inside the function handler
© 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved.
Libraries & dependencies in your Lambda code
use statement imports
Classes before the function
Handler
Use the imported library
inside the function handler
© 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved.
Open Source Runtimes for PHP
Can find more here: https://github.com/mthenw/awesome-layers !
Open source,
production-ready
PHP runtimes for AWS
Lambda
Deploy as a layer with
Serverless Application Model
(SAM) or Serverless Framework
© 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved.
Bref’s php-fpm layer
PHP-FPM is a server implementing the FastCGI protocol, developed by
the PHP core team.
It is traditionally used with HTTP servers like Apache or NGINX to
manage inbound HTTP requests for PHP applications at high loads.
Single process per HTTP request Returning HTTP responses
OPcode cache optimizations
Memory cache optimizations Database persistent connections
$_GET
$_POST $_ENV $_SERVER$_REQUEST
$_GLOBALS
Bref’s implementation of php-FPM handles:
© 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved.
AWS Lambda environment
Amazon API
Gateway
</> bootstrap
PHP-FPM
Index.php
FastCGI request
FastCGI response
API Gateway request
API Gateway response
AWS Cloud
HTTP Gateway request
HTTP Gateway response
Website.com
API Gateway receives the HTTP request
and invokes AWS Lambda.
© 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved.
AWS Lambda environment
Amazon API
Gateway
</> bootstrap
PHP-FPM
Index.php
FastCGI request
FastCGI response
API Gateway request
API Gateway response
AWS Cloud
HTTP Gateway request
HTTP Gateway response
Website.com
Bref bootstrap executes.
© 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved.
AWS Lambda environment
Amazon API
Gateway
</> bootstrap
PHP-FPM
Index.php
FastCGI request
FastCGI response
API Gateway request
API Gateway response
AWS Cloud
HTTP Gateway request
HTTP Gateway response
Website.com
Bootstrap converts API gateway format
to FastCGI
© 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved.
AWS Lambda environment
Amazon API
Gateway
</> bootstrap
PHP-FPM
Index.php
FastCGI request
FastCGI response
API Gateway request
API Gateway response
AWS Cloud
HTTP Gateway request
HTTP Gateway response
Website.com
Boostrap calls PHP-FPM
© 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved.
AWS Lambda environment
Amazon API
Gateway
</> bootstrap
PHP-FPM
Index.php
FastCGI request
FastCGI response
API Gateway request
API Gateway response
AWS Cloud
HTTP Gateway request
HTTP Gateway response
Website.com
Function handler returns response
© 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved.
AWS Lambda environment
Amazon API
Gateway
</> bootstrap
PHP-FPM
Index.php
FastCGI request
FastCGI response
API Gateway request
API Gateway response
AWS Cloud
HTTP Gateway request
HTTP Gateway response
Website.com
Response format converted
© 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved.
AWS Lambda environment
Amazon API
Gateway
</> bootstrap
PHP-FPM
Index.php
FastCGI request
FastCGI response
API Gateway request
API Gateway response
AWS Cloud
HTTP Gateway request
HTTP Gateway response
Website.com
Bref returns the response to API
Gateway, which returns the HTTP
response to the client.
© 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved.
Lambda
API Gateway PHP
MySQL
© 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved.
MySQL
API Gateway
Lambda
PHP
AWS Lambda
Amazon Aurora
AWS Cloud
© 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved.
Amazon API
Gateway
AWS Lambda Amazon Aurora
Amazon CloudFront
AWS Cloud
Amazon Simple Storage
Service
/assets/*
/*
website.com/*
VPC
Lambda as a scalable web server
© 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved.
Amazon API
Gateway
AWS Lambda Amazon Aurora
Amazon CloudFront
AWS Cloud
Amazon S3
/assets/*
/*
website.com/*
VPC
Lambda as a scalable web server
© 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved.
API Gateway acts as the HTTP router
The Lambda function handler is invoked when an
HTTP request comes in - Similar to the traditional
index.php
Catch All routing
API Gateway to catch all requests
Amazon API
Gateway
/
/*
AWS Lambda
Amazon API
Gateway
/
/*
API Gateway Rule config
apache2 config file
public/.htaccess
API Gateway
routing
{
AWS Lambda
.
© 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved.
Amazon Cloud Front CDN to
Cache Assets and web pages
CloudFront forwards HTTP requests to
"Origins" (API Gateway/Lambda, S3,
etc.) based on "Cache Behaviours".
A cache behaviour can match a
specific URL pattern, and can have a
specific caching configuration
Run popular frameworks on Bref in
this way.
Add Caching for static assets
Amazon API
Gateway
AWS Lambda
/assets/*
Amazon CloudFront
© 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved.
Amazon API
Gateway
Amazon Aurora
AWS Cloud
/*
/api/*
website.com/*
AWS Amplify
Console
VPC
Multiple Lambda functions for event driven microservices
/auth
/activity
/delete
/search
/update
/view
/user
/purchase
/users
/map
.html
.css
.js
.jpg .mov .mp4 .png
Amazon
RDS Proxy
© 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved.
Lambda as anonymous functions for event driven microservices
Amazon API
Gateway
Amazon Aurora
AWS Cloud
/*
/api/*
website.com/*
AWS Amplify
Console
VPC
/auth
/activity
/delete
/search
/update
/view
/user
/purchase
/users
/map
.html
.css
.js
.jpg .mov .mp4 .png Front end application makes requests to
a resource generated by API Gateway
Amazon
RDS Proxy
© 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved.
Lambda as anonymous functions for event driven microservices
Amazon API
Gateway
Amazon Aurora
AWS Cloud
/*
/api/*
website.com/*
AWS Amplify
Console
VPC
/auth
/activity
/delete
/search
/update
/view
/user
/purchase
/users
/map
.html
.css
.js
.jpg .mov .mp4 .png API Gateway routes the request and
invokes Lambda function
Amazon
RDS Proxy
© 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved.
Lambda as anonymous functions for event driven microservices
Amazon API
Gateway
Amazon Aurora
AWS Cloud
/*
/api/*
website.com/*
AWS Amplify
Console
VPC
/auth
/activity
/delete
/search
/update
/view
/user
/purchase
/users
/map
.html
.css
.js
.jpg .mov .mp4 .png Lambda function processes request using
PHP custom runtime.
Amazon
RDS Proxy
© 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved.
Lambda as anonymous functions for event driven microservices
Amazon API
Gateway
Amazon Aurora
AWS Cloud
/*
/api/*
website.com/*
AWS Amplify
Console
VPC
/auth
/activity
/delete
/search
/update
/view
/user
/purchase
/users
/map
.html
.css
.js
.jpg .mov .mp4 .png
Amazon
RDS Proxy
Lambda Uses RDS Proxy to pool and
manage DB connections
© 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved.
Lambda as anonymous functions for event driven microservices
Amazon API
Gateway
Amazon Aurora
AWS Cloud
/*
/api/*
website.com/*
AWS Amplify
Console
VPC
/auth
/activity
/delete
/search
/update
/view
/user
/purchase
/users
/map
.html
.css
.js
.jpg .mov .mp4 .png Amazon Aurora Runs MySQL query and
returns results to Lambda
Amazon
RDS Proxy
© 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved.
Lambda as anonymous functions for event driven microservices
Amazon API
Gateway
AWS Cloud
/*
/api/*
website.com/*
AWS Amplify
Console
/auth
/activity
/delete
/search
/update
/view
/user
/purchase
/users
/map
.html
.css
.js
.jpg .mov .mp4 .png
AWS Step Functions
Amazon EventBridge
Amazon SQS
Lambda functions send downstream to
AWS service or microservices
Amazon S3
© 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved.
Lambda as anonymous functions for event driven microservices
Amazon API
Gateway
Amazon Aurora
AWS Cloud
/*
/api/*
website.com/*
AWS Amplify
Console
VPC
/auth
/activity
/delete
/search
/update
/view
/user
/purchase
/users
/map
.html
.css
.js
.jpg .mov .mp4 .png
Amazon
RDS Proxy
Scalable front end is hosted on Amplify
Console with CI/CD pipeline built in
© 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved.
Lambda as anonymous functions for event driven microservices
Amazon API
Gateway
Amazon Aurora
AWS Cloud
/*
/api/*
website.com/*
AWS Amplify
Console
VPC
/auth
/activity
/delete
/search
/update
/view
/user
/purchase
/users
/map
.html
.css
.js
.jpg .mov .mp4 .png All services scale automatically as needed
to handle client requests.
Amazon
RDS Proxy
© 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved.
Getting Started
© 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved.
STARTWITHAFRAMEWORK
START WITH A FRAMEWORK
START WITH A FRAMEWORK
START WITH A FRAMEWORK
START WITH A FRAMEWORK
STARTWITHA
FRAMEWORK
STARTWITHAFRAMEWORK
STARTWITHAFRAMEWORK
STARTWITHAFRAMEWORK
STARTWITHAFRAMEWORK
STARTWITHAFRAMEWORK
START WITH A FRAMEWORK
START WITH A
FRAMEWORK!
STARTWITHAFRAMEWORK
START WITH A FRAMEWORK START WITH A FRAME
WORK START WITH A FRAMEWORK START WITH
A FRAMEWORK START WITH A FRAMEWORK
START WITH A FRAMEWORK START WITH A FR
STARTWITHAFRAMEWORK
STARTWITHAFRAMEWORK
STARTWITHAFRAMEWORK
STARTWITHAFRAMEWORK
STARTWITHAFRAMEWORK
STARTWITHAFRAMEWORK
STARTWITHAFRAMEWORK
STARTWITHAFRAMEWORK
STARTWITHAFRAMEWORK
STARTWITHAFRAMEWORK
!
© 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved.
AWS Cloud Development Kit
CDK application AWS
CloudFormati
on template
Stack(s)
Construct Construct
Resources
AWS
CloudFormatio
n
Amazon SQS AWS Lambda Amazon S3
bucket
Amazon
DynamoDB
© 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved.
Stack(s)
Serverless
Laravel
Serverless LAMP Stack Construct Library
CDK application AWS
CloudFormati
on template
Aurora RDS
Resources
AWS
CloudFormatio
n
© 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved.
© 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved.
What do I do next?
AWS Serverless PHP code samples on GitHub
https://bit.ly/3i9k4gG
https://github.com/brefphp/bref
Open source PHP Layer for Lambda
Community curated resources
https://bit.ly/3ga6xnf
© 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved.
Recap
The traditional LAMP Stack doesn’t scale well.
With serverless technologies, PHP developers can:
You can build serverless applications with PHP !
• Build scalable web applications without managing infrastructure
• Build decoupled microservices for backend applications
• Use mature, existing PHP Frameworks
• Move from prototype to production at speed.
• Compile their own custom runtime or use an open source layer
© 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved.
Thank you!
How was this talk?
Tell us.
@Benjamin_l_s
https://bit.ly/2QOyEh6
15 second feedback survey :

Más contenido relacionado

La actualidad más candente

Apache Web Server Architecture Chaitanya Kulkarni
Apache Web Server Architecture Chaitanya KulkarniApache Web Server Architecture Chaitanya Kulkarni
Apache Web Server Architecture Chaitanya Kulkarniwebhostingguy
 
OpenShift 4, the smarter Kubernetes platform
OpenShift 4, the smarter Kubernetes platformOpenShift 4, the smarter Kubernetes platform
OpenShift 4, the smarter Kubernetes platformKangaroot
 
CodeBuild CodePipeline CodeDeploy CodeCommit in AWS | Edureka
CodeBuild CodePipeline CodeDeploy CodeCommit in AWS | EdurekaCodeBuild CodePipeline CodeDeploy CodeCommit in AWS | Edureka
CodeBuild CodePipeline CodeDeploy CodeCommit in AWS | EdurekaEdureka!
 
AWS Cloud Computing Tutorial | Migrating on Premise VM to AWS Cloud | AWS Tra...
AWS Cloud Computing Tutorial | Migrating on Premise VM to AWS Cloud | AWS Tra...AWS Cloud Computing Tutorial | Migrating on Premise VM to AWS Cloud | AWS Tra...
AWS Cloud Computing Tutorial | Migrating on Premise VM to AWS Cloud | AWS Tra...Edureka!
 
Design Best Practices for High Availability in Load Balancing
Design Best Practices for High Availability in Load BalancingDesign Best Practices for High Availability in Load Balancing
Design Best Practices for High Availability in Load BalancingAvi Networks
 
(CMP201) All You Need To Know About Auto Scaling
(CMP201) All You Need To Know About Auto Scaling(CMP201) All You Need To Know About Auto Scaling
(CMP201) All You Need To Know About Auto ScalingAmazon Web Services
 
[오픈소스컨설팅]클라우드기반U2L마이그레이션 전략 및 고려사항
[오픈소스컨설팅]클라우드기반U2L마이그레이션 전략 및 고려사항[오픈소스컨설팅]클라우드기반U2L마이그레이션 전략 및 고려사항
[오픈소스컨설팅]클라우드기반U2L마이그레이션 전략 및 고려사항Ji-Woong Choi
 
AWS- Elastic load balancing
AWS- Elastic load balancingAWS- Elastic load balancing
AWS- Elastic load balancingAishwarya Sharma
 
AWS Summit Seoul 2023 | Confluent와 함께하는 실시간 데이터와 클라우드 여정
AWS Summit Seoul 2023 | Confluent와 함께하는 실시간 데이터와 클라우드 여정AWS Summit Seoul 2023 | Confluent와 함께하는 실시간 데이터와 클라우드 여정
AWS Summit Seoul 2023 | Confluent와 함께하는 실시간 데이터와 클라우드 여정Amazon Web Services Korea
 
AWS AutoScaling
AWS AutoScalingAWS AutoScaling
AWS AutoScalingMahesh Raj
 
AWS Presentation
AWS PresentationAWS Presentation
AWS Presentationjlechowicz
 
Optimización de costos en migraciones a la nube AWS
Optimización de costos en migraciones a la nube AWSOptimización de costos en migraciones a la nube AWS
Optimización de costos en migraciones a la nube AWSAmazon Web Services LATAM
 
Amazon RDS Proxy 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나
Amazon RDS Proxy 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나Amazon RDS Proxy 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나
Amazon RDS Proxy 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나Amazon Web Services Korea
 
[AWS Builders] AWS 네트워크 서비스 소개 및 사용 방법 - 김기현, AWS 솔루션즈 아키텍트
[AWS Builders] AWS 네트워크 서비스 소개 및 사용 방법 - 김기현, AWS 솔루션즈 아키텍트[AWS Builders] AWS 네트워크 서비스 소개 및 사용 방법 - 김기현, AWS 솔루션즈 아키텍트
[AWS Builders] AWS 네트워크 서비스 소개 및 사용 방법 - 김기현, AWS 솔루션즈 아키텍트Amazon Web Services Korea
 
RMG203 Cloud Infrastructure and Application Monitoring with Amazon CloudWatch...
RMG203 Cloud Infrastructure and Application Monitoring with Amazon CloudWatch...RMG203 Cloud Infrastructure and Application Monitoring with Amazon CloudWatch...
RMG203 Cloud Infrastructure and Application Monitoring with Amazon CloudWatch...Amazon Web Services
 
AWS Elastic Beanstalk 활용하여 수 분만에 코드 배포하기 (최원근, AWS 솔루션즈 아키텍트) :: AWS DevDay2018
AWS Elastic Beanstalk 활용하여 수 분만에 코드 배포하기 (최원근, AWS 솔루션즈 아키텍트) :: AWS DevDay2018AWS Elastic Beanstalk 활용하여 수 분만에 코드 배포하기 (최원근, AWS 솔루션즈 아키텍트) :: AWS DevDay2018
AWS Elastic Beanstalk 활용하여 수 분만에 코드 배포하기 (최원근, AWS 솔루션즈 아키텍트) :: AWS DevDay2018Amazon Web Services Korea
 
Security best practices the well-architected way - SDD318 - AWS re:Inforce 2019
Security best practices the well-architected way - SDD318 - AWS re:Inforce 2019 Security best practices the well-architected way - SDD318 - AWS re:Inforce 2019
Security best practices the well-architected way - SDD318 - AWS re:Inforce 2019 Amazon Web Services
 

La actualidad más candente (20)

Apache Web Server Architecture Chaitanya Kulkarni
Apache Web Server Architecture Chaitanya KulkarniApache Web Server Architecture Chaitanya Kulkarni
Apache Web Server Architecture Chaitanya Kulkarni
 
OpenShift 4, the smarter Kubernetes platform
OpenShift 4, the smarter Kubernetes platformOpenShift 4, the smarter Kubernetes platform
OpenShift 4, the smarter Kubernetes platform
 
CodeBuild CodePipeline CodeDeploy CodeCommit in AWS | Edureka
CodeBuild CodePipeline CodeDeploy CodeCommit in AWS | EdurekaCodeBuild CodePipeline CodeDeploy CodeCommit in AWS | Edureka
CodeBuild CodePipeline CodeDeploy CodeCommit in AWS | Edureka
 
AWS Cloud Computing Tutorial | Migrating on Premise VM to AWS Cloud | AWS Tra...
AWS Cloud Computing Tutorial | Migrating on Premise VM to AWS Cloud | AWS Tra...AWS Cloud Computing Tutorial | Migrating on Premise VM to AWS Cloud | AWS Tra...
AWS Cloud Computing Tutorial | Migrating on Premise VM to AWS Cloud | AWS Tra...
 
Design Best Practices for High Availability in Load Balancing
Design Best Practices for High Availability in Load BalancingDesign Best Practices for High Availability in Load Balancing
Design Best Practices for High Availability in Load Balancing
 
(CMP201) All You Need To Know About Auto Scaling
(CMP201) All You Need To Know About Auto Scaling(CMP201) All You Need To Know About Auto Scaling
(CMP201) All You Need To Know About Auto Scaling
 
[오픈소스컨설팅]클라우드기반U2L마이그레이션 전략 및 고려사항
[오픈소스컨설팅]클라우드기반U2L마이그레이션 전략 및 고려사항[오픈소스컨설팅]클라우드기반U2L마이그레이션 전략 및 고려사항
[오픈소스컨설팅]클라우드기반U2L마이그레이션 전략 및 고려사항
 
AWS- Elastic load balancing
AWS- Elastic load balancingAWS- Elastic load balancing
AWS- Elastic load balancing
 
AWS Summit Seoul 2023 | Confluent와 함께하는 실시간 데이터와 클라우드 여정
AWS Summit Seoul 2023 | Confluent와 함께하는 실시간 데이터와 클라우드 여정AWS Summit Seoul 2023 | Confluent와 함께하는 실시간 데이터와 클라우드 여정
AWS Summit Seoul 2023 | Confluent와 함께하는 실시간 데이터와 클라우드 여정
 
AWS ELB
AWS ELBAWS ELB
AWS ELB
 
Aws Autoscaling
Aws AutoscalingAws Autoscaling
Aws Autoscaling
 
AWS Route53
AWS Route53AWS Route53
AWS Route53
 
AWS AutoScaling
AWS AutoScalingAWS AutoScaling
AWS AutoScaling
 
AWS Presentation
AWS PresentationAWS Presentation
AWS Presentation
 
Optimización de costos en migraciones a la nube AWS
Optimización de costos en migraciones a la nube AWSOptimización de costos en migraciones a la nube AWS
Optimización de costos en migraciones a la nube AWS
 
Amazon RDS Proxy 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나
Amazon RDS Proxy 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나Amazon RDS Proxy 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나
Amazon RDS Proxy 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나
 
[AWS Builders] AWS 네트워크 서비스 소개 및 사용 방법 - 김기현, AWS 솔루션즈 아키텍트
[AWS Builders] AWS 네트워크 서비스 소개 및 사용 방법 - 김기현, AWS 솔루션즈 아키텍트[AWS Builders] AWS 네트워크 서비스 소개 및 사용 방법 - 김기현, AWS 솔루션즈 아키텍트
[AWS Builders] AWS 네트워크 서비스 소개 및 사용 방법 - 김기현, AWS 솔루션즈 아키텍트
 
RMG203 Cloud Infrastructure and Application Monitoring with Amazon CloudWatch...
RMG203 Cloud Infrastructure and Application Monitoring with Amazon CloudWatch...RMG203 Cloud Infrastructure and Application Monitoring with Amazon CloudWatch...
RMG203 Cloud Infrastructure and Application Monitoring with Amazon CloudWatch...
 
AWS Elastic Beanstalk 활용하여 수 분만에 코드 배포하기 (최원근, AWS 솔루션즈 아키텍트) :: AWS DevDay2018
AWS Elastic Beanstalk 활용하여 수 분만에 코드 배포하기 (최원근, AWS 솔루션즈 아키텍트) :: AWS DevDay2018AWS Elastic Beanstalk 활용하여 수 분만에 코드 배포하기 (최원근, AWS 솔루션즈 아키텍트) :: AWS DevDay2018
AWS Elastic Beanstalk 활용하여 수 분만에 코드 배포하기 (최원근, AWS 솔루션즈 아키텍트) :: AWS DevDay2018
 
Security best practices the well-architected way - SDD318 - AWS re:Inforce 2019
Security best practices the well-architected way - SDD318 - AWS re:Inforce 2019 Security best practices the well-architected way - SDD318 - AWS re:Inforce 2019
Security best practices the well-architected way - SDD318 - AWS re:Inforce 2019
 

Similar a The serverless LAMP stack

Unlocking Agility with the AWS Serverless Application Model (SAM) - AWS Summi...
Unlocking Agility with the AWS Serverless Application Model (SAM) - AWS Summi...Unlocking Agility with the AWS Serverless Application Model (SAM) - AWS Summi...
Unlocking Agility with the AWS Serverless Application Model (SAM) - AWS Summi...Amazon Web Services
 
20200520 - Como empezar a desarrollar aplicaciones serverless
20200520 - Como empezar a desarrollar aplicaciones serverless 20200520 - Como empezar a desarrollar aplicaciones serverless
20200520 - Como empezar a desarrollar aplicaciones serverless Marcia Villalba
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAmazon Web Services
 
Serverless Developer Experience I AWS Dev Day 2018
Serverless Developer Experience I AWS Dev Day 2018Serverless Developer Experience I AWS Dev Day 2018
Serverless Developer Experience I AWS Dev Day 2018AWS Germany
 
Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018
Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018
Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018Amazon Web Services
 
Serverless workshop with Amazon Web Services
Serverless workshop with Amazon Web ServicesServerless workshop with Amazon Web Services
Serverless workshop with Amazon Web ServicesTheFamily
 
The family - presentation on AWS Serverless
The family - presentation on AWS ServerlessThe family - presentation on AWS Serverless
The family - presentation on AWS ServerlessAlexandre Pinhel
 
20200803 - Serverless with AWS @ HELTECH
20200803 - Serverless with AWS @ HELTECH20200803 - Serverless with AWS @ HELTECH
20200803 - Serverless with AWS @ HELTECHMarcia Villalba
 
Serverless Beyond Functions - CTO Club Made in JLM
Serverless Beyond Functions - CTO Club Made in JLMServerless Beyond Functions - CTO Club Made in JLM
Serverless Beyond Functions - CTO Club Made in JLMBoaz Ziniman
 
Developing and Implementing APIs at Scale, the Servless Way - Ed Lima - AWS T...
Developing and Implementing APIs at Scale, the Servless Way - Ed Lima - AWS T...Developing and Implementing APIs at Scale, the Servless Way - Ed Lima - AWS T...
Developing and Implementing APIs at Scale, the Servless Way - Ed Lima - AWS T...Amazon Web Services
 
Serverless Development Deep Dive
Serverless Development Deep DiveServerless Development Deep Dive
Serverless Development Deep DiveAmazon Web Services
 
Leveraging serverless in fullstack development
Leveraging serverless in fullstack developmentLeveraging serverless in fullstack development
Leveraging serverless in fullstack developmentEric Johnson
 
Serverless APIs and you
Serverless APIs and youServerless APIs and you
Serverless APIs and youJames Beswick
 
AWS Serverless per startup: come innovare senza preoccuparsi dei server
AWS Serverless per startup: come innovare senza preoccuparsi dei serverAWS Serverless per startup: come innovare senza preoccuparsi dei server
AWS Serverless per startup: come innovare senza preoccuparsi dei serverAmazon Web Services
 
Getting started building your first serverless web application on AWS
Getting started building  your first serverless web application on AWSGetting started building  your first serverless web application on AWS
Getting started building your first serverless web application on AWSIoannis Polyzos
 
Getting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesGetting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesRohini Gaonkar
 
What can you do with Serverless in 2020
What can you do with Serverless in 2020What can you do with Serverless in 2020
What can you do with Serverless in 2020Boaz Ziniman
 
End AWS Lambda Cold Starts with Provisioned Concurrency
End AWS Lambda Cold Starts with Provisioned ConcurrencyEnd AWS Lambda Cold Starts with Provisioned Concurrency
End AWS Lambda Cold Starts with Provisioned ConcurrencyJulian Wood
 

Similar a The serverless LAMP stack (20)

Unlocking Agility with the AWS Serverless Application Model (SAM) - AWS Summi...
Unlocking Agility with the AWS Serverless Application Model (SAM) - AWS Summi...Unlocking Agility with the AWS Serverless Application Model (SAM) - AWS Summi...
Unlocking Agility with the AWS Serverless Application Model (SAM) - AWS Summi...
 
20200520 - Como empezar a desarrollar aplicaciones serverless
20200520 - Como empezar a desarrollar aplicaciones serverless 20200520 - Como empezar a desarrollar aplicaciones serverless
20200520 - Como empezar a desarrollar aplicaciones serverless
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Serverless Developer Experience I AWS Dev Day 2018
Serverless Developer Experience I AWS Dev Day 2018Serverless Developer Experience I AWS Dev Day 2018
Serverless Developer Experience I AWS Dev Day 2018
 
Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018
Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018
Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018
 
Serverless workshop with Amazon Web Services
Serverless workshop with Amazon Web ServicesServerless workshop with Amazon Web Services
Serverless workshop with Amazon Web Services
 
The family - presentation on AWS Serverless
The family - presentation on AWS ServerlessThe family - presentation on AWS Serverless
The family - presentation on AWS Serverless
 
20200803 - Serverless with AWS @ HELTECH
20200803 - Serverless with AWS @ HELTECH20200803 - Serverless with AWS @ HELTECH
20200803 - Serverless with AWS @ HELTECH
 
Serverless Beyond Functions - CTO Club Made in JLM
Serverless Beyond Functions - CTO Club Made in JLMServerless Beyond Functions - CTO Club Made in JLM
Serverless Beyond Functions - CTO Club Made in JLM
 
Developing and Implementing APIs at Scale, the Servless Way - Ed Lima - AWS T...
Developing and Implementing APIs at Scale, the Servless Way - Ed Lima - AWS T...Developing and Implementing APIs at Scale, the Servless Way - Ed Lima - AWS T...
Developing and Implementing APIs at Scale, the Servless Way - Ed Lima - AWS T...
 
Serverless Development Deep Dive
Serverless Development Deep DiveServerless Development Deep Dive
Serverless Development Deep Dive
 
Leveraging serverless in fullstack development
Leveraging serverless in fullstack developmentLeveraging serverless in fullstack development
Leveraging serverless in fullstack development
 
Meet AWS SAM
Meet AWS SAMMeet AWS SAM
Meet AWS SAM
 
Serverless APIs and you
Serverless APIs and youServerless APIs and you
Serverless APIs and you
 
AWS Serverless per startup: come innovare senza preoccuparsi dei server
AWS Serverless per startup: come innovare senza preoccuparsi dei serverAWS Serverless per startup: come innovare senza preoccuparsi dei server
AWS Serverless per startup: come innovare senza preoccuparsi dei server
 
Getting started building your first serverless web application on AWS
Getting started building  your first serverless web application on AWSGetting started building  your first serverless web application on AWS
Getting started building your first serverless web application on AWS
 
Getting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesGetting Started with Serverless Architectures
Getting Started with Serverless Architectures
 
What can you do with Serverless in 2020
What can you do with Serverless in 2020What can you do with Serverless in 2020
What can you do with Serverless in 2020
 
End AWS Lambda Cold Starts with Provisioned Concurrency
End AWS Lambda Cold Starts with Provisioned ConcurrencyEnd AWS Lambda Cold Starts with Provisioned Concurrency
End AWS Lambda Cold Starts with Provisioned Concurrency
 
Serverless Functions Deep Dive
Serverless Functions Deep DiveServerless Functions Deep Dive
Serverless Functions Deep Dive
 

Último

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 RobisonAnna Loughnan Colquhoun
 
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 2024The Digital Insurer
 
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 2024The Digital Insurer
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
[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.pdfhans926745
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
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 Nanonetsnaman860154
 
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 WorkerThousandEyes
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
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...Martijn de Jong
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 

Último (20)

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
 
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
 
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
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
[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
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
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
 
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
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
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...
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 

The serverless LAMP stack

  • 1. © 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved. Ben Smith, AWS Serverless September, 2020 The Serverless LAMP Stack © 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved.
  • 2. © 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved. About Me • Ben Smith • Twitter: @benjamin_l_s • PHP Web developer ~ 15 years • Serverless geek • Senior Developer Advocate – AWS Serverless • Previously: • Principal Web dev @ CA Technologies • Principal Program manager @ Broadcom • Workflow Automation & Service orchestration
  • 3. © 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved. The challenges with traditional PHP applications
  • 5. © 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved. Improved VPC networking for LambdaAWS Lambda Amazon API Gateway Amazon RDS Proxy Layers & Custom Runtime API Jul 2015 Nov 2014 Nov 2017 Nov 2018 Sep 2019 Nov 2019 Amazon Aurora Serverless Why Now?
  • 6. © 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved. Lambda API Gateway PHP MySQL The Serverless LAMP stack
  • 8. © 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved. What is serverless? No infrastructure provisioning, no management Automatic scaling Pay for value Highly available and secure © 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved. © 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved.
  • 9. © 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved.© 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved. Event-driven compute Functions as a service Serverless FaaS © 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved.
  • 10. © 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved. Serverless Applications Event source Services (anything) Changes in data state Requests to endpoints Changes in Resource state Function Node.js Python Java Go Ruby .Net (C#/Powershell) Custom Runtime API © 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved. © 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved.
  • 11. Anatomy of an AWS Lambda function Handler () function Function to be executed upon invocation Event object Data sent during Lambda function Invocation Context object Methods available to interact with runtime information (request ID, log group, more) © 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved.
  • 12. Anatomy of an AWS Lambda function Your function Language runtime Execution environment Lambda service Compute substrate
  • 14. © 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved. APIs are the front door to your backend services
  • 15. Amazon API Gateway Websites Services Amazon API Gateway API Gateway Cache Public Endpoints on Amazon EC2 Amazon CloudWatch Monitoring All publicly accessible endpoints Lambda Functions Endpoints in VPC Applications & Services in VPC Any other AWS service Fully-managed CloudFront Distribution Edge-OptimizedRegionalPrivate Applications & Services in the same AWS Region AWS Direct Connect On-premises HTTPS Mobile client Customer-managed CloudFront Distribution
  • 16. © 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved. Amazon API Gateway Create a unified API frontend for multiple micro- services Authenticate and authorize requests to a backend DDoS protection and throttling for your backend Throttle, meter, and monetize API usage by third- party developers
  • 18. Amazon Aurora • MySQL and PostgreSQL compatible relational database built for the cloud • Performance and availability of commercial-grade databases at 1/10th the cost Performance & scalability 5x throughput of standard MySQL and 3x of standard PostgreSQL; scale-out up to15 read replicas Availability & durability Fault-tolerant, self-healing storage; six copies of data across three AZs; continuous backup to S3 Highly secure Network isolation, encryption at rest/transit Fully managed Managed by RDS: no hardware provisioning, software patching, setup, configuration, or backups 70,369 Gigabytes
  • 19. Pool and share application scaling availability DB failover times data security access controls Fully managed compatible Amazon RDS Proxy Fully managed, highly available database proxy feature for Amazon RDS. Pools and shares DB connections to make applications more scalable, resilient to database failures, and secure.
  • 20. © 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved. Amazon RDS Proxy AWS Lambda AWS Identity and Access Management AWS Secrets Manager Amazon Aurora Use Trust Policy Create Token Get DB Credentials Open Connection Return Token Use Connection Pool Return Connection ID
  • 22. © 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved. AWS Lambda wants to make it easy for developers build applications. Managing the language runtimes for our customers helps make it easier to do this!
  • 23. Currently supported languages and versions Node.js 12.x Node.js 10.x Python 2.7 Python 3.8 Python 3.7 Python 3.7 Python 2.7 Ruby 2.7 Ruby 2.5 Java 11 Java 8 .Net Core 3.1 (C#) .Net Core 2. Go 1.x These represent the majority of what our customers are writing applications in today...
  • 24. ~ 80% of the web runs on PHP . https://w3techs.com/technologies/overview/programming_language
  • 25. © 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved. Lambda Custom Runtimes Bring any Linux compatible language runtime Powered by the Runtime API Custom runtimes distributed as “layers” Rule Stack
  • 26. © 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved. Lambda Layers Lets functions easily share code: Upload layer once, reference within any function Layer can be anything: dependencies, training data, configuration files, etc Promote separation of responsibilities, lets developers iterate faster on writing business logic Built in support for secure sharing by ecosystem
  • 27. © 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved. Lambda Runtime API You can select a custom runtime in the console (provided in the API/SDKs/CLI) as the runtime of a Lambda function With this selection, the function must include (in its code or in a layer) an executable file called bootstrap • The runtime bootstrap is responsible for the communication between your code and the Lambda environment • Your code can use any programming language
  • 28. © 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved. Lambda Environment Execute Bootstrap Execute handler code Download your code Start new Execution environment Event source The bootstrap executable acts as a bridge between the Runtime HTTP API and the Function to be executed Bootstrap.php Lambda Runtime API Lambda Function
  • 29. © 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved. Lambda Environment Bootstrap.php Process events/headers Clean up Initialize & Invoke function Response/Error handling Bootstrap needs to manage response/error handling, context creation and function execution Execute Bootstrap Execute handler code Download your code Start new Execution environment Event source Lambda Runtime API Lambda Function
  • 30. © 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved. Information on the bootstrap file and the function handler are shared as environment variables The host and port of the runtime API. The handler location configured on the function. The directory that contains the function code $_ENV[‘AWS_LAMBDA_RUNTIME_API’] $_ENV[‘_HANDLER’] $_ENV[‘LAMBDA_TASK_ROOT’] Lambda Environment Execute Bootstrap Execute handler code Download your code Start new Execution environment Event source Bootstrap.php Lambda Runtime API Lambda Function
  • 31. © 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved. Bootstrap File Process next request Handler Function name from $_ENV Return response/error Interact with runtime API
  • 32. © 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved. PHP versions, modules and package dependencies
  • 33. © 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved. Compile the required version of PHP in an Amazon Linux environment Include any extensions with the PHP configuration PHP versions and extensions Package the PHP binary and bootstrap file together into a file Publish the file to a layer Add the Layer to your Lambda function
  • 34. © 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved. Libraries & dependencies Install Composer, Install any additional libraries, Package the dependencies into a binary. Use the AWS CLI to publish a layer from the binary. Add the vendor Layer to your Lambda function
  • 35. © 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved. Libraries & dependencies in your Lambda code use statement imports Classes before the function Handler Use the imported library inside the function handler
  • 36. © 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved. Libraries & dependencies in your Lambda code use statement imports Classes before the function Handler Use the imported library inside the function handler
  • 37. © 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved. Open Source Runtimes for PHP Can find more here: https://github.com/mthenw/awesome-layers ! Open source, production-ready PHP runtimes for AWS Lambda Deploy as a layer with Serverless Application Model (SAM) or Serverless Framework
  • 38. © 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved. Bref’s php-fpm layer PHP-FPM is a server implementing the FastCGI protocol, developed by the PHP core team. It is traditionally used with HTTP servers like Apache or NGINX to manage inbound HTTP requests for PHP applications at high loads. Single process per HTTP request Returning HTTP responses OPcode cache optimizations Memory cache optimizations Database persistent connections $_GET $_POST $_ENV $_SERVER$_REQUEST $_GLOBALS Bref’s implementation of php-FPM handles:
  • 39. © 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved. AWS Lambda environment Amazon API Gateway </> bootstrap PHP-FPM Index.php FastCGI request FastCGI response API Gateway request API Gateway response AWS Cloud HTTP Gateway request HTTP Gateway response Website.com API Gateway receives the HTTP request and invokes AWS Lambda.
  • 40. © 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved. AWS Lambda environment Amazon API Gateway </> bootstrap PHP-FPM Index.php FastCGI request FastCGI response API Gateway request API Gateway response AWS Cloud HTTP Gateway request HTTP Gateway response Website.com Bref bootstrap executes.
  • 41. © 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved. AWS Lambda environment Amazon API Gateway </> bootstrap PHP-FPM Index.php FastCGI request FastCGI response API Gateway request API Gateway response AWS Cloud HTTP Gateway request HTTP Gateway response Website.com Bootstrap converts API gateway format to FastCGI
  • 42. © 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved. AWS Lambda environment Amazon API Gateway </> bootstrap PHP-FPM Index.php FastCGI request FastCGI response API Gateway request API Gateway response AWS Cloud HTTP Gateway request HTTP Gateway response Website.com Boostrap calls PHP-FPM
  • 43. © 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved. AWS Lambda environment Amazon API Gateway </> bootstrap PHP-FPM Index.php FastCGI request FastCGI response API Gateway request API Gateway response AWS Cloud HTTP Gateway request HTTP Gateway response Website.com Function handler returns response
  • 44. © 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved. AWS Lambda environment Amazon API Gateway </> bootstrap PHP-FPM Index.php FastCGI request FastCGI response API Gateway request API Gateway response AWS Cloud HTTP Gateway request HTTP Gateway response Website.com Response format converted
  • 45. © 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved. AWS Lambda environment Amazon API Gateway </> bootstrap PHP-FPM Index.php FastCGI request FastCGI response API Gateway request API Gateway response AWS Cloud HTTP Gateway request HTTP Gateway response Website.com Bref returns the response to API Gateway, which returns the HTTP response to the client.
  • 46. © 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved. Lambda API Gateway PHP MySQL
  • 47. © 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved. MySQL API Gateway Lambda PHP AWS Lambda Amazon Aurora AWS Cloud
  • 48. © 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved. Amazon API Gateway AWS Lambda Amazon Aurora Amazon CloudFront AWS Cloud Amazon Simple Storage Service /assets/* /* website.com/* VPC Lambda as a scalable web server
  • 49. © 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved. Amazon API Gateway AWS Lambda Amazon Aurora Amazon CloudFront AWS Cloud Amazon S3 /assets/* /* website.com/* VPC Lambda as a scalable web server
  • 50. © 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved. API Gateway acts as the HTTP router The Lambda function handler is invoked when an HTTP request comes in - Similar to the traditional index.php Catch All routing API Gateway to catch all requests Amazon API Gateway / /* AWS Lambda
  • 51. Amazon API Gateway / /* API Gateway Rule config apache2 config file public/.htaccess API Gateway routing { AWS Lambda .
  • 52. © 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved. Amazon Cloud Front CDN to Cache Assets and web pages CloudFront forwards HTTP requests to "Origins" (API Gateway/Lambda, S3, etc.) based on "Cache Behaviours". A cache behaviour can match a specific URL pattern, and can have a specific caching configuration Run popular frameworks on Bref in this way. Add Caching for static assets Amazon API Gateway AWS Lambda /assets/* Amazon CloudFront
  • 53. © 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved. Amazon API Gateway Amazon Aurora AWS Cloud /* /api/* website.com/* AWS Amplify Console VPC Multiple Lambda functions for event driven microservices /auth /activity /delete /search /update /view /user /purchase /users /map .html .css .js .jpg .mov .mp4 .png Amazon RDS Proxy
  • 54. © 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved. Lambda as anonymous functions for event driven microservices Amazon API Gateway Amazon Aurora AWS Cloud /* /api/* website.com/* AWS Amplify Console VPC /auth /activity /delete /search /update /view /user /purchase /users /map .html .css .js .jpg .mov .mp4 .png Front end application makes requests to a resource generated by API Gateway Amazon RDS Proxy
  • 55. © 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved. Lambda as anonymous functions for event driven microservices Amazon API Gateway Amazon Aurora AWS Cloud /* /api/* website.com/* AWS Amplify Console VPC /auth /activity /delete /search /update /view /user /purchase /users /map .html .css .js .jpg .mov .mp4 .png API Gateway routes the request and invokes Lambda function Amazon RDS Proxy
  • 56. © 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved. Lambda as anonymous functions for event driven microservices Amazon API Gateway Amazon Aurora AWS Cloud /* /api/* website.com/* AWS Amplify Console VPC /auth /activity /delete /search /update /view /user /purchase /users /map .html .css .js .jpg .mov .mp4 .png Lambda function processes request using PHP custom runtime. Amazon RDS Proxy
  • 57. © 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved. Lambda as anonymous functions for event driven microservices Amazon API Gateway Amazon Aurora AWS Cloud /* /api/* website.com/* AWS Amplify Console VPC /auth /activity /delete /search /update /view /user /purchase /users /map .html .css .js .jpg .mov .mp4 .png Amazon RDS Proxy Lambda Uses RDS Proxy to pool and manage DB connections
  • 58. © 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved. Lambda as anonymous functions for event driven microservices Amazon API Gateway Amazon Aurora AWS Cloud /* /api/* website.com/* AWS Amplify Console VPC /auth /activity /delete /search /update /view /user /purchase /users /map .html .css .js .jpg .mov .mp4 .png Amazon Aurora Runs MySQL query and returns results to Lambda Amazon RDS Proxy
  • 59. © 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved. Lambda as anonymous functions for event driven microservices Amazon API Gateway AWS Cloud /* /api/* website.com/* AWS Amplify Console /auth /activity /delete /search /update /view /user /purchase /users /map .html .css .js .jpg .mov .mp4 .png AWS Step Functions Amazon EventBridge Amazon SQS Lambda functions send downstream to AWS service or microservices Amazon S3
  • 60. © 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved. Lambda as anonymous functions for event driven microservices Amazon API Gateway Amazon Aurora AWS Cloud /* /api/* website.com/* AWS Amplify Console VPC /auth /activity /delete /search /update /view /user /purchase /users /map .html .css .js .jpg .mov .mp4 .png Amazon RDS Proxy Scalable front end is hosted on Amplify Console with CI/CD pipeline built in
  • 61. © 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved. Lambda as anonymous functions for event driven microservices Amazon API Gateway Amazon Aurora AWS Cloud /* /api/* website.com/* AWS Amplify Console VPC /auth /activity /delete /search /update /view /user /purchase /users /map .html .css .js .jpg .mov .mp4 .png All services scale automatically as needed to handle client requests. Amazon RDS Proxy
  • 62. © 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved. Getting Started
  • 63. © 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved. STARTWITHAFRAMEWORK START WITH A FRAMEWORK START WITH A FRAMEWORK START WITH A FRAMEWORK START WITH A FRAMEWORK STARTWITHA FRAMEWORK STARTWITHAFRAMEWORK STARTWITHAFRAMEWORK STARTWITHAFRAMEWORK STARTWITHAFRAMEWORK STARTWITHAFRAMEWORK START WITH A FRAMEWORK START WITH A FRAMEWORK! STARTWITHAFRAMEWORK START WITH A FRAMEWORK START WITH A FRAME WORK START WITH A FRAMEWORK START WITH A FRAMEWORK START WITH A FRAMEWORK START WITH A FRAMEWORK START WITH A FR STARTWITHAFRAMEWORK STARTWITHAFRAMEWORK STARTWITHAFRAMEWORK STARTWITHAFRAMEWORK STARTWITHAFRAMEWORK STARTWITHAFRAMEWORK STARTWITHAFRAMEWORK STARTWITHAFRAMEWORK STARTWITHAFRAMEWORK STARTWITHAFRAMEWORK !
  • 64. © 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved. AWS Cloud Development Kit CDK application AWS CloudFormati on template Stack(s) Construct Construct Resources AWS CloudFormatio n Amazon SQS AWS Lambda Amazon S3 bucket Amazon DynamoDB
  • 65. © 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved. Stack(s) Serverless Laravel Serverless LAMP Stack Construct Library CDK application AWS CloudFormati on template Aurora RDS Resources AWS CloudFormatio n
  • 66. © 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved.
  • 67. © 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved. What do I do next? AWS Serverless PHP code samples on GitHub https://bit.ly/3i9k4gG https://github.com/brefphp/bref Open source PHP Layer for Lambda Community curated resources https://bit.ly/3ga6xnf
  • 68. © 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved. Recap The traditional LAMP Stack doesn’t scale well. With serverless technologies, PHP developers can: You can build serverless applications with PHP ! • Build scalable web applications without managing infrastructure • Build decoupled microservices for backend applications • Use mature, existing PHP Frameworks • Move from prototype to production at speed. • Compile their own custom runtime or use an open source layer
  • 69. © 2020, Amazon Web Services, inc. or its Affiliates. All rights reserved. Thank you! How was this talk? Tell us. @Benjamin_l_s https://bit.ly/2QOyEh6 15 second feedback survey :