SlideShare a Scribd company logo
1 of 53
Download to read offline
Joomla! Scalable
Enterprise Deployments
with AWS
Jim Dolinski

9/23/2017
$whoami
• Team Lead and Application Architect

• AWS Enthusiast and Security Addict

• Open Source Aficionado

• Official Joomla Contributor!
github.com/jdolinski
@jimdolinski
linkedin.com/jimdolinski
Company background…
IT support for City of Omaha and Douglas County, NE

Hosting & Supporting 100+ Joomla Websites
2016 & 2017 AWS City on Cloud Finalist
Agenda
• “X”aaS 

• Intro to Amazon Web Services

• Infrastructure & Configuration Management

• Monitoring & Performance

• Governance & Compliance

• Resource Optimization
“X”aaS
“as a Service”
We are in a marketing acronym hell
• IaaS

• PaaS

• SaaS

• DBaaS

• DaaS

• SECaaS

• FaaS

• Plus many more
Cost & Complexity
Maintainability
IaaS
On Premise Data Center
PaaS
SaaS
Our Family Tradition
Pizza Chicago Style
Made at Home
Take and Bake
Pizza Delivered
Dining Out
Cloud Architecture
“as a Service” 12 Factors
I. Codebase

One codebase tracked in revision control, many deploys

II. Dependencies

Explicitly declare and isolate dependencies

III. Config

Store config in the environment

IV. Backing services

Treat backing services as attached resources

V. Build, release, run

Strictly separate build and run stages

VI. Processes

Execute the app as one or more stateless processes

VII. Port binding 

Export services via port binding

VIII. Concurrency

Scale out via the process model

IX. Disposability

Maximize robustness with fast startup and graceful
shutdown

X. Dev/prod parity

Keep development, staging, and production as similar
as possible

XI. Logs

Treat logs as event streams

XII. Admin processes

Run admin/management tasks as one-off processes
https://12factor.net/
Amazon Web
Services
Let’s Get Started?
AWSim City
• Amazon = Planet

• AWS Account = State

• Availability Zone = County 

• VPC = City

• Routes = Roads

• VPC Peering = Freeways
between Cities

• VPG = Your Corporate Data
Center on Earth

• Route 53 DNS = Phone
Numbers

• Regions = Countries

• Internet = Interstate

• Internet Gateway =
Interstate off ramp

• NAT Gateway = Highway
on Ramp

• Subnets = Postal Codes

• Private Subnet = No
Highway Access

• Public Subnet = Highway
Access

• Network ACLs = Gated
Communities

• ELB = Overpass signs to
route traffic

• Address = IPs

• Servers/Services =
Buildings 

• Security Groups = Police 

• Traffic = Cars

• AMI = Photographer’s
Image

• Cloud Formation = Civil
Engineer/Constructor
AWSim City
Represents a single
Availability Zone
Architectural Design
Patterns
1. Lift & Shift (AMI)

2. AMI Builder (Clustered AMI)

3. NAS (Network Attached Storage)

4. Multi Region and AZ Deployments
It depends on your requirements…
Lift & Shift Pattern
Pros

• Quick & Easy

Cons

• Single Point of Failure

• Tight Coupling

• Not Cohesive
AMI/EBS Builder Pattern
Pros

• Good Performance

• Can be clustered in
multiple AZs and Regions 

Cons

• Create AMI for every
Joomla or extension
upgrade

• AMI Maintenance
increases with more
websites sharing same
server

• Storage is not elastic
EFS Pattern
Pros

• Joomla & Extension
upgrades simple

• Storage is elastic

• AZ’s share same storage

Cons

• Slower than attached
block storage 

• EFS can not be mounted
across regions
Multi AZ Pattern
Pros

• Redundancy within same
region

• Joomla updates simple
on EFS

Cons

• Joomla updates on EBS
Multi AZ is recommended at a minimum
Multi AZ & Region Pattern
Pros

• Scalable and highly
available architecture

• active/passive or active/
active failover

• Latency based routing

• Privacy laws governing
data

Cons

• Technically Complex

• More Costs

• Requires mid/advanced
knowledge of more
services
Design for failure and
automate everything
It’s not “if” but “when”, and it will occur while you are on
vacation!
}Maximize Flexibility
Minimize Maintenance & Costs
Prefer
“Managed Services”
over
“Service Installs”
Global
Infrastructure
https://aws.amazon.com/products/management/
+
Resource Provisioning
• Infrastructure as Code

• AWS CloudFormation

https://aws.amazon.com/marketplace/pp/B06XSVFFK9

https://cloud.intuz.com/applications/joomlacf/aws/joomla

• Terraform
DevOps Configuration
Management
• Infrastructure as Code

• OS Hardening

• Software installs

• Practice Immutability

• AWS OpsWorks

• Chef
https://martinfowler.com/bliki/ImmutableServer.html
“By frequently destroying and
rebuilding servers from the base
image, 100% of the server's elements
are reset to a known state, without
spending a ridiculous amount of time
specifying and maintaining detailed
configuration specifications.”
- Martin Fowler
Enterprise Joomla!
Architecture
Service Installs
Enterprise Joomla!
Architecture
Managed Services
DevOps Configuration
Management
Continuous Integration (CI)
is a development practice
that requires developers
to integrate code into a
shared repository several
times a day. Each check-in is
then verified by an automated
build, allowing teams to
detect problems early.
https://www.thoughtworks.com/continuous-integration
Monitoring & Performance
• AWS CloudWatch

• PagerDuty

• StatusCast

• Failover

• Active/Active

• Active/Passive
Monitoring & Performance
• Benchmark First

• Google PageSpeed, YSlow, Pingdom, JMeter, etc

• Don’t forget geo testing

• Apply 1 Change

• AWS CloudFront, AWS Elasticache

• Minification, Browser Caching, Image Optimization, etc

• Repeat
Key Plugins
Regular Labs
Cache Cleaner
+
https://www.regularlabs.com/extensions/cachecleaner
JCH Optimize Pro
+
https://www.jch-optimize.net/
Major Features
	 •	 Combine and gzip CSS and javascript files respectively

	 •	 Minify combined files and HTML

	 •	 Combine select background images into a sprite

	 •	 CDN Support Pro version only

	 •	 Lazy-load images Pro version only

	 •	 Optimize CSS Delivery Pro version only

	 •	 Optimize Images Pro version only
Are we down?
Know before your customers!

“Communication will build trust and confidence”
+
https://www.pagerduty.com/docs/guides/aws-cloudwatch-integration-guide/
Governance & Compliance
• Security

• AWS ElasticSearch

• AWS CloudTrail

• Defense in Depth
Practice Defense in Depth
• Firewalls are core

• https everything

• Google Webmaster Tools

• Implement Intrusion Detection

• Routinely Audit & Patch your Joomla Sites

• Logs and retention are crucial
Defense in Depth
Key Tools
RSFirewall
https://www.rsjoomla.com/video-tutorials/rsfirewall.html
MyJoomla Audit
Gain Control of your Logs!
Who updated this site?
+
Can we reduce patch time?
AWS
Systems
Manager
+
Resource Optimization
• Performance Optimizations

• CDN, Cache, Geo Load Balancing, and more 

• Cost Optimizations

• Autoscaling

• AWS Tagging

• AWS Trusted Advisor

• AWS Organizations + Multiple Accounts

What percentage of your servers today are idle?
Can we reduce costs?
+
https://aws.amazon.com/products/management/
+
Remember “ability” Factors
• Repeatability, Availability, Scalability, Auditability, Flexibility, Usability

• Monitor, Monitor, & Monitor

• ADA and user’s with disabilities

• Use a Version Control System

• Dashboards work great, but you have to look at them!

• Try to Automate Everything

• Scale traffic to demands

• Automate Patching

• Blue/Green Deployments Can Reduce your Risk
What are we working on?
• Joomla GIT Plugin to push to a remote repo

• Docker & Joomla
How Can I Get Started?
• AWS CloudFormation

• AWS Beanstalk

• Sign Up and Get a Free Account

• Tons of resources on AWS

• Cost Calculator

• https://calculator.s3.amazonaws.com/index.html
Thanks

More Related Content

What's hot

Pmbok 4th edition chapter 11 - Project Risk Management
Pmbok 4th edition   chapter 11 - Project Risk ManagementPmbok 4th edition   chapter 11 - Project Risk Management
Pmbok 4th edition chapter 11 - Project Risk ManagementAhmad Maharma, PMP,RMP
 
Software configuration items
Software configuration itemsSoftware configuration items
Software configuration itemsashok kumar
 
Agile Software Development Model
Agile Software Development ModelAgile Software Development Model
Agile Software Development ModelRitika Balagan
 
Software Engineering (Software Configuration Management)
Software Engineering (Software Configuration Management)Software Engineering (Software Configuration Management)
Software Engineering (Software Configuration Management)ShudipPal
 
software configuratiom management role n resposnbilities
software configuratiom management role n resposnbilitiessoftware configuratiom management role n resposnbilities
software configuratiom management role n resposnbilitiesMahesh Panchal
 
Chapter 6 - Test Tools and Automation
Chapter 6 - Test Tools and AutomationChapter 6 - Test Tools and Automation
Chapter 6 - Test Tools and AutomationNeeraj Kumar Singh
 
Structure chart
Structure chartStructure chart
Structure chartArjun R
 
Pmi sp questions with answers
Pmi sp questions with answersPmi sp questions with answers
Pmi sp questions with answersMohamed Saeed
 
Software Engineering (Project Scheduling)
Software Engineering (Project Scheduling)Software Engineering (Project Scheduling)
Software Engineering (Project Scheduling)ShudipPal
 
Software engineering layers
Software engineering layersSoftware engineering layers
Software engineering layersSelf-employed
 
Chapter 5 - Improving the Testing Process
Chapter 5 -  Improving the Testing ProcessChapter 5 -  Improving the Testing Process
Chapter 5 - Improving the Testing ProcessNeeraj Kumar Singh
 
Project charter trackit
Project charter trackitProject charter trackit
Project charter trackitCahya Adhi
 
Requirements Engineering Processes in Software Engineering SE6
Requirements Engineering Processes in Software Engineering SE6Requirements Engineering Processes in Software Engineering SE6
Requirements Engineering Processes in Software Engineering SE6koolkampus
 
software-effort_estimation(updated)9 ch05
 software-effort_estimation(updated)9 ch05 software-effort_estimation(updated)9 ch05
software-effort_estimation(updated)9 ch05Shahid Riaz
 

What's hot (20)

Spm unit 3
Spm unit 3Spm unit 3
Spm unit 3
 
Chapter 1 - Testing Process
Chapter 1 - Testing ProcessChapter 1 - Testing Process
Chapter 1 - Testing Process
 
Pmbok 4th edition chapter 11 - Project Risk Management
Pmbok 4th edition   chapter 11 - Project Risk ManagementPmbok 4th edition   chapter 11 - Project Risk Management
Pmbok 4th edition chapter 11 - Project Risk Management
 
Software configuration items
Software configuration itemsSoftware configuration items
Software configuration items
 
1_PMI-RMP_Project Risk Management Plan
1_PMI-RMP_Project Risk Management Plan1_PMI-RMP_Project Risk Management Plan
1_PMI-RMP_Project Risk Management Plan
 
Agile Software Development Model
Agile Software Development ModelAgile Software Development Model
Agile Software Development Model
 
Software Engineering (Software Configuration Management)
Software Engineering (Software Configuration Management)Software Engineering (Software Configuration Management)
Software Engineering (Software Configuration Management)
 
software configuratiom management role n resposnbilities
software configuratiom management role n resposnbilitiessoftware configuratiom management role n resposnbilities
software configuratiom management role n resposnbilities
 
Chapter 6 - Test Tools and Automation
Chapter 6 - Test Tools and AutomationChapter 6 - Test Tools and Automation
Chapter 6 - Test Tools and Automation
 
07 pmp cost management exam
07 pmp cost management exam07 pmp cost management exam
07 pmp cost management exam
 
Structure chart
Structure chartStructure chart
Structure chart
 
Pmi sp questions with answers
Pmi sp questions with answersPmi sp questions with answers
Pmi sp questions with answers
 
Software Engineering (Project Scheduling)
Software Engineering (Project Scheduling)Software Engineering (Project Scheduling)
Software Engineering (Project Scheduling)
 
Requirement Engineering
Requirement EngineeringRequirement Engineering
Requirement Engineering
 
Software engineering layers
Software engineering layersSoftware engineering layers
Software engineering layers
 
Chapter 5 - Improving the Testing Process
Chapter 5 -  Improving the Testing ProcessChapter 5 -  Improving the Testing Process
Chapter 5 - Improving the Testing Process
 
Project charter trackit
Project charter trackitProject charter trackit
Project charter trackit
 
Software Crisis
Software CrisisSoftware Crisis
Software Crisis
 
Requirements Engineering Processes in Software Engineering SE6
Requirements Engineering Processes in Software Engineering SE6Requirements Engineering Processes in Software Engineering SE6
Requirements Engineering Processes in Software Engineering SE6
 
software-effort_estimation(updated)9 ch05
 software-effort_estimation(updated)9 ch05 software-effort_estimation(updated)9 ch05
software-effort_estimation(updated)9 ch05
 

Viewers also liked

JoomlaDay Chicago 2017 Keynote Address
JoomlaDay Chicago 2017 Keynote AddressJoomlaDay Chicago 2017 Keynote Address
JoomlaDay Chicago 2017 Keynote Addressjdaychi
 
Building a Joomla Module
Building a Joomla ModuleBuilding a Joomla Module
Building a Joomla ModuleCory Webb
 
How Joomla! builds a webpage (annotated)
How Joomla! builds a webpage (annotated)How Joomla! builds a webpage (annotated)
How Joomla! builds a webpage (annotated)Randy Carey
 
Less is More by Matt Christensen
Less is More by Matt ChristensenLess is More by Matt Christensen
Less is More by Matt Christensenjdaychi
 
Why open source matters
Why open source mattersWhy open source matters
Why open source mattersjdaychi
 
2017 JoomlaDay Chicago Welcome Address
2017 JoomlaDay Chicago Welcome Address2017 JoomlaDay Chicago Welcome Address
2017 JoomlaDay Chicago Welcome Addressdeiahil
 

Viewers also liked (6)

JoomlaDay Chicago 2017 Keynote Address
JoomlaDay Chicago 2017 Keynote AddressJoomlaDay Chicago 2017 Keynote Address
JoomlaDay Chicago 2017 Keynote Address
 
Building a Joomla Module
Building a Joomla ModuleBuilding a Joomla Module
Building a Joomla Module
 
How Joomla! builds a webpage (annotated)
How Joomla! builds a webpage (annotated)How Joomla! builds a webpage (annotated)
How Joomla! builds a webpage (annotated)
 
Less is More by Matt Christensen
Less is More by Matt ChristensenLess is More by Matt Christensen
Less is More by Matt Christensen
 
Why open source matters
Why open source mattersWhy open source matters
Why open source matters
 
2017 JoomlaDay Chicago Welcome Address
2017 JoomlaDay Chicago Welcome Address2017 JoomlaDay Chicago Welcome Address
2017 JoomlaDay Chicago Welcome Address
 

Similar to Joomla! Scalable Enterprise Deployments with AWS

SMC301 The State of Serverless Computing
SMC301 The State of Serverless ComputingSMC301 The State of Serverless Computing
SMC301 The State of Serverless ComputingAmazon Web Services
 
Edge Services as a Critical AWS Infrastructure Component - August 2017 AWS On...
Edge Services as a Critical AWS Infrastructure Component - August 2017 AWS On...Edge Services as a Critical AWS Infrastructure Component - August 2017 AWS On...
Edge Services as a Critical AWS Infrastructure Component - August 2017 AWS On...Amazon Web Services
 
Introduction to AWS
Introduction to AWSIntroduction to AWS
Introduction to AWSOSSCube
 
Expanding Your Data Center with Hybrid Cloud Infrastructure
Expanding Your Data Center with Hybrid Cloud InfrastructureExpanding Your Data Center with Hybrid Cloud Infrastructure
Expanding Your Data Center with Hybrid Cloud InfrastructureAmazon Web Services
 
Expanding your Data Center with Hybrid Cloud Infrastructure
Expanding your Data Center with Hybrid Cloud InfrastructureExpanding your Data Center with Hybrid Cloud Infrastructure
Expanding your Data Center with Hybrid Cloud InfrastructureAmazon Web Services
 
A tale of two clouds
A tale of two cloudsA tale of two clouds
A tale of two cloudsAndrew Siemer
 
Getting Started with Windows Workloads on Amazon EC2 - Toronto
 Getting Started with Windows Workloads on Amazon EC2 - Toronto Getting Started with Windows Workloads on Amazon EC2 - Toronto
Getting Started with Windows Workloads on Amazon EC2 - TorontoAmazon Web Services
 
Expanding Your Data Center with Hybrid Cloud Infrastructure
Expanding Your Data Center with Hybrid Cloud InfrastructureExpanding Your Data Center with Hybrid Cloud Infrastructure
Expanding Your Data Center with Hybrid Cloud InfrastructureAmazon Web Services
 
The State of Serverless Computing | AWS Public Sector Summit 2017
The State of Serverless Computing | AWS Public Sector Summit 2017The State of Serverless Computing | AWS Public Sector Summit 2017
The State of Serverless Computing | AWS Public Sector Summit 2017Amazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without serversAmazon Web Services
 
Introducing to serverless computing and AWS lambda - Israel Clouds Meetup
Introducing to serverless computing and AWS lambda - Israel Clouds MeetupIntroducing to serverless computing and AWS lambda - Israel Clouds Meetup
Introducing to serverless computing and AWS lambda - Israel Clouds MeetupBoaz Ziniman
 
AWS Public Sector Symposium 2014 Canberra | Black Belt Tips on AWS
AWS Public Sector Symposium 2014 Canberra | Black Belt Tips on AWS AWS Public Sector Symposium 2014 Canberra | Black Belt Tips on AWS
AWS Public Sector Symposium 2014 Canberra | Black Belt Tips on AWS Amazon Web Services
 
Cloud computing by amazon
Cloud computing by amazonCloud computing by amazon
Cloud computing by amazon8neutron8
 
Accelerate your Cloud Success with Platform Services
Accelerate your Cloud Success with Platform ServicesAccelerate your Cloud Success with Platform Services
Accelerate your Cloud Success with Platform ServicesAmazon Web Services
 
Connecting Mobile Services to On-Premises Resources Using Hybrid Connections
Connecting Mobile Services to On-Premises Resources Using Hybrid ConnectionsConnecting Mobile Services to On-Premises Resources Using Hybrid Connections
Connecting Mobile Services to On-Premises Resources Using Hybrid ConnectionsDaniel Toomey
 
Application Lifecycle Management on AWS
Application Lifecycle Management on AWSApplication Lifecycle Management on AWS
Application Lifecycle Management on AWSDavid Mat
 
AWS FSI Symposium 2017 NYC - Moving at the Speed of Serverless ft Broadridge
AWS FSI Symposium 2017 NYC - Moving at the Speed of Serverless ft BroadridgeAWS FSI Symposium 2017 NYC - Moving at the Speed of Serverless ft Broadridge
AWS FSI Symposium 2017 NYC - Moving at the Speed of Serverless ft BroadridgeAmazon Web Services
 
MongoDB World 2018: Tutorial - How to Build Applications with MongoDB Atlas &...
MongoDB World 2018: Tutorial - How to Build Applications with MongoDB Atlas &...MongoDB World 2018: Tutorial - How to Build Applications with MongoDB Atlas &...
MongoDB World 2018: Tutorial - How to Build Applications with MongoDB Atlas &...MongoDB
 

Similar to Joomla! Scalable Enterprise Deployments with AWS (20)

SMC301 The State of Serverless Computing
SMC301 The State of Serverless ComputingSMC301 The State of Serverless Computing
SMC301 The State of Serverless Computing
 
Edge Services as a Critical AWS Infrastructure Component - August 2017 AWS On...
Edge Services as a Critical AWS Infrastructure Component - August 2017 AWS On...Edge Services as a Critical AWS Infrastructure Component - August 2017 AWS On...
Edge Services as a Critical AWS Infrastructure Component - August 2017 AWS On...
 
Introduction to AWS
Introduction to AWSIntroduction to AWS
Introduction to AWS
 
Expanding Your Data Center with Hybrid Cloud Infrastructure
Expanding Your Data Center with Hybrid Cloud InfrastructureExpanding Your Data Center with Hybrid Cloud Infrastructure
Expanding Your Data Center with Hybrid Cloud Infrastructure
 
Expanding your Data Center with Hybrid Cloud Infrastructure
Expanding your Data Center with Hybrid Cloud InfrastructureExpanding your Data Center with Hybrid Cloud Infrastructure
Expanding your Data Center with Hybrid Cloud Infrastructure
 
A tale of two clouds
A tale of two cloudsA tale of two clouds
A tale of two clouds
 
Windows on AWS
Windows on AWSWindows on AWS
Windows on AWS
 
Getting Started with Windows Workloads on Amazon EC2 - Toronto
 Getting Started with Windows Workloads on Amazon EC2 - Toronto Getting Started with Windows Workloads on Amazon EC2 - Toronto
Getting Started with Windows Workloads on Amazon EC2 - Toronto
 
Expanding Your Data Center with Hybrid Cloud Infrastructure
Expanding Your Data Center with Hybrid Cloud InfrastructureExpanding Your Data Center with Hybrid Cloud Infrastructure
Expanding Your Data Center with Hybrid Cloud Infrastructure
 
The State of Serverless Computing | AWS Public Sector Summit 2017
The State of Serverless Computing | AWS Public Sector Summit 2017The State of Serverless Computing | AWS Public Sector Summit 2017
The State of Serverless Computing | AWS Public Sector Summit 2017
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Introducing to serverless computing and AWS lambda - Israel Clouds Meetup
Introducing to serverless computing and AWS lambda - Israel Clouds MeetupIntroducing to serverless computing and AWS lambda - Israel Clouds Meetup
Introducing to serverless computing and AWS lambda - Israel Clouds Meetup
 
AWS Public Sector Symposium 2014 Canberra | Black Belt Tips on AWS
AWS Public Sector Symposium 2014 Canberra | Black Belt Tips on AWS AWS Public Sector Symposium 2014 Canberra | Black Belt Tips on AWS
AWS Public Sector Symposium 2014 Canberra | Black Belt Tips on AWS
 
Light in the Clouds
Light in the CloudsLight in the Clouds
Light in the Clouds
 
Cloud computing by amazon
Cloud computing by amazonCloud computing by amazon
Cloud computing by amazon
 
Accelerate your Cloud Success with Platform Services
Accelerate your Cloud Success with Platform ServicesAccelerate your Cloud Success with Platform Services
Accelerate your Cloud Success with Platform Services
 
Connecting Mobile Services to On-Premises Resources Using Hybrid Connections
Connecting Mobile Services to On-Premises Resources Using Hybrid ConnectionsConnecting Mobile Services to On-Premises Resources Using Hybrid Connections
Connecting Mobile Services to On-Premises Resources Using Hybrid Connections
 
Application Lifecycle Management on AWS
Application Lifecycle Management on AWSApplication Lifecycle Management on AWS
Application Lifecycle Management on AWS
 
AWS FSI Symposium 2017 NYC - Moving at the Speed of Serverless ft Broadridge
AWS FSI Symposium 2017 NYC - Moving at the Speed of Serverless ft BroadridgeAWS FSI Symposium 2017 NYC - Moving at the Speed of Serverless ft Broadridge
AWS FSI Symposium 2017 NYC - Moving at the Speed of Serverless ft Broadridge
 
MongoDB World 2018: Tutorial - How to Build Applications with MongoDB Atlas &...
MongoDB World 2018: Tutorial - How to Build Applications with MongoDB Atlas &...MongoDB World 2018: Tutorial - How to Build Applications with MongoDB Atlas &...
MongoDB World 2018: Tutorial - How to Build Applications with MongoDB Atlas &...
 

Recently uploaded

#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
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
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
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
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
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
 
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
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
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
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 

Recently uploaded (20)

#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
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
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
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
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
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
 
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
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 

Joomla! Scalable Enterprise Deployments with AWS

  • 1. Joomla! Scalable Enterprise Deployments with AWS Jim Dolinski 9/23/2017
  • 2. $whoami • Team Lead and Application Architect • AWS Enthusiast and Security Addict • Open Source Aficionado • Official Joomla Contributor! github.com/jdolinski @jimdolinski linkedin.com/jimdolinski
  • 3. Company background… IT support for City of Omaha and Douglas County, NE Hosting & Supporting 100+ Joomla Websites 2016 & 2017 AWS City on Cloud Finalist
  • 4. Agenda • “X”aaS • Intro to Amazon Web Services • Infrastructure & Configuration Management • Monitoring & Performance • Governance & Compliance • Resource Optimization
  • 6. “as a Service” We are in a marketing acronym hell • IaaS • PaaS • SaaS • DBaaS • DaaS • SECaaS • FaaS • Plus many more Cost & Complexity Maintainability IaaS On Premise Data Center PaaS SaaS
  • 12. Cloud Architecture “as a Service” 12 Factors I. Codebase One codebase tracked in revision control, many deploys II. Dependencies Explicitly declare and isolate dependencies III. Config Store config in the environment IV. Backing services Treat backing services as attached resources V. Build, release, run Strictly separate build and run stages VI. Processes Execute the app as one or more stateless processes VII. Port binding Export services via port binding VIII. Concurrency Scale out via the process model IX. Disposability Maximize robustness with fast startup and graceful shutdown X. Dev/prod parity Keep development, staging, and production as similar as possible XI. Logs Treat logs as event streams XII. Admin processes Run admin/management tasks as one-off processes https://12factor.net/
  • 15.
  • 16. AWSim City • Amazon = Planet • AWS Account = State • Availability Zone = County • VPC = City • Routes = Roads • VPC Peering = Freeways between Cities • VPG = Your Corporate Data Center on Earth • Route 53 DNS = Phone Numbers • Regions = Countries • Internet = Interstate • Internet Gateway = Interstate off ramp • NAT Gateway = Highway on Ramp • Subnets = Postal Codes • Private Subnet = No Highway Access • Public Subnet = Highway Access • Network ACLs = Gated Communities • ELB = Overpass signs to route traffic • Address = IPs • Servers/Services = Buildings • Security Groups = Police • Traffic = Cars • AMI = Photographer’s Image • Cloud Formation = Civil Engineer/Constructor
  • 17. AWSim City Represents a single Availability Zone
  • 18. Architectural Design Patterns 1. Lift & Shift (AMI) 2. AMI Builder (Clustered AMI) 3. NAS (Network Attached Storage) 4. Multi Region and AZ Deployments It depends on your requirements…
  • 19. Lift & Shift Pattern Pros • Quick & Easy Cons • Single Point of Failure • Tight Coupling • Not Cohesive
  • 20. AMI/EBS Builder Pattern Pros • Good Performance • Can be clustered in multiple AZs and Regions Cons • Create AMI for every Joomla or extension upgrade • AMI Maintenance increases with more websites sharing same server • Storage is not elastic
  • 21. EFS Pattern Pros • Joomla & Extension upgrades simple • Storage is elastic • AZ’s share same storage Cons • Slower than attached block storage • EFS can not be mounted across regions
  • 22. Multi AZ Pattern Pros • Redundancy within same region • Joomla updates simple on EFS Cons • Joomla updates on EBS Multi AZ is recommended at a minimum
  • 23. Multi AZ & Region Pattern Pros • Scalable and highly available architecture • active/passive or active/ active failover • Latency based routing • Privacy laws governing data Cons • Technically Complex • More Costs • Requires mid/advanced knowledge of more services
  • 24. Design for failure and automate everything It’s not “if” but “when”, and it will occur while you are on vacation! }Maximize Flexibility Minimize Maintenance & Costs Prefer “Managed Services” over “Service Installs”
  • 27. Resource Provisioning • Infrastructure as Code • AWS CloudFormation https://aws.amazon.com/marketplace/pp/B06XSVFFK9 https://cloud.intuz.com/applications/joomlacf/aws/joomla • Terraform
  • 28. DevOps Configuration Management • Infrastructure as Code • OS Hardening • Software installs • Practice Immutability • AWS OpsWorks • Chef https://martinfowler.com/bliki/ImmutableServer.html “By frequently destroying and rebuilding servers from the base image, 100% of the server's elements are reset to a known state, without spending a ridiculous amount of time specifying and maintaining detailed configuration specifications.” - Martin Fowler
  • 31. DevOps Configuration Management Continuous Integration (CI) is a development practice that requires developers to integrate code into a shared repository several times a day. Each check-in is then verified by an automated build, allowing teams to detect problems early. https://www.thoughtworks.com/continuous-integration
  • 32. Monitoring & Performance • AWS CloudWatch • PagerDuty • StatusCast • Failover • Active/Active • Active/Passive
  • 33. Monitoring & Performance • Benchmark First • Google PageSpeed, YSlow, Pingdom, JMeter, etc • Don’t forget geo testing • Apply 1 Change • AWS CloudFront, AWS Elasticache • Minification, Browser Caching, Image Optimization, etc • Repeat
  • 36. JCH Optimize Pro + https://www.jch-optimize.net/ Major Features • Combine and gzip CSS and javascript files respectively • Minify combined files and HTML • Combine select background images into a sprite • CDN Support Pro version only • Lazy-load images Pro version only • Optimize CSS Delivery Pro version only • Optimize Images Pro version only
  • 37. Are we down? Know before your customers! “Communication will build trust and confidence” + https://www.pagerduty.com/docs/guides/aws-cloudwatch-integration-guide/
  • 38. Governance & Compliance • Security • AWS ElasticSearch • AWS CloudTrail • Defense in Depth
  • 39. Practice Defense in Depth • Firewalls are core • https everything • Google Webmaster Tools • Implement Intrusion Detection • Routinely Audit & Patch your Joomla Sites • Logs and retention are crucial
  • 44. Gain Control of your Logs!
  • 45. Who updated this site? +
  • 46. Can we reduce patch time? AWS Systems Manager +
  • 47. Resource Optimization • Performance Optimizations • CDN, Cache, Geo Load Balancing, and more • Cost Optimizations • Autoscaling • AWS Tagging • AWS Trusted Advisor • AWS Organizations + Multiple Accounts What percentage of your servers today are idle?
  • 48. Can we reduce costs? +
  • 50. Remember “ability” Factors • Repeatability, Availability, Scalability, Auditability, Flexibility, Usability • Monitor, Monitor, & Monitor • ADA and user’s with disabilities • Use a Version Control System • Dashboards work great, but you have to look at them! • Try to Automate Everything • Scale traffic to demands • Automate Patching • Blue/Green Deployments Can Reduce your Risk
  • 51. What are we working on? • Joomla GIT Plugin to push to a remote repo • Docker & Joomla
  • 52. How Can I Get Started? • AWS CloudFormation • AWS Beanstalk • Sign Up and Get a Free Account • Tons of resources on AWS • Cost Calculator • https://calculator.s3.amazonaws.com/index.html