SlideShare uma empresa Scribd logo
1 de 53
Baixar para ler 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?
Joomla! Scalable Enterprise Deployments with AWS
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

Mais conteúdo relacionado

Destaque

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
 

Destaque (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
 

Semelhante a 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
 

Semelhante a 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 &...
 

Último

IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IES VE
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-pyJamie (Taka) Wang
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAshyamraj55
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Websitedgelyza
 
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXVoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXTarek Kalaji
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UbiTrack UK
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1DianaGray10
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesMd Hossain Ali
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostMatt Ray
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintMahmoud Rabie
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemAsko Soukka
 
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...Aggregage
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding TeamAdam Moalla
 
100+ ChatGPT Prompts for SEO Optimization
100+ ChatGPT Prompts for SEO Optimization100+ ChatGPT Prompts for SEO Optimization
100+ ChatGPT Prompts for SEO Optimizationarrow10202532yuvraj
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7DianaGray10
 
All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...
All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...
All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...Daniel Zivkovic
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Will Schroeder
 
Governance in SharePoint Premium:What's in the box?
Governance in SharePoint Premium:What's in the box?Governance in SharePoint Premium:What's in the box?
Governance in SharePoint Premium:What's in the box?Juan Carlos Gonzalez
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPathCommunity
 

Último (20)

IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-py
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Website
 
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXVoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBX
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
 
201610817 - edge part1
201610817 - edge part1201610817 - edge part1
201610817 - edge part1
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership Blueprint
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystem
 
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team
 
100+ ChatGPT Prompts for SEO Optimization
100+ ChatGPT Prompts for SEO Optimization100+ ChatGPT Prompts for SEO Optimization
100+ ChatGPT Prompts for SEO Optimization
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7
 
All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...
All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...
All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
 
Governance in SharePoint Premium:What's in the box?
Governance in SharePoint Premium:What's in the box?Governance in SharePoint Premium:What's in the box?
Governance in SharePoint Premium:What's in the box?
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation Developers
 

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/
  • 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