SlideShare a Scribd company logo
Wordpress Deployment on
AWS
Nicolas El Khoury
nicolas.kh4@gmail.com
+961 70 146 509
Background Information
● BE Computer Engineering - Lebanese American University
● Masc Information Systems Security - Concordia University
○ Publications in the areas of cloud computing, NFV, SDN.
● Lead DevOps Engineer - Designer-24
● Community Lead - Amazon Web Services Beirut User Group
2
Outline
● Introduction to Cloud Computing.
● Deploying Wordpress on Amazon LightSail.
● Deploying Wordpress on a Linux Server.
● Designing a Secure, Robust, and Scalable architecture for WordPress
applications on AWS. 3
Introduction to Cloud Computing.
4
5
Types of Cloud Computing Services
● Infrastructure as a Service: Storage Space, Virtual Machines, Bandwidth.
● Platform as a Service: Operating Systems, Programming Languages, etc.
● Software as a Services: Any Software you access online (iTunes, Google
Sheets, booking.com, uber, Designer-24, cheapoair).
6
Advantages of Cloud Computing
● Less Cost: The services are free from capital expenditure.
● 24 X 7 Availability: Servers are always running.
● Automated Updates on Software
● Flexibility in Capacity (Scalability)
● Pay for what you use only
7
Deploying Wordpress on Amazon
Lightsail
8
AWS Lightsail
● AWS Service offering a ready-made environment for multiple applications
(Wordpress, Joomla, Magento, etc).
● Targets users with no knowledge in system administration or people who don’t
want to worry about servers.
● Configures all the environment automatically.
● Inexpensive!
9
Lightsail in the Background
● Launch a Virtual Machine.
● Attach a Disk.
● Manage Permissions (IAM).
● Create a Security Group.
● Setup DNS.
● Create Static IP.
● Install all the components for wordpress (Web server, Database, PHP,
Wordpress app).
10
Lightsail Pricing
11
Setup Wordpress on Lightsail Demo
12
Advantages of Lightsail
● Simplified UI: runs through preinstalled software with the server.
● Speed: Ability to spin up a server in minutes.
● Affordability: Ability to run a server for $3.5/month.
● Reliability: Deployed on a leading cloud platform. Chances of downtime are
very small.
13
Disadvantages of Lightsail
● Predefined Configuration: Inability to choose different components
(webserver, database, etc).
● SPOF: Single point of failure.
● One application per server.
● Not suitable for enterprise grade applications.
14
Deploying Wordpress on a Linux Server
15
Wordpress Environment
● Database: Store collection of information.
● Wordpress Framework.
● PHP Framework: Serve PHP code.
● Web Server: serve the files that form Web pages to users.
16
Install a Wordpress Environment on Wordpress
● Install a Database Management System.
○ Create a Database, and a username and password.
● Install PHP.
● Install Nginx (Web Server).
● Configure Nginx.
● Configure wp-config.php
17
Wp-config.php configuration
define( 'DB_NAME', 'wordpress' ); //name of the database
define( 'DB_USER', 'wordpressuser' ); //username
define( 'DB_PASSWORD', 'test' ); //password
define( 'DB_HOST', 'localhost' ); //mysql hostname
18
Nginx Configuration
server {
listen 80; //listen on port 80
root /var/www/html/wordpress; //the root directory for the wordpress app
index index.php; //the index file (main entry point)
server_name www.mylocalwp.com mylocalwp.com; //the domain name
location / { //defines how requests are processed for different URIs and resources
try_files $uri $uri/ /index.php?$args;
}
location ~ .php$ { //serve the php request
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.1-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
19
Demo
20
Custom Deployment Advantages
● Custom components.
● Better Design flexibility.
● Multiple applications on one server.
21
Custom Deployment Disadvantages
● Not suitable for production.
● Unscalable.
● Single point of failure.
● Improper environment isolation.
22
Building the Infrastructure on AWS
23
Architecture Considerations
● Security.
● Availability (fault Tolerance).
● Scalability.
● Visibility: Logging, monitoring, tracing.
24
Virtual Private Cluster
25
Launch the Instances
26
Load Balancing
27
Architecture Considerations
● Security.
● Availability (fault Tolerance).
● Scalability.
● Visibility: Logging, monitoring, tracing.
28
Security
● VPC Level:
○ Ingress Traffic Control: Network traffic originating from outside of the VPC
○ Egress Traffic Control: Network traffic leaving a VPC
● Load Balancer Level:
○ Security Groups: A security group acts as a virtual stateful firewall that controls the
traffic
○ Host/Path/Port based Routing
● Instances Level:
○ Security Groups
○ Deployed in private subnets
29
AWS ALB Routing Policies
30
Example of AWS ALB Routing Policies, AWS Documentation
Availability
● Instance Level: Launching replicas
● Load Balancer Level: managed by AWS
● Availability Zone: Spreading instances across multiple availability zones
31
Scalability
● Ability to scale instances on demand, automatically, with a few clicks of
a button.
32
Visibility
● Logging: AWSLogs driver
● Monitoring:
○ Instances: CPU Utilization, Network in, Network Out, etc.
○ Load Balancer: Target Response Time, 4XX Count, 5XX Count, etc.
● Tracing:
○ The load balancer saves important information of each request.
33
Cost Estimation
AWS Cost Calculator
34
Published Articles
● Proposed Infrastructure Setup on AWS for a Microservices
Architecture.
○ Chapter 1: Introduction and Design Considerations
○ Chapter 2: Overview of the Infrastructure and Components
○ Chapter 3: Deployment Strategy for Microservices
35

More Related Content

What's hot

Get acquainted with the new ASP.Net 5
Get acquainted with the new ASP.Net 5Get acquainted with the new ASP.Net 5
Get acquainted with the new ASP.Net 5
Suyati Technologies
 
Linux Hosting Training Course Level 1-2
Linux Hosting Training Course Level 1-2Linux Hosting Training Course Level 1-2
Linux Hosting Training Course Level 1-2
Ramy Allam
 
Linux Hosting Training Course [Level 1] - Lec 8
Linux Hosting Training Course [Level 1] - Lec 8Linux Hosting Training Course [Level 1] - Lec 8
Linux Hosting Training Course [Level 1] - Lec 8
Ramy Allam
 
PaaS options for .NET
PaaS options for .NETPaaS options for .NET
PaaS options for .NET
Slawomir Dorzak
 
Ruby on rails
Ruby on railsRuby on rails
Ruby on rails
Batzorigt Rentsen
 
Does Hypervisor matter in OpenStack
Does Hypervisor matter in OpenStackDoes Hypervisor matter in OpenStack
Does Hypervisor matter in OpenStack
Nermina Miller
 
1 - demo lab using vmware workstation
1 - demo lab using vmware workstation1 - demo lab using vmware workstation
1 - demo lab using vmware workstation
Mangat R K
 
Don't worry with bower
Don't worry with bowerDon't worry with bower
Don't worry with bower
Frank van der Linden
 
OpenNebula TechDay Waterloo 2015 - Private cloud at black berry
OpenNebula TechDay Waterloo 2015 - Private cloud at black berryOpenNebula TechDay Waterloo 2015 - Private cloud at black berry
OpenNebula TechDay Waterloo 2015 - Private cloud at black berry
OpenNebula Project
 
How we build Videome
How we build VideomeHow we build Videome
How we build Videome
Kane Zhu
 
Business Apps with the Universal Windows Platform
Business Apps with the Universal Windows PlatformBusiness Apps with the Universal Windows Platform
Business Apps with the Universal Windows Platform
Christian Nagel
 
Bbva bank on Open Stack
Bbva bank on Open StackBbva bank on Open Stack
Bbva bank on Open Stack
Jose Maria San Jose Juarez
 
Let's server your Data
Let's server your DataLet's server your Data
Let's server your Data
Frank van der Linden
 
OpenNebulaConf2018 - Our Journey to OpenNebula - Germán Gutierrez - Booking.com
OpenNebulaConf2018 - Our Journey to OpenNebula - Germán Gutierrez - Booking.comOpenNebulaConf2018 - Our Journey to OpenNebula - Germán Gutierrez - Booking.com
OpenNebulaConf2018 - Our Journey to OpenNebula - Germán Gutierrez - Booking.com
OpenNebula Project
 
OpenNebulaConf2019 - Crytek: A Video gaming Edge Implementation "on the shoul...
OpenNebulaConf2019 - Crytek: A Video gaming Edge Implementation "on the shoul...OpenNebulaConf2019 - Crytek: A Video gaming Edge Implementation "on the shoul...
OpenNebulaConf2019 - Crytek: A Video gaming Edge Implementation "on the shoul...
OpenNebula Project
 
Kubernetes, Terraform, Vault, and Consul
Kubernetes, Terraform, Vault, and ConsulKubernetes, Terraform, Vault, and Consul
Kubernetes, Terraform, Vault, and Consul
CloudOps2005
 
Introduction to monix coeval
Introduction to monix coevalIntroduction to monix coeval
Introduction to monix coeval
Knoldus Inc.
 
Using linux to manage the entire rack
Using linux to manage the entire rackUsing linux to manage the entire rack
Using linux to manage the entire rack
Cumulus Networks
 
Fun with windows services
Fun with windows servicesFun with windows services
Fun with windows services
Mike Melusky
 
MRA AMA Part 8: Secure Inter-Service Communication
MRA AMA Part 8: Secure Inter-Service CommunicationMRA AMA Part 8: Secure Inter-Service Communication
MRA AMA Part 8: Secure Inter-Service Communication
NGINX, Inc.
 

What's hot (20)

Get acquainted with the new ASP.Net 5
Get acquainted with the new ASP.Net 5Get acquainted with the new ASP.Net 5
Get acquainted with the new ASP.Net 5
 
Linux Hosting Training Course Level 1-2
Linux Hosting Training Course Level 1-2Linux Hosting Training Course Level 1-2
Linux Hosting Training Course Level 1-2
 
Linux Hosting Training Course [Level 1] - Lec 8
Linux Hosting Training Course [Level 1] - Lec 8Linux Hosting Training Course [Level 1] - Lec 8
Linux Hosting Training Course [Level 1] - Lec 8
 
PaaS options for .NET
PaaS options for .NETPaaS options for .NET
PaaS options for .NET
 
Ruby on rails
Ruby on railsRuby on rails
Ruby on rails
 
Does Hypervisor matter in OpenStack
Does Hypervisor matter in OpenStackDoes Hypervisor matter in OpenStack
Does Hypervisor matter in OpenStack
 
1 - demo lab using vmware workstation
1 - demo lab using vmware workstation1 - demo lab using vmware workstation
1 - demo lab using vmware workstation
 
Don't worry with bower
Don't worry with bowerDon't worry with bower
Don't worry with bower
 
OpenNebula TechDay Waterloo 2015 - Private cloud at black berry
OpenNebula TechDay Waterloo 2015 - Private cloud at black berryOpenNebula TechDay Waterloo 2015 - Private cloud at black berry
OpenNebula TechDay Waterloo 2015 - Private cloud at black berry
 
How we build Videome
How we build VideomeHow we build Videome
How we build Videome
 
Business Apps with the Universal Windows Platform
Business Apps with the Universal Windows PlatformBusiness Apps with the Universal Windows Platform
Business Apps with the Universal Windows Platform
 
Bbva bank on Open Stack
Bbva bank on Open StackBbva bank on Open Stack
Bbva bank on Open Stack
 
Let's server your Data
Let's server your DataLet's server your Data
Let's server your Data
 
OpenNebulaConf2018 - Our Journey to OpenNebula - Germán Gutierrez - Booking.com
OpenNebulaConf2018 - Our Journey to OpenNebula - Germán Gutierrez - Booking.comOpenNebulaConf2018 - Our Journey to OpenNebula - Germán Gutierrez - Booking.com
OpenNebulaConf2018 - Our Journey to OpenNebula - Germán Gutierrez - Booking.com
 
OpenNebulaConf2019 - Crytek: A Video gaming Edge Implementation "on the shoul...
OpenNebulaConf2019 - Crytek: A Video gaming Edge Implementation "on the shoul...OpenNebulaConf2019 - Crytek: A Video gaming Edge Implementation "on the shoul...
OpenNebulaConf2019 - Crytek: A Video gaming Edge Implementation "on the shoul...
 
Kubernetes, Terraform, Vault, and Consul
Kubernetes, Terraform, Vault, and ConsulKubernetes, Terraform, Vault, and Consul
Kubernetes, Terraform, Vault, and Consul
 
Introduction to monix coeval
Introduction to monix coevalIntroduction to monix coeval
Introduction to monix coeval
 
Using linux to manage the entire rack
Using linux to manage the entire rackUsing linux to manage the entire rack
Using linux to manage the entire rack
 
Fun with windows services
Fun with windows servicesFun with windows services
Fun with windows services
 
MRA AMA Part 8: Secure Inter-Service Communication
MRA AMA Part 8: Secure Inter-Service CommunicationMRA AMA Part 8: Secure Inter-Service Communication
MRA AMA Part 8: Secure Inter-Service Communication
 

Similar to Wordpress deployment on aws

Introduction to AWS & Cloud Services
Introduction to AWS & Cloud ServicesIntroduction to AWS & Cloud Services
Introduction to AWS & Cloud Services
Ann Venkataraman
 
Serverless Computing
Serverless ComputingServerless Computing
Serverless Computing
Damian T. Gordon
 
Migrating .NET Apps to CF, A Strategy for Enterprises
Migrating .NET Apps to CF, A Strategy for EnterprisesMigrating .NET Apps to CF, A Strategy for Enterprises
Migrating .NET Apps to CF, A Strategy for Enterprises
VMware Tanzu
 
Morning Coffee - Windows Server 2016
Morning Coffee - Windows Server 2016Morning Coffee - Windows Server 2016
Morning Coffee - Windows Server 2016
Primend
 
12-Factor Apps
12-Factor Apps12-Factor Apps
Rise of the machines: Continuous Delivery at SEEK - YOW! Night Summary Slides
Rise of the machines: Continuous Delivery at SEEK - YOW! Night Summary SlidesRise of the machines: Continuous Delivery at SEEK - YOW! Night Summary Slides
Rise of the machines: Continuous Delivery at SEEK - YOW! Night Summary Slides
DiUS
 
Serverless Toronto User Group - Let's go Serverless!
Serverless Toronto User Group - Let's go Serverless!Serverless Toronto User Group - Let's go Serverless!
Serverless Toronto User Group - Let's go Serverless!
Daniel Zivkovic
 
Schlomo Schapiro - Why I like to use the proprietary Cloud services without f...
Schlomo Schapiro - Why I like to use the proprietary Cloud services without f...Schlomo Schapiro - Why I like to use the proprietary Cloud services without f...
Schlomo Schapiro - Why I like to use the proprietary Cloud services without f...
Schlomo Schapiro
 
Windows Server 2012 R2 Jump Start - WEB
Windows Server 2012 R2 Jump Start - WEBWindows Server 2012 R2 Jump Start - WEB
Windows Server 2012 R2 Jump Start - WEBPaulo Freitas
 
API Microservices with Node.js and Docker
API Microservices with Node.js and DockerAPI Microservices with Node.js and Docker
API Microservices with Node.js and Docker
Apigee | Google Cloud
 
Introduction to Virtualization.pptx
Introduction to Virtualization.pptxIntroduction to Virtualization.pptx
Introduction to Virtualization.pptx
latifdhalait
 
Cloud ppt
Cloud pptCloud ppt
Cloud ppt
Manoj Jhawar
 
InfoSec 2011: Crash Course Open Source Cloud Computing
InfoSec 2011: Crash Course Open Source Cloud ComputingInfoSec 2011: Crash Course Open Source Cloud Computing
InfoSec 2011: Crash Course Open Source Cloud Computing
Mark Hinkle
 
Updates to Apache CloudStack and LINBIT SDS
Updates to Apache CloudStack and LINBIT SDSUpdates to Apache CloudStack and LINBIT SDS
Updates to Apache CloudStack and LINBIT SDS
ShapeBlue
 
Open Audit
Open AuditOpen Audit
Open Audit
ncspa
 
VMworld 2014: The Software-Defined Datacenter, VMs, and Containers
VMworld 2014: The Software-Defined Datacenter, VMs, and ContainersVMworld 2014: The Software-Defined Datacenter, VMs, and Containers
VMworld 2014: The Software-Defined Datacenter, VMs, and Containers
VMworld
 
Monitoring hybrid container environments
Monitoring hybrid container environments Monitoring hybrid container environments
Monitoring hybrid container environments
Samuel Vandamme
 
ISC Cloud'13 - Hands-On Tutorial on “Building Your Cloud for HPC, Here & Now,...
ISC Cloud'13 - Hands-On Tutorial on “Building Your Cloud for HPC, Here & Now,...ISC Cloud'13 - Hands-On Tutorial on “Building Your Cloud for HPC, Here & Now,...
ISC Cloud'13 - Hands-On Tutorial on “Building Your Cloud for HPC, Here & Now,...OpenNebula Project
 
EGI TF 2013 / Cloud Interoperability Week – Hands-On Tutorial
EGI TF 2013 / Cloud Interoperability Week – Hands-On TutorialEGI TF 2013 / Cloud Interoperability Week – Hands-On Tutorial
EGI TF 2013 / Cloud Interoperability Week – Hands-On TutorialOpenNebula Project
 

Similar to Wordpress deployment on aws (20)

Introduction to AWS & Cloud Services
Introduction to AWS & Cloud ServicesIntroduction to AWS & Cloud Services
Introduction to AWS & Cloud Services
 
Serverless Computing
Serverless ComputingServerless Computing
Serverless Computing
 
Migrating .NET Apps to CF, A Strategy for Enterprises
Migrating .NET Apps to CF, A Strategy for EnterprisesMigrating .NET Apps to CF, A Strategy for Enterprises
Migrating .NET Apps to CF, A Strategy for Enterprises
 
cc.pptx
cc.pptxcc.pptx
cc.pptx
 
Morning Coffee - Windows Server 2016
Morning Coffee - Windows Server 2016Morning Coffee - Windows Server 2016
Morning Coffee - Windows Server 2016
 
12-Factor Apps
12-Factor Apps12-Factor Apps
12-Factor Apps
 
Rise of the machines: Continuous Delivery at SEEK - YOW! Night Summary Slides
Rise of the machines: Continuous Delivery at SEEK - YOW! Night Summary SlidesRise of the machines: Continuous Delivery at SEEK - YOW! Night Summary Slides
Rise of the machines: Continuous Delivery at SEEK - YOW! Night Summary Slides
 
Serverless Toronto User Group - Let's go Serverless!
Serverless Toronto User Group - Let's go Serverless!Serverless Toronto User Group - Let's go Serverless!
Serverless Toronto User Group - Let's go Serverless!
 
Schlomo Schapiro - Why I like to use the proprietary Cloud services without f...
Schlomo Schapiro - Why I like to use the proprietary Cloud services without f...Schlomo Schapiro - Why I like to use the proprietary Cloud services without f...
Schlomo Schapiro - Why I like to use the proprietary Cloud services without f...
 
Windows Server 2012 R2 Jump Start - WEB
Windows Server 2012 R2 Jump Start - WEBWindows Server 2012 R2 Jump Start - WEB
Windows Server 2012 R2 Jump Start - WEB
 
API Microservices with Node.js and Docker
API Microservices with Node.js and DockerAPI Microservices with Node.js and Docker
API Microservices with Node.js and Docker
 
Introduction to Virtualization.pptx
Introduction to Virtualization.pptxIntroduction to Virtualization.pptx
Introduction to Virtualization.pptx
 
Cloud ppt
Cloud pptCloud ppt
Cloud ppt
 
InfoSec 2011: Crash Course Open Source Cloud Computing
InfoSec 2011: Crash Course Open Source Cloud ComputingInfoSec 2011: Crash Course Open Source Cloud Computing
InfoSec 2011: Crash Course Open Source Cloud Computing
 
Updates to Apache CloudStack and LINBIT SDS
Updates to Apache CloudStack and LINBIT SDSUpdates to Apache CloudStack and LINBIT SDS
Updates to Apache CloudStack and LINBIT SDS
 
Open Audit
Open AuditOpen Audit
Open Audit
 
VMworld 2014: The Software-Defined Datacenter, VMs, and Containers
VMworld 2014: The Software-Defined Datacenter, VMs, and ContainersVMworld 2014: The Software-Defined Datacenter, VMs, and Containers
VMworld 2014: The Software-Defined Datacenter, VMs, and Containers
 
Monitoring hybrid container environments
Monitoring hybrid container environments Monitoring hybrid container environments
Monitoring hybrid container environments
 
ISC Cloud'13 - Hands-On Tutorial on “Building Your Cloud for HPC, Here & Now,...
ISC Cloud'13 - Hands-On Tutorial on “Building Your Cloud for HPC, Here & Now,...ISC Cloud'13 - Hands-On Tutorial on “Building Your Cloud for HPC, Here & Now,...
ISC Cloud'13 - Hands-On Tutorial on “Building Your Cloud for HPC, Here & Now,...
 
EGI TF 2013 / Cloud Interoperability Week – Hands-On Tutorial
EGI TF 2013 / Cloud Interoperability Week – Hands-On TutorialEGI TF 2013 / Cloud Interoperability Week – Hands-On Tutorial
EGI TF 2013 / Cloud Interoperability Week – Hands-On Tutorial
 

More from Fadi Nicolas Zahhar

Word press beirut 23st meetup may
Word press beirut 23st meetup   mayWord press beirut 23st meetup   may
Word press beirut 23st meetup may
Fadi Nicolas Zahhar
 
Wordpress beirut 22th meetup april
Wordpress beirut 22th meetup   aprilWordpress beirut 22th meetup   april
Wordpress beirut 22th meetup april
Fadi Nicolas Zahhar
 
Choose a template
Choose a templateChoose a template
Choose a template
Fadi Nicolas Zahhar
 
Word press beirut 21st meetup march
Word press beirut 21st meetup   marchWord press beirut 21st meetup   march
Word press beirut 21st meetup march
Fadi Nicolas Zahhar
 
Wordpress Beirut 21th meetup February
Wordpress Beirut 21th meetup   FebruaryWordpress Beirut 21th meetup   February
Wordpress Beirut 21th meetup February
Fadi Nicolas Zahhar
 
Word press beirut 19th meetup January 2019
Word press beirut 19th meetup   January 2019Word press beirut 19th meetup   January 2019
Word press beirut 19th meetup January 2019
Fadi Nicolas Zahhar
 
Design for devs psych
Design for devs psychDesign for devs psych
Design for devs psych
Fadi Nicolas Zahhar
 
The Hiking Calendar - Christian Hölzl
 The Hiking Calendar - Christian Hölzl The Hiking Calendar - Christian Hölzl
The Hiking Calendar - Christian Hölzl
Fadi Nicolas Zahhar
 
Word press beirut December 4 Meetup - Gutenberg VS WP-Bakery
Word press beirut December 4 Meetup - Gutenberg VS WP-Bakery Word press beirut December 4 Meetup - Gutenberg VS WP-Bakery
Word press beirut December 4 Meetup - Gutenberg VS WP-Bakery
Fadi Nicolas Zahhar
 
Word press beirut 17th meetup october
Word press beirut 17th meetup   octoberWord press beirut 17th meetup   october
Word press beirut 17th meetup october
Fadi Nicolas Zahhar
 
WordPress Beirut 16th meetup September
WordPress Beirut 16th meetup   SeptemberWordPress Beirut 16th meetup   September
WordPress Beirut 16th meetup September
Fadi Nicolas Zahhar
 
WordPress 15th Meetup - Build a Child Theme
WordPress 15th Meetup - Build a Child ThemeWordPress 15th Meetup - Build a Child Theme
WordPress 15th Meetup - Build a Child Theme
Fadi Nicolas Zahhar
 
WordPress 15th Meetup - Build a Theme
WordPress 15th Meetup - Build a ThemeWordPress 15th Meetup - Build a Theme
WordPress 15th Meetup - Build a Theme
Fadi Nicolas Zahhar
 
Embarking on your own journey
Embarking on your own journeyEmbarking on your own journey
Embarking on your own journey
Fadi Nicolas Zahhar
 
Word press beirut 14th meetup July
Word press beirut 14th meetup JulyWord press beirut 14th meetup July
Word press beirut 14th meetup July
Fadi Nicolas Zahhar
 
14th Meetup WordPress Beirut - How WordPress helped us reach $200k in yearly ...
14th Meetup WordPress Beirut - How WordPress helped us reach $200k in yearly ...14th Meetup WordPress Beirut - How WordPress helped us reach $200k in yearly ...
14th Meetup WordPress Beirut - How WordPress helped us reach $200k in yearly ...
Fadi Nicolas Zahhar
 
Wordpress Beirut understanding Gutenberg plugin
Wordpress Beirut understanding Gutenberg pluginWordpress Beirut understanding Gutenberg plugin
Wordpress Beirut understanding Gutenberg plugin
Fadi Nicolas Zahhar
 
Wordpress 15th Anniversary - Wordpress Beirut Community 13th Meetup June - 2018
Wordpress 15th Anniversary - Wordpress Beirut Community 13th Meetup  June - 2018Wordpress 15th Anniversary - Wordpress Beirut Community 13th Meetup  June - 2018
Wordpress 15th Anniversary - Wordpress Beirut Community 13th Meetup June - 2018
Fadi Nicolas Zahhar
 
Word press beirut 12th meetup june
Word press beirut 12th meetup   juneWord press beirut 12th meetup   june
Word press beirut 12th meetup june
Fadi Nicolas Zahhar
 
Word press beirut 11th meetup may
Word press beirut 11th meetup   mayWord press beirut 11th meetup   may
Word press beirut 11th meetup may
Fadi Nicolas Zahhar
 

More from Fadi Nicolas Zahhar (20)

Word press beirut 23st meetup may
Word press beirut 23st meetup   mayWord press beirut 23st meetup   may
Word press beirut 23st meetup may
 
Wordpress beirut 22th meetup april
Wordpress beirut 22th meetup   aprilWordpress beirut 22th meetup   april
Wordpress beirut 22th meetup april
 
Choose a template
Choose a templateChoose a template
Choose a template
 
Word press beirut 21st meetup march
Word press beirut 21st meetup   marchWord press beirut 21st meetup   march
Word press beirut 21st meetup march
 
Wordpress Beirut 21th meetup February
Wordpress Beirut 21th meetup   FebruaryWordpress Beirut 21th meetup   February
Wordpress Beirut 21th meetup February
 
Word press beirut 19th meetup January 2019
Word press beirut 19th meetup   January 2019Word press beirut 19th meetup   January 2019
Word press beirut 19th meetup January 2019
 
Design for devs psych
Design for devs psychDesign for devs psych
Design for devs psych
 
The Hiking Calendar - Christian Hölzl
 The Hiking Calendar - Christian Hölzl The Hiking Calendar - Christian Hölzl
The Hiking Calendar - Christian Hölzl
 
Word press beirut December 4 Meetup - Gutenberg VS WP-Bakery
Word press beirut December 4 Meetup - Gutenberg VS WP-Bakery Word press beirut December 4 Meetup - Gutenberg VS WP-Bakery
Word press beirut December 4 Meetup - Gutenberg VS WP-Bakery
 
Word press beirut 17th meetup october
Word press beirut 17th meetup   octoberWord press beirut 17th meetup   october
Word press beirut 17th meetup october
 
WordPress Beirut 16th meetup September
WordPress Beirut 16th meetup   SeptemberWordPress Beirut 16th meetup   September
WordPress Beirut 16th meetup September
 
WordPress 15th Meetup - Build a Child Theme
WordPress 15th Meetup - Build a Child ThemeWordPress 15th Meetup - Build a Child Theme
WordPress 15th Meetup - Build a Child Theme
 
WordPress 15th Meetup - Build a Theme
WordPress 15th Meetup - Build a ThemeWordPress 15th Meetup - Build a Theme
WordPress 15th Meetup - Build a Theme
 
Embarking on your own journey
Embarking on your own journeyEmbarking on your own journey
Embarking on your own journey
 
Word press beirut 14th meetup July
Word press beirut 14th meetup JulyWord press beirut 14th meetup July
Word press beirut 14th meetup July
 
14th Meetup WordPress Beirut - How WordPress helped us reach $200k in yearly ...
14th Meetup WordPress Beirut - How WordPress helped us reach $200k in yearly ...14th Meetup WordPress Beirut - How WordPress helped us reach $200k in yearly ...
14th Meetup WordPress Beirut - How WordPress helped us reach $200k in yearly ...
 
Wordpress Beirut understanding Gutenberg plugin
Wordpress Beirut understanding Gutenberg pluginWordpress Beirut understanding Gutenberg plugin
Wordpress Beirut understanding Gutenberg plugin
 
Wordpress 15th Anniversary - Wordpress Beirut Community 13th Meetup June - 2018
Wordpress 15th Anniversary - Wordpress Beirut Community 13th Meetup  June - 2018Wordpress 15th Anniversary - Wordpress Beirut Community 13th Meetup  June - 2018
Wordpress 15th Anniversary - Wordpress Beirut Community 13th Meetup June - 2018
 
Word press beirut 12th meetup june
Word press beirut 12th meetup   juneWord press beirut 12th meetup   june
Word press beirut 12th meetup june
 
Word press beirut 11th meetup may
Word press beirut 11th meetup   mayWord press beirut 11th meetup   may
Word press beirut 11th meetup may
 

Recently uploaded

SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
Globus
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
wottaspaceseo
 
Why React Native as a Strategic Advantage for Startup Innovation.pdf
Why React Native as a Strategic Advantage for Startup Innovation.pdfWhy React Native as a Strategic Advantage for Startup Innovation.pdf
Why React Native as a Strategic Advantage for Startup Innovation.pdf
ayushiqss
 
Visitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.appVisitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.app
NaapbooksPrivateLimi
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
Ortus Solutions, Corp
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Globus
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Globus
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Natan Silnitsky
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
Globus
 
Explore Modern SharePoint Templates for 2024
Explore Modern SharePoint Templates for 2024Explore Modern SharePoint Templates for 2024
Explore Modern SharePoint Templates for 2024
Sharepoint Designs
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
Globus
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
Cyanic lab
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
Tier1 app
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
abdulrafaychaudhry
 

Recently uploaded (20)

SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
 
Why React Native as a Strategic Advantage for Startup Innovation.pdf
Why React Native as a Strategic Advantage for Startup Innovation.pdfWhy React Native as a Strategic Advantage for Startup Innovation.pdf
Why React Native as a Strategic Advantage for Startup Innovation.pdf
 
Visitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.appVisitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.app
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
 
Explore Modern SharePoint Templates for 2024
Explore Modern SharePoint Templates for 2024Explore Modern SharePoint Templates for 2024
Explore Modern SharePoint Templates for 2024
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
 

Wordpress deployment on aws

  • 1. Wordpress Deployment on AWS Nicolas El Khoury nicolas.kh4@gmail.com +961 70 146 509
  • 2. Background Information ● BE Computer Engineering - Lebanese American University ● Masc Information Systems Security - Concordia University ○ Publications in the areas of cloud computing, NFV, SDN. ● Lead DevOps Engineer - Designer-24 ● Community Lead - Amazon Web Services Beirut User Group 2
  • 3. Outline ● Introduction to Cloud Computing. ● Deploying Wordpress on Amazon LightSail. ● Deploying Wordpress on a Linux Server. ● Designing a Secure, Robust, and Scalable architecture for WordPress applications on AWS. 3
  • 4. Introduction to Cloud Computing. 4
  • 5. 5
  • 6. Types of Cloud Computing Services ● Infrastructure as a Service: Storage Space, Virtual Machines, Bandwidth. ● Platform as a Service: Operating Systems, Programming Languages, etc. ● Software as a Services: Any Software you access online (iTunes, Google Sheets, booking.com, uber, Designer-24, cheapoair). 6
  • 7. Advantages of Cloud Computing ● Less Cost: The services are free from capital expenditure. ● 24 X 7 Availability: Servers are always running. ● Automated Updates on Software ● Flexibility in Capacity (Scalability) ● Pay for what you use only 7
  • 8. Deploying Wordpress on Amazon Lightsail 8
  • 9. AWS Lightsail ● AWS Service offering a ready-made environment for multiple applications (Wordpress, Joomla, Magento, etc). ● Targets users with no knowledge in system administration or people who don’t want to worry about servers. ● Configures all the environment automatically. ● Inexpensive! 9
  • 10. Lightsail in the Background ● Launch a Virtual Machine. ● Attach a Disk. ● Manage Permissions (IAM). ● Create a Security Group. ● Setup DNS. ● Create Static IP. ● Install all the components for wordpress (Web server, Database, PHP, Wordpress app). 10
  • 12. Setup Wordpress on Lightsail Demo 12
  • 13. Advantages of Lightsail ● Simplified UI: runs through preinstalled software with the server. ● Speed: Ability to spin up a server in minutes. ● Affordability: Ability to run a server for $3.5/month. ● Reliability: Deployed on a leading cloud platform. Chances of downtime are very small. 13
  • 14. Disadvantages of Lightsail ● Predefined Configuration: Inability to choose different components (webserver, database, etc). ● SPOF: Single point of failure. ● One application per server. ● Not suitable for enterprise grade applications. 14
  • 15. Deploying Wordpress on a Linux Server 15
  • 16. Wordpress Environment ● Database: Store collection of information. ● Wordpress Framework. ● PHP Framework: Serve PHP code. ● Web Server: serve the files that form Web pages to users. 16
  • 17. Install a Wordpress Environment on Wordpress ● Install a Database Management System. ○ Create a Database, and a username and password. ● Install PHP. ● Install Nginx (Web Server). ● Configure Nginx. ● Configure wp-config.php 17
  • 18. Wp-config.php configuration define( 'DB_NAME', 'wordpress' ); //name of the database define( 'DB_USER', 'wordpressuser' ); //username define( 'DB_PASSWORD', 'test' ); //password define( 'DB_HOST', 'localhost' ); //mysql hostname 18
  • 19. Nginx Configuration server { listen 80; //listen on port 80 root /var/www/html/wordpress; //the root directory for the wordpress app index index.php; //the index file (main entry point) server_name www.mylocalwp.com mylocalwp.com; //the domain name location / { //defines how requests are processed for different URIs and resources try_files $uri $uri/ /index.php?$args; } location ~ .php$ { //serve the php request include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.1-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } } 19
  • 21. Custom Deployment Advantages ● Custom components. ● Better Design flexibility. ● Multiple applications on one server. 21
  • 22. Custom Deployment Disadvantages ● Not suitable for production. ● Unscalable. ● Single point of failure. ● Improper environment isolation. 22
  • 24. Architecture Considerations ● Security. ● Availability (fault Tolerance). ● Scalability. ● Visibility: Logging, monitoring, tracing. 24
  • 28. Architecture Considerations ● Security. ● Availability (fault Tolerance). ● Scalability. ● Visibility: Logging, monitoring, tracing. 28
  • 29. Security ● VPC Level: ○ Ingress Traffic Control: Network traffic originating from outside of the VPC ○ Egress Traffic Control: Network traffic leaving a VPC ● Load Balancer Level: ○ Security Groups: A security group acts as a virtual stateful firewall that controls the traffic ○ Host/Path/Port based Routing ● Instances Level: ○ Security Groups ○ Deployed in private subnets 29
  • 30. AWS ALB Routing Policies 30 Example of AWS ALB Routing Policies, AWS Documentation
  • 31. Availability ● Instance Level: Launching replicas ● Load Balancer Level: managed by AWS ● Availability Zone: Spreading instances across multiple availability zones 31
  • 32. Scalability ● Ability to scale instances on demand, automatically, with a few clicks of a button. 32
  • 33. Visibility ● Logging: AWSLogs driver ● Monitoring: ○ Instances: CPU Utilization, Network in, Network Out, etc. ○ Load Balancer: Target Response Time, 4XX Count, 5XX Count, etc. ● Tracing: ○ The load balancer saves important information of each request. 33
  • 34. Cost Estimation AWS Cost Calculator 34
  • 35. Published Articles ● Proposed Infrastructure Setup on AWS for a Microservices Architecture. ○ Chapter 1: Introduction and Design Considerations ○ Chapter 2: Overview of the Infrastructure and Components ○ Chapter 3: Deployment Strategy for Microservices 35