SlideShare uma empresa Scribd logo
1 de 13
Putting all your eggs
in one basket
Peter Edwards
Application Developer, University of leeds
“It is the part of a wise man to keep himself to-day
for to-morrow, and not to venture all his eggs in
one basket”
Don Quixote (Part I, Book III, Chapter 9) by Cervantes (P. Motteux, Ed.).
The demise of the UNIX
hosting service
• In December 2016, one of the sites in the University's UNIX
hosting service was hacked
• The site was used to spread malicious code to the other 200+
sites in the service
• When the sites were examined to determine the cause, a large
number were found to be vulnerable
The University of Leeds
WordPress hosting service
• Set up as a 6 month pilot in August 2016 with WP Engine
acting as a hosting provider.
• The purpose of the service was to provide hosting for research
projects, conferences and research groups in a managed
environment
• The service rapidly expanded to include the 90 WordPress
sites which were compromised in UNIX hosting
Migrating sites to WordPress
• Using the WP Engine automated migration tool
• Using WordPress XML import/export tools
• Using the source system to generate a WordPress export
file
• Import content from CSV files or other structured data
source using custom scripts
• Copy and paste
Using WordPress at scale
WordPress multisite
In WordPress core since 2010, version 3.0
• Multiple sites in a single installation
• Control over Theme and Plugin availability
• Low administrative overhead
Domain mapping
In WordPress core since 2016, version 4.5
• Assign domain names to each site on a network
• Results in sites which appear to be independent to the
end user, but are centrally managed
Caching and optimisation
Enabled through plugins and server configuration
• Plugins will save WordPress output to files – using
WordPress like a static site generator
• Servers are configured to check the file based cache rather
than generate content dynamically for each request
Disadvantages…
• Proliferation of independent sites (600+ with 50+ added per
year)
• Sites are uniform and perceived by users as being "boring“
• Requires governance, monitoring and an archiving strategy
Advantages…
• Ability to create sites in a standard supported format quickly
with no coding required
• Sites share a common design, so enhancements such as
Accessibility features can be added to all sites simultaneously
• Ability to implement governance, monitoring and archiving
strategies
Peter Edwards
Application Developer
1.06 IT Fairbairn Site, University of Leeds
0113 34 37959
p.l.edwards@leeds.ac.uk
https://peteredwards.github.io/iwmw2019/

Mais conteúdo relacionado

Mais de IWMW

Mais de IWMW (20)

Library 2.0
Library 2.0Library 2.0
Library 2.0
 
Social participation in student recruitment
Social participation in student recruitmentSocial participation in student recruitment
Social participation in student recruitment
 
Supporting Institutions in Changing Times: Manifesto
Supporting Institutions in Changing Times: ManifestoSupporting Institutions in Changing Times: Manifesto
Supporting Institutions in Changing Times: Manifesto
 
IWMW 2019 photo scavenger hunt highlights
IWMW 2019 photo scavenger hunt highlightsIWMW 2019 photo scavenger hunt highlights
IWMW 2019 photo scavenger hunt highlights
 
How to Turn a Web Strategy into Web Services
How to Turn a Web Strategy into Web ServicesHow to Turn a Web Strategy into Web Services
How to Turn a Web Strategy into Web Services
 
Static Site Generators - Developing Websites in Low-resource Condition
Static Site Generators - Developing Websites in Low-resource ConditionStatic Site Generators - Developing Websites in Low-resource Condition
Static Site Generators - Developing Websites in Low-resource Condition
 
Looking to the Future
Looking to the FutureLooking to the Future
Looking to the Future
 
Looking to the Future
Looking to the FutureLooking to the Future
Looking to the Future
 
Developing Communities of Practice
Developing Communities of PracticeDeveloping Communities of Practice
Developing Communities of Practice
 
How to train your content- so it doesn't slow you down...
How to train your content- so it doesn't slow you down... How to train your content- so it doesn't slow you down...
How to train your content- so it doesn't slow you down...
 
Grassroots & Guerrillas: The Beginnings of a UX Revolution
Grassroots & Guerrillas: The Beginnings of a UX RevolutionGrassroots & Guerrillas: The Beginnings of a UX Revolution
Grassroots & Guerrillas: The Beginnings of a UX Revolution
 
Connecting Your Content: How to Save Time and Improve Content Quality through...
Connecting Your Content: How to Save Time and Improve Content Quality through...Connecting Your Content: How to Save Time and Improve Content Quality through...
Connecting Your Content: How to Save Time and Improve Content Quality through...
 
No, You Don’t Need a Website!
No, You Don’t Need a Website!  No, You Don’t Need a Website!
No, You Don’t Need a Website!
 
Web 101
Web 101Web 101
Web 101
 
Tales of Overcoming Bad Data, Well-Meaning Bosses and Users’ Barefaced Lies
Tales of Overcoming Bad Data, Well-Meaning Bosses and Users’ Barefaced LiesTales of Overcoming Bad Data, Well-Meaning Bosses and Users’ Barefaced Lies
Tales of Overcoming Bad Data, Well-Meaning Bosses and Users’ Barefaced Lies
 
So You Think You Know Accessibility
So You Think You Know AccessibilitySo You Think You Know Accessibility
So You Think You Know Accessibility
 
Happiness for leaders: positive psychology and science of well-being
Happiness for leaders: positive psychology and science of well-beingHappiness for leaders: positive psychology and science of well-being
Happiness for leaders: positive psychology and science of well-being
 
What we Learnt from Rebuilding the University of Derby Website in 10 Months
What we Learnt from Rebuilding the University of Derby Website in 10 Months What we Learnt from Rebuilding the University of Derby Website in 10 Months
What we Learnt from Rebuilding the University of Derby Website in 10 Months
 
Deceptively Simple – Designing a Voice Experience for an Audience that is Sti...
Deceptively Simple – Designing a Voice Experience for an Audience that is Sti...Deceptively Simple – Designing a Voice Experience for an Audience that is Sti...
Deceptively Simple – Designing a Voice Experience for an Audience that is Sti...
 
Your Big Digital Transformation Project Has Been Approved, Now What?
Your Big Digital Transformation Project Has Been Approved, Now What?Your Big Digital Transformation Project Has Been Approved, Now What?
Your Big Digital Transformation Project Has Been Approved, Now What?
 

Último

Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
negromaestrong
 

Último (20)

How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
Dyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxDyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptx
 
Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
psychiatric nursing HISTORY COLLECTION .docx
psychiatric  nursing HISTORY  COLLECTION  .docxpsychiatric  nursing HISTORY  COLLECTION  .docx
psychiatric nursing HISTORY COLLECTION .docx
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
Spatium Project Simulation student brief
Spatium Project Simulation student briefSpatium Project Simulation student brief
Spatium Project Simulation student brief
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
Third Battle of Panipat detailed notes.pptx
Third Battle of Panipat detailed notes.pptxThird Battle of Panipat detailed notes.pptx
Third Battle of Panipat detailed notes.pptx
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
 

Putting All Your Eggs in One Basket

  • 1. Putting all your eggs in one basket Peter Edwards Application Developer, University of leeds
  • 2. “It is the part of a wise man to keep himself to-day for to-morrow, and not to venture all his eggs in one basket” Don Quixote (Part I, Book III, Chapter 9) by Cervantes (P. Motteux, Ed.).
  • 3.
  • 4. The demise of the UNIX hosting service • In December 2016, one of the sites in the University's UNIX hosting service was hacked • The site was used to spread malicious code to the other 200+ sites in the service • When the sites were examined to determine the cause, a large number were found to be vulnerable
  • 5. The University of Leeds WordPress hosting service • Set up as a 6 month pilot in August 2016 with WP Engine acting as a hosting provider. • The purpose of the service was to provide hosting for research projects, conferences and research groups in a managed environment • The service rapidly expanded to include the 90 WordPress sites which were compromised in UNIX hosting
  • 6. Migrating sites to WordPress • Using the WP Engine automated migration tool • Using WordPress XML import/export tools • Using the source system to generate a WordPress export file • Import content from CSV files or other structured data source using custom scripts • Copy and paste
  • 8. WordPress multisite In WordPress core since 2010, version 3.0 • Multiple sites in a single installation • Control over Theme and Plugin availability • Low administrative overhead
  • 9. Domain mapping In WordPress core since 2016, version 4.5 • Assign domain names to each site on a network • Results in sites which appear to be independent to the end user, but are centrally managed
  • 10. Caching and optimisation Enabled through plugins and server configuration • Plugins will save WordPress output to files – using WordPress like a static site generator • Servers are configured to check the file based cache rather than generate content dynamically for each request
  • 11. Disadvantages… • Proliferation of independent sites (600+ with 50+ added per year) • Sites are uniform and perceived by users as being "boring“ • Requires governance, monitoring and an archiving strategy
  • 12. Advantages… • Ability to create sites in a standard supported format quickly with no coding required • Sites share a common design, so enhancements such as Accessibility features can be added to all sites simultaneously • Ability to implement governance, monitoring and archiving strategies
  • 13. Peter Edwards Application Developer 1.06 IT Fairbairn Site, University of Leeds 0113 34 37959 p.l.edwards@leeds.ac.uk https://peteredwards.github.io/iwmw2019/

Notas do Editor

  1. Hi, I've been working at the University of Leeds since 2009 as an Application Developer, first in two of the Faculties at the University, and later as part of a central team. My background is in Libraries and the Arts Sector, and I've been a developer now for over 20 years.
  2. This talk is about the impracticality of diversification when it comes to choosing a content management platform, and the benefits you can gain when you settle on one solution and use it for everything. Although focusing on a single solution isn't such a good idea when you are running a portfolio of investments and you need to spread risk, in this case putting all your eggs in one basket serves to mitigate risk. I spent a good hour looking up this phrase - apparently it is from a "Franco-Cockney" translation which infused the original text with flippancy and facetiousness, and has been described as "worse than worthless" by other translators of the text.
  3. When I first came to the University of Leeds, the CMS landscape was very diverse. The University operated a UNIX web hosting service much like a commercial hosting service, where staff could request web space and do whatever they wished with it once they got it. This resulted in a profusion of different CMS systems, static sites and custom applications. The systems depicted on this slide were all represented there, along with some I couldn't find logos for any more.
  4. In December 2016, all the sites in the UNIX hosting service were compromised and malicious code was inserted into each site. Any files which were writable by the webserver user were targets, and malicious JavaScript and PHP code was inserted into many of the files. Specific systems had their own attack vectors, such as the theme files in WordPress, the site cache in MODx, or the database in drupal, mediawiki and others. All sites needed to be examined for signs of the compromise, and it quickly became apparent that the initial attack vector would have been impossible to determine, as there were so many possibilities to choose from.
  5. Initially, the service consisted of a single WordPress multisite installation containing 160+ sites which had been created in 2011 for the two Faculties in which I had been working. This installation had outgrown its hosting (in a Virtual Machine on campus) and the service needed to be formalised and expanded to include other Faculties. The purpose of the service was to provide hosting for small to medium sized websites for research projects, conferences and research groups in a managed environment. However, half way through the pilot, the service was almost filled to capacity with sites moving from the compromised UNIX hosting service
  6. About half of WordPress sites were moved using an automated tool written by developers at WP Engine, but they had to be cleared of any infected files beforehand. Most of the remaining WordPress sites could be migrated using built-in import/export tools in WordPress. Sites in other systems needed to be migrated to WordPress, so some migrations were carried out using the source system to generate a WordPress import file or CSV/JSON data which could then be imported into WordPress using custom scripts or plugins - this was only carried out for larger sites. The majority were migrated manually by copying and pasting content. Since 2017, a large number of sites have been migrated to WordPress from Faculties when their main site was moved to the corporate CMS (Jadu). In 2018, over 120 sites were created in the service.
  7. The main disadvantage in using WordPress for multiple sites is the frequency this system, and its supporting plugins and themes, are updated. When you reach over 20 sites in separate installations, the need for an automated updating system becomes important. ManageWP is probably the best of these (which remains free of charge) at present, but there are alternatives.
  8. For those of you not familiar with WordPress multisite, it enables you to set up multiple WordPress sites which utilise the same codebase and database. Users, Plugins and Themes are managed at a "Network" level, which makes it easy to control what software is available to users on sites within the Network. We currently use WordPress multisite to host over 600 websites at the University of Leeds. These are spread across a few separate WordPress installations, so sites utilising the University's branded theme are all grouped together in an installation which only has this theme installed and the plugins which are known to work with it. Non-branded sites are placed in a different installation with a single theme (GeneratePress) installed along with the plugins which are known to work with that theme. One installation is used to dump older WordPress sites developed by third parties and sites which require esoteric plugins, in order to separate them from the more simple sites.
  9. Domain mapping allows you to assign different domain names to each of the sites in a multisite Network. All websites in the service at Leeds use their own domain names, and administrators and editors of these sites have the same experience as they would on a standalone installation of WordPress, with the exception that they cannot change the Theme, install Plugins or add users.
  10. WP Engine provides caching and optimisation on their platform, but this can be set up quite easily using caching plugins and a little bit of server configuration. WordPress is not an optimal system for websites, and all pages should ideally be cached as HTML files by an appropriate plugin. WP Engine go a few steps further than this, including loading databases into RAM, which has caused problems for us with the multisite installations.
  11. The disadvantages in using WordPress like this can also be turned around to be advantages (as you will see on the next slide). The main disadvantage is that having a service which aids the proliferation of websites requires governance and monitoring, and contribution from Communications and Marketing to ensure that information is not being unnecessarily duplicated and maintains a high level of quality.
  12. The ability to create sites in a standard design which follows the University brand is something which was sorely needed at the University of Leeds. There are still examples of websites hosted on campus which use the University logo from the 1980s and distinctly mid-1990s designs. Any new sites which utilise the leeds.ac.uk domain are now forced to apply the University branding. The tools WP Engine provide on their platform to update code we produce are very powerful, and I can update the themes and plugins created by the Development team on multiple installations in a matter of minutes. We are hoping to automate this process further using Azure DevOps. As all sites are within the same system, we also have access to data for them such as last updated dates, page and post counts, and the combined size of any uploaded files. We also use google analytics on all sites to monitor traffic and inform archiving strategies.