Building the Future: Hemant’s Insights on Drupal Architecture

by Akanksha Mishra on

Exploring Scalable Solutions, Emerging Technologies, and Developer Trends

Hemant Gupta

About Hemant Gupta:

Hemant is a Technical Architect at QED42, where he has been instrumental in designing scalable and high-performance architectures for complex Drupal projects. With over seven years of experience at QED42, he has progressed from hands-on development to technical leadership, mentoring teams and driving innovation. Hemant is passionate about integrating emerging technologies, including AI and machine learning, into Drupal solutions to enhance functionality and user experience. An advocate for knowledge sharing within the Drupal community, he actively participates in initiatives that promote continuous learning and collaboration among developers. He is also leading the contribution efforts to Drupal and various starshot initiatives from QED42.

Introduction:

In the ever-evolving web development landscape, staying ahead requires a unique blend of technical expertise, innovation, and adaptability. Hemant, a seasoned Technical Architect at QED42, embodies these qualities as he navigates the challenges of modern Drupal development. With a career that has seen him transition from a hands-on developer to a leader in architectural solutions, Hemant’s insights offer a roadmap for balancing client needs with technical realities. In this interview, he shares his journey, explores emerging technologies like AI, and discusses the pivotal trends shaping the future of Drupal development, all while emphasizing the importance of continuous learning and community engagement.

Q: Hemant, you’ve been involved in many technical roles over the years. Could you start by telling us about your journey at QED42 and how it has shaped your career as a Technical Architect?

Hemant: Absolutely! I started with QED42 about seven years ago. My journey has been dynamic, allowing me to work on a wide range of projects across industries. I was initially involved with more hands-on development tasks, but over time, I grew into a technical leadership role, eventually becoming a Technical Architect.

One of the things I’ve enjoyed most is QED42's culture of continuous learning and collaboration. It’s allowed me to grow not just as a developer, but as a leader and mentor. I've worked on various complex, large-scale projects, which has sharpened my skills in architecting scalable solutions and handling intricate backend challenges. Each project has taught me something new, and the learning never really stops.

Hemant at DrupalCamp Pune
Hemant Gupta at DrupalCamp Pune 2024

Q: In terms of your role at QED42, how do you balance being a technical leader while also staying up-to-date with emerging trends and technologies?

Hemant: It’s a challenge to balance leadership responsibilities with keeping up with the latest technology. What works for me is a structured approach to learning. I set aside time each week, even if it’s just an hour or two, to read articles, attend webinars, or experiment with new tools and technologies.

At QED42, we have a culture of knowledge sharing, so it’s easy to learn from your peers. We often have internal sessions where someone who’s mastered a particular technology shares their experience with the rest of the team. This helps everyone stay updated without having to figure things out individually. Additionally, every Friday we organize a session in the morning known as OS wrap-up call, where we talk about all things open source, what happened in the past week in Drupal ecosystem, and teammates share their learnings on a particular topic.

"In addition, being a part of the Drupal community is a huge advantage. The community is very active and there’s always something new to learn — whether it’s related to a new module, updates in the core, or discussions around future developments in the ecosystem."

That involvement is a big part of how I keep up with trends while managing my role as a leader.

Q: What are the most critical factors you consider when designing scalable and high-performance architectures for Drupal projects?

Hemant: The most important thing when designing scalable architectures is understanding the client’s business needs and how they might evolve. You have to plan for scalability from day one, considering the future growth in traffic, content, and users.

Another key factor is performance optimization at every layer of the stack — from database queries to caching strategies and server configurations. 

"One size does not fit all, so it’s important to tailor the architecture to the specific requirements of the project."

For instance, projects with high traffic need a very different approach compared to smaller ones. Modularity also plays a big role. We ensure that the architecture is flexible enough to accommodate future feature additions without having to rebuild everything from scratch. I like to plan in such a way that it allows seamless scaling, whether it's adding more servers, using containerization or improving code efficiency. Lastly, security is always a top priority, as larger and more complex systems become attractive targets for attackers.

Q: With your Acquia certifications and extensive backend experience, how do you approach optimizing Drupal’s backend performance, particularly in high-traffic or complex environments?

Hemant: When it comes to high-traffic environments, I always start with profiling the current system to identify bottlenecks. Tools like XHProf, Blackfire, or New Relic help to pinpoint where the system is slowing down, whether it’s a specific database query, a slow page render, or an unoptimized API call.

Once we know the root cause, we start optimizing at multiple levels. For example, we optimize the database by indexing frequently queried fields or using Memcached for caching. We also use horizontal scaling techniques to distribute the load across multiple servers. On the Drupal side, efficient use of caching mechanisms like Dynamic Page Cache, cache tags, and BigPipe is crucial.

It’s also important to keep custom code to a minimum because, often, poorly written custom code is the culprit for performance issues. If we do need to write custom code, we ensure it’s following Drupal’s best practices. Finally, we make sure that the infrastructure can scale as needed. Using cloud services like AWS ECS or Acquia Cloud next allows for auto-scaling based on demand, ensuring that the system can handle traffic spikes without performance degradation.

Hemant at DrupalCamp Pune
Hemant Gupta giving a session at DrupalCamp Pune 2024

Q: How do you incorporate emerging technologies, such as AI or machine learning, into your Drupal architecture solutions to enhance functionality and user experience?

Hemant: AI and machine learning are becoming increasingly important, even in traditional CMS ecosystems like Drupal. While Drupal recently doesn't have native AI features, we integrate third-party AI services to enhance functionality. For example, we're working on projects where instead of keyword-based search we are building semantic search using  AI-powered RAG models that provide more accurate search results based on user queries.

Machine learning models can be used to analyze user interaction patterns and predict what content will resonate most with them. We are also trying out AI for tasks like content tagging and categorization, which can significantly reduce manual effort, especially in large content-heavy websites.

"Integrating these technologies requires a clear understanding of the business problem you're trying to solve and then finding the right tool or service that can seamlessly integrate with Drupal. "

Drupal's API-first architecture makes this easier, allowing us to connect to external services without much friction. At the end of the day, it’s about enhancing the user experience by making the system smarter and more intuitive for both the end-user and content managers.

Additionally, we are also leveraging AI tools to accelerate our development workflows, like AI-assisted coding, AI for code reviews, etc.

"Recently we launched an online tools to allow developers to easily make their twig components compatible with SDC and Experience Builder." 

More details can be found on our blog post https://www.qed42.com/insights/converting-twig-to-sdc-made-simple-with-code-gen-tool-by-qed42. We are also adding a Drush command which builds on top of Drupal AI module to support this natively in Drupal

Q: When faced with conflicting client requirements and technical limitations, how do you navigate these challenges to deliver a successful project?

Hemant: This is always a tricky balance. The first step is to ensure clear and constant communication with the client. We make sure they understand the technical constraints and limitations, but we also focus on what is possible within those boundaries. For example, if a client wants a feature that could slow down the system, we explain the trade-offs in terms of performance and scalability.

Often, there are ways to meet the client’s needs without compromising the project. We look for creative solutions or suggest alternatives that may not be exactly what they envisioned but still achieve their goals. For instance, if a client wants real-time data updates, which could put a load on the server, we might suggest using a queue system that processes the updates in near-real-time instead. At the same time, it’s important to manage expectations from the beginning. 

"We always try to involve the client in the technical discussions early on, so they understand why some things might not be feasible or could require a different approach." 

Ultimately, it’s about finding a compromise that delivers value to the client while ensuring the project remains technically sound.

Q: Hemant, we’ve already spoken about balancing client needs and technical challenges. But, if a client asks not to use AI-driven tools, similar to how some of our clients say they don’t want us to use ChatGPT, how do you manage these kinds of conflicting requirements?

Hemant: That’s a great question. First of all, I usually present the client with multiple solutions to a problem. For example, we implemented a PDF generation system for a client’s website. We proposed 2 to 3 different approaches. One option was to implement it directly in Drupal, but it had some downsides. Another approach was to run it on the server or even use AWS Lambda functions. Alongside each solution, we shared the cost implications — not just in terms of development time but also the infrastructure costs.

"I believe in being transparent about the pros and cons of each approach. The client, knowing their budget, can decide which solution works best for them. Sometimes, I suggest starting with a low-budget option and upgrading to a more complex solution later if it proves valuable to their business."

Regarding AI-driven solutions, it’s the same idea. For one client, we proposed using an AI-powered search tool. Although they liked the idea, they didn’t feel their content was in a good place to leverage it yet. 

So, we recommended refining their content first and then returning to the AI solution later. The key challenge is often balancing technical possibilities with budget constraints, and that’s how we navigate such conflicting requirements.

Q: That’s insightful, Hemant. Now, has there ever been a situation where you had to explain a highly technical problem to a non-technical client? How do you approach this kind of conversation?

Hemant: Yes, it happens quite often. One example was when I had to demonstrate a highly technical solution to a client. Rather than diving into complex jargon, I focused on an aspect that they could easily understand — the page loading speed. Everyone can appreciate a faster-loading website. So, I simply demonstrated the before-and-after page loading times to showcase the improvements we made.

The idea is to avoid technical jargon unless the client has some technical understanding. When they do, I’m happy to engage in deeper technical discussions. But in most cases, simplifying the problem and focusing on tangible results is the best approach.

Q: In your view, what are the key trends shaping the future of backend development in Drupal, and how should developers prepare for these changes?

Hemant: 

"One of the biggest trends I see is the shift toward decoupled or headless Drupal. "

More and more, we’re building APIs that allow for greater flexibility in how content is delivered and consumed. This opens up a lot of possibilities, like using JavaScript frameworks for front-end development or integrating with mobile apps.

"Another trend is the growing importance of AI and machine learning in content management. Drupal developers will need to become more familiar with these technologies and how to integrate them into the ecosystem."

Cloud-native architectures are also becoming more prominent. There’s a big push towards containerization with Docker and Kubernetes, as well as serverless architectures, where you can deploy code without worrying about the underlying infrastructure. To stay relevant, developers should invest time in learning about cloud platforms and tools that can help automate scaling and deployment.

Finally, automation is key. Automating repetitive tasks, whether through CI/CD pipelines or infrastructure-as-code, is becoming standard. Developers should be comfortable with these practices to improve both development speed and system reliability. It’s an exciting time to be in Drupal backend development, and staying curious and willing to learn will be essential to keeping up with these trends.

Q: Great approach! Now, turning to the future of backend development in Drupal — specifically related to Project Starshot and Recipes — what are the key trends shaping this space, and how should developers prepare?

Hemant: Developers need to stay updated with all the initiatives under Project Starshot. It’s a collection of several initiatives like Project Browser, Recipes, Experience Builder, AI integration, and Automatic Updates. Each of these initiatives is designed to make Drupal development faster and more efficient.

"Recipes are a game-changer. They allow developers to package reusable solutions."

Previously, if you created an event management system for one client, you’d have to recreate it from scratch for another client. With Recipes, you package the entire solution and reuse it across different projects, saving time and effort.

"Another big development is the Project Browser, which simplifies how users download and install modules or custom solutions." 

You can even curate a set of specific solutions for clients, ensuring they only use what’s relevant to their project.
Experience Builder is also exciting because it modernizes the page-building process, making it more dynamic. AI and automatic updates are other trends that developers need to keep an eye on. AI will soon be integrated into various processes including site building, and automatic updates will streamline how we maintain sites, especially for smaller releases.

Q: That sounds like an exciting future for Drupal! Now, as a millennial who has seen the shift from manual to automated processes, what advice would you give to Gen Z and Gen Alpha developers entering the field? Should they still focus on manual processes or dive straight into automation?

Hemant: My advice would be to focus on two things: learning and problem-solving. These are the core skills every developer needs. While automation is fantastic and reduces manual work, the ability to learn and solve problems creatively is invaluable. It doesn’t matter what language or tools you’re using; it’s about understanding the problem and figuring out how to solve it.
Developers entering the field should prioritize continuous learning and approach every challenge with a problem-solving mindset. That’s what will drive growth in their careers.

Hemant at DrupalCamp Pune
Hemant Gupta at DrupalCamp Pune 2024

Q: That’s excellent advice, Hemant. Finally, you’ve recently attended Drupal Camp Pune. What were some interesting takeaways from that event, especially around engaging with students and contributions?

Hemant: Drupal Camp Pune was fantastic. One of the highlights was the participation of students, which was more than we expected. During the contribution sprint, many students joined us, even though the event was focused on contributing to Drupal. We were surprised by their interest and enthusiasm.

"To engage them, we introduced the "Try Drupal" experience, which is a new initiative leveraging WebAssembly. "

It allows users to run Drupal directly in the browser without needing to install any dependencies. This made it very easy for students to get started and understand the basics of Drupal — content types, fields, etc. The ease of access made it a great tool for educating them about Drupal.

Overall, the event was a great success, and I believe the "Try Drupal" experience will play a significant role in onboarding new users and contributors to the platform.