Reader small image

You're reading from  Drupal 10 Masterclass

Product typeBook
Published inDec 2023
PublisherPackt
ISBN-139781837633104
Edition1st Edition
Tools
Concepts
Right arrow
Author (1)
Adam Bergstein
Adam Bergstein
author image
Adam Bergstein

Adam Bergstein is a product engineering leader and an architect. He has been a long-time Drupal community member, a routine speaker at Drupal community events around the globe, and provided keynotes for several events. He has maintained and contributed to many Drupal projects, including Password Policy, Taxonomy Menu, and more. Adam is the lead of Simplytest, a free service, and a project that offers Drupal community members testing sandboxes. He has also worked for both agencies building Drupal applications and Drupal service providers building Drupal-related products. He has led the Drupal Community Governance Task Force and is serving a term as a community board member of the Drupal Association.
Read more about Adam Bergstein

Right arrow

Infrastructure and Overview of Technical Architecture

This chapter focuses on many technical aspects of Drupal. It begins by covering the required infrastructure to host Drupal applications. Then, the three primary components of Drupal’s application architecture are reviewed. After that, Drupal’s code architecture is explored from both the backend and the frontend, covering the programming languages, tools, and practices used to develop Drupal. The chapter concludes with a high-level overview of how to effectively maintain a Drupal site and perform standard operations, such as code updates.

In this chapter, we’re going to cover the following main topics:

  • Hosting Drupal and platform requirements
  • Drupal architecture
  • Drupal management and operations

Hosting Drupal and platform requirements

Drupal requires a hosted platform to run any Drupal application. Drupal runs as a server-side rendered PHP application accessible from a web browser. The hosting platform must be able to process requests made through its web server to execute the Drupal application. Drupal is not stateless. To be able to make configurations and store content, Drupal requires the hosting platform to persistently store files and structured content in a database. The context of each request helps the application determine how to process the request. Drupal loads its configuration, queries relevant information from the database, and leverages PHP to do the processing.

The following figure shows an example LAMP (Linux, Apache, MySQL, and PHP) stack with a Drupal application:

Figure 3.1 – High-level LAMP stack and request flow

Figure 3.1 – High-level LAMP stack and request flow

Each version of Drupal sets its own platform requirements. Platform requirements are published on drupal...

Drupal architecture

Drupal’s architecture is both broad and deep; there are many technical aspects of Drupal, and each typically requires some level of specialized knowledge to understand. It starts with the infrastructure that runs the Drupal application, which has a specific stack and knowledge of system administration. The application itself has three main architectural components, which are detailed shortly. The most complex is code. Backend development and frontend development leverage different programming languages and best practices. This section will not provide a deep dive into any specific subject matter, but rather an overview of high-level knowledge for all of Drupal.

Infrastructure technical stack

Drupal spans many layers of a technical stack, as shown by its platform requirements. Drupal is an application that is commonly associated with the LAMP stack. At the lowest level, Drupal dependencies run on operating systems. Given the free and open-source nature...

Drupal management and operations

Often people joke that Drupal is free “like a puppy.” While the software is made available for free through the open-source community, it takes work to build your application and subsequently maintain and operate it. It can be as basic as performing routine code updates, or it may involve complex concepts, such as staged code workflows and automated deployment processes. This section provides approaches and considerations for maintenance and operations for a Drupal application.

Maintenance

Drupal runs at the top of a technology stack, but thoughtful maintenance includes keeping the full stack up to date. Updates apply at all levels of the operating system (OS), packages running on the OS, the web server, the database server, and more. PHP commonly runs as a package of the OS and is configured on the web server. Any update in the stack can introduce new or updated configurations that should be carefully managed because they may not...

Summary

In this chapter, we covered aspects of Drupal’s high-level architecture, including its backend application and its frontend presentation layer. The three main components of Drupal, code, files, and the database, were highlighted. Various hosting platform requirements were defined and high-level deployment strategies were shared, covering each of the three main components. Finally, the chapter explained maintenance considerations regarding Drupal architecture to help you effectively run Drupal applications. The next chapter will explore the Drupal community.

lock icon
The rest of the chapter is locked
You have been reading a chapter from
Drupal 10 Masterclass
Published in: Dec 2023Publisher: PacktISBN-13: 9781837633104
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
undefined
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at €14.99/month. Cancel anytime

Author (1)

author image
Adam Bergstein

Adam Bergstein is a product engineering leader and an architect. He has been a long-time Drupal community member, a routine speaker at Drupal community events around the globe, and provided keynotes for several events. He has maintained and contributed to many Drupal projects, including Password Policy, Taxonomy Menu, and more. Adam is the lead of Simplytest, a free service, and a project that offers Drupal community members testing sandboxes. He has also worked for both agencies building Drupal applications and Drupal service providers building Drupal-related products. He has led the Drupal Community Governance Task Force and is serving a term as a community board member of the Drupal Association.
Read more about Adam Bergstein