13-15 March 2020

City, University London

DevOps & Infrastructure

Save the planet! How to flat pack your Drupal staging servers using Ansible

Prerequisites

This session is best suited for Drupal users who have a working knowledge of Systems Administration.  We will walk through a working tutorial on how to use Ansible to spin up Drupal staging servers on demand, so only a relatively basic understanding of Systems Administration is required to follow the session.  We will publish this tutorial, and open source the code libraries we use to complete it, so users can do their own research after the session to put the work to good use.

Session details

You've done the hard yards and your latest Drupal site build has been pushed live.  When the dust settles the project ticks over into the support and maintenance phase.  Periodically you're going to need to apply Drupal updates and push minor new features and bug fixes to the live site.  You're a professional so you always follow the 'Development -> Staging -> Live' release process.  So, you leave a staging version of the site up and running so that you can test your work and demo it to clients before pushing to live.  Thanks to the miracles of cloud computing it's easy enough to setup the staging server, but there's still enough legwork involved that it's more cost effective to leave the staging server running rather than destroying and rebuilding on demand.  But...there's a cost to this aside from the small financial one which you pass on to the end client anyway, and that's the carbon footprint of the staging server itself. 

Cloud computing accounts for a sizeable chunk of global carbon emissions.  Imagine how much that could be reduced if we all ditched the idea of permanently retaining staging servers and created them on demand instead.  

In this session we demo a working example of how to ‘flat pack’ your Drupal staging servers, so you can spin them up on demand in a matter of minutes.  We’re open sourcing the code library we use to achieve this, and will publish the accompanying tutorial online, so come along and learn how you can turn off all your staging servers and help save the planet!

Skill Level
On
Session Track
Have you spoken at DrupalCamp London before?
No
Previous speaking experience
Previous experience of presenting at internal company meetings with around 100 staff. Ongoing experience of presenting at client pitches.

In memory database MemSQL. When and how to use with Drupal.

Prerequisites

Understanding of modern DBMS, performance optimisation.

Session details

MemSQL - what it is. Key features.

Comparison with MySQL. Performance tests.

Integration with Drupal. Introducing DB driver for Drupal 8 https://www.drupal.org/project/memsql

When it can be used effectively and when it should be avoided to be used.

On
Session Track
Have you spoken at DrupalCamp London before?
No
Previous speaking experience
Drupal Camp Belarus 2018 https://www.enik.io/drupal/theme/2019/06/10/component-based-theming.html
Drupal Camp Kyiv 2015 https://www.enik.io/drupal/modules/2018/02/26/avoid-theft-data.html
Drupal Camp Moscow 2014 https://www.enik.io/drupal/architecture/2014/12/26/lazy-evaluation.html

Architecting a Highly Scalable, Voice enabled and Platform agnostic Federated Search

Scheduled day
Prerequisites

Basic working knowledge of Drupal

Session details

Co-Speaker: Abhijeet Kumar Sinha

According to IDC, 90% of all the digital information is unstructured locked in multiple repositories and digital businesses have either underinvested in technology or invested in substandard technology in order to access them. Traditional search method leads to failures majorly due to the absence of optimisation practices and lack of unified framework. In a data-driven world, unlocking the hidden insights, that are shut off from view within both structured and unstructured data present in multiple repositories, is more critical than ever. 

Today, the sheer quantity and the pace of digital information that knowledge workers have to deal with every day are dramatically increasing. To tame the chaos of multiple repositories is a challenge. There has to be a deployment of a search method over distributed and heterogeneous data sets in order to receive a unified results list. This brings us to Federated Search.

OpenSense Labs initiated one such enterprise search tinkering robust Apache Solr and versatile Drupal 8 for eleven different websites with a great variation in CMS leveraging portability using Node JS.

In this session, we will equip you with the know-how of:

  • Enhancing website search experience retaining a blend of useful and accurate results
  • Expanding inter-site searchability decreasing the bounce rate and latency
  • Increasing data discovery and interoperability of information by cross-functional support to a plethora of platforms

Architecture which will be walked through in the Session.

Federated Search - Architecture
Federated Search - Architecture

The major takeaways would be:

  1. Challenges amidst architecting a microservice
  2. Scraping content using an open-source  tool  like Scrappy
  3. Choosing the right set of stack and technologies.
  4. Fiddling the Solr configuration and boosting queries
  5. Create a pluggable and platform agnostic search UI with react. 
  6. What to keep in mind while building a cognitive voice search.
     
Room
Session Time
On
Session Track
Have you spoken at DrupalCamp London before?
No
Previous speaking experience
BADCAMP 2019 - https://www.youtube.com/watch?v=sD9MbEKmwoM
Drupalcon Nashville 2018 - https://www.youtube.com/watch?v=BNeq4ruZFeo
Drupalcon Amsterdam 2019 - https://www.youtube.com/watch?v=jrp1rAO74UM

Phased migration of the University of West London (D7 to D8)

Prerequisites

A basic understanding of systems and system architecture/configuration will be helpful to you, but it's not necessary. This talk is designed so that everyone from beginners to advanced users will get something out of it.

Session details

Speakers

Abstract

There are over 470k websites remaining on Drupal 7 and many of these will likely require months of planning and development to fully migrate to Drupal 8. For the organisations who operate these sites, developing and migrating over to new infrastructure over an extended period, especially when multiple stakeholders are involved, can often be a less than ideal situation to find yourself in.

Susan Vittery faced this conundrum during the replatforming of the UWL website, so the opportunity to deliver a phased migration was explored and settled on.

To help site owners prepare for similar significant migrations we’ll lift the hood on the D7 to D8 migration for The University of West London.

Expect an honest and open expose from both the agency and client perspective as we discuss:

The cultural and business challenges

  • How we addressed technical and human resourcing requirements for a migration
  • The challenges an organisational skills gap presents for the agency, client and visitors both technically, for human resource and reputation of the university
  • Why a phased migration was undertaken and how it was justified
  • What measures were put in place to mitigate risk

The technical obstacles we overcame

  • Strategies employed towards code, content, systems integrations
  • How we maintained both Drupal 7 and Drupal 8 sites in parallel
  • The role of the product owner, project manager and lead developer
  • How we improved the process based on learnings from rollouts of early phases

And finally, was it a success and how would we do it differently in the future?

CTI project case study

https://www.ctidigital.com/our-clients/university-of-west-london-drupal-migration

Skill Level
On
Session Track
Have you spoken at DrupalCamp London before?
No

Building an effective platform strategy using Open Service Broker API

Scheduled day
Prerequisites

* Knowledge of Kubernetes or similar tools would be good to have.

* Knowledge of Decoupled Systems would be good to have.

Session details

Abstract

An effective platform strategy lays the path for digital transformation journey of an organisation. If we ask what constitutes a digital platform, the answer is a foundational platform which constitutes of self-service APIs, tools, knowledge base which brings autonomy to delivery teams to deliver digital products.

Kubernetes has been one of the key enablers for building such a foundational platform where it has evolved into a strategic platform for deploying and scaling applications at scale. One of the key factors regarding rapid adoption of k8s has been it’s extensibility & concepts like *Service Catalog*, *Open Service Broker API* have made it easier to use managed software offering by a provider.

Open Service Broker API and Service Catalog are game changers in the current cloud native ecosystem. Most of the organisations are running their stateless workloads in Kubernetes but for persistence or messaging queues etc there is still a preference to use some managed service by a provider due to overhead in setting up such a service and administering it. This is where Service Catalog and Open Service Broker API shines and it abstracts the details of the service used and the application can simply use it as a service hence providing a unified experience to provision a service offered by a service provider.

Learning Objectives

The session focuses on how Open Service Broker API works and how it allows service providers to offer services to anyone, regardless of the technology or infrastructure those providers wish to utilise. 

Some key learning objectives are:-

  • Extension of Kubernetes, particularly how Kubernetes can be extended with special focus on Service Catalog
  • Developer/Operator Experience: How to create seamless experiences for Developers and Opeators.
  • Service Catalog/OSBAPI: Audience with gain deep insight into how OSBAPI and Service Catalog work and also gain insights into how they can build Service Brokers.

At the end of this session audience will understand some of the core concepts of Kubernetes and also understand the extensibility part of it.

Target Audience

This session is targeted for:

  • DevOps Engineers: They will learn how they can provide seamless developer experience to developers and reduce their pain :)
  • Developers: They will learn how they can use available tooling for better observability and debuggability and work with operations team without being a pain :)
  • Project Managers
Room
Session Time
On
Session Track
Have you spoken at DrupalCamp London before?
Yes
Previous speaking experience
* Drupalcon Asia: https://events.drupal.org/asia2016/sessions/how-build-sustainable-contribution-culture-your-organization
* Bad Camp 2015: https://2015.badcamp.net/session/large-scale-distributed-search-using-elasticsearch
* Speaker Drupal Camp London 2015
* Speaker Drupal Camp Brighton 2015

Deliver omnichannel secure & resilient digital experience with Decoupled Drupal using Kubernetes & Istio

Prerequisites

* Knowledge of Kubernetes or similar tools would be good to have.

* Knowledge of Decoupled Systems would be good to have.

Session details

Abstract

Every organisation wants to deliver exceptional digital experience to wow it’s customers and in the current era this experience is not just limited to websites or apps instead it is an omnichannel experience(wearable tech, voice and IoT). This is where Drupal shines and using API-first Drupal as a central data service as a part of decoupled site, one can deliver the exceptional end user experience to its users.

Kubernetes has evolved into a strategic platform for deploying and scaling applications across a multitude of infrastructure. It’s built-in-abstractions for efficiently deploying, scaling and managing applications makes it a preferred orchestration system. 

To deliver exceptional digital experience at scale using Drupal as a central data services, Kubernetes is indeed a strategic platform. But decoupled systems bring some inherent problems with them like traffic management, security,  authentication, rate limiting and observability and typically all organisation would need these capabilities and Istio solves most of these problems which arise in distributed systems.

Learning Objectives

Decoupled systems add a great values like discrete services which are independent and all other benefits microservices provide but they come up some problems like security, lack of observability/debuggability, traffic management and resilience. Image a case where rouge microservice can put your entire application down. Hence solving these problems are important and we would focus on how these problems can be solved at scale.

Topics

  • Brief introduction to Kubernetes

  • Introduction to Istio and it’s uses

  • How Istio can help where Drupal is used a backend content service with a focus on security, traffic management, resilience and observability and we will answer how Istio can solve some of challenges like

    • How to secure inter-service communication?

    • How to avoid cascading failure where one rogue service might bring everything down?

    • How to debug and trace the bug in case of an issue? Is there a bug in my react app or middleware or Drupal(Backend Service)?

    • How to find and track performance issues?

The session will comprise of a live demo of a decoupled applications comprising of react app, nodeJS middleware and Drupal as a content service.

Target Audience

This session is targeted for:

  • DevOps Engineers: They will learn how they can provide seamless developer experience to developers and reduce their pain :)
  • Developers: They will learn how they can use available tooling for better observability and debuggability and work with operations team without being a pain :)
  • Project Managers
On
Session Track
Have you spoken at DrupalCamp London before?
Yes
Previous speaking experience
* Drupalcon Asia: https://events.drupal.org/asia2016/sessions/how-build-sustainable-contribution-culture-your-organization
* Bad Camp 2015: https://2015.badcamp.net/session/large-scale-distributed-search-using-elasticsearch
* Speaker Drupal Camp London 2015
* Speaker Drupal Camp Brighton 2015

Design a CI and CD workflow for both front-end and the Drupal back-end in a Decoupled Drupal solution

Scheduled day
Prerequisites
  • Basic understanding of a CI tool like Jenkins.
  • Basic understanding of the docker containers system.

 

Session details

A typical Drupal website today needs a moderately sized team. In fact, there would most likely be more than one team in case of Decoupled Drupal solutions. A team of any size (even size of one) needs automation and standard workflows. There is probably no developer workflow for automation more ubiquitous than using continuous integration in some fashion.

In the vast landscape of CI/CD tools available today, it is difficult to pick the right tool or even the right workflow for your team. In this session, I will talk about one workflow we adopted for a recent Decoupled Drupal solution with multi-site architecture and multiple front-ends. I will describe how we use Jenkins to run builds and deployments to certain environments for an Acquia Cloud Site Factory hosted Drupal back-end and multiple Angular front-end websites hosted on multiple cloud providers. We will also discuss the testing strategy for the code before deployment.

Further, we will discuss specific methods where we can reuse the Jenkins pipeline definition code in multiple repositories to help maintainability. We will talk about how we would use Docker to run containers with a specific build and test tools rather than installing it on the Jenkins server and using tools like BLT as part of this process.

In this session, you will learn:

  • What components are required in building a build toolchain.

  • Using Jenkins to configure builds and writing a scripted pipeline.

  • Use Docker to run tools without installing it on the Jenkins server.

  • Share pipeline code across multiple repositories for back-end and front-end.

  • Deploying code and even provision infrastructure conditionally and securely.

Room
Session Time
On
Session Track
Have you spoken at DrupalCamp London before?
Yes
Previous speaking experience
I have spoken at various DrupalCons, camps, meetups, and internal webinars. I have spoken at the last two DrupalCamps in London as well.

Build infrastructure for a multi-site Decoupled Drupal solution using Terraform

Scheduled day
Prerequisites
  • Basic understanding of decoupling a Drupal website
  • Basic understanding of JavaScript and front-end stack
  • Good understanding of server infrastructure, CDNs, and cloud infrastructure.
Session details

While hosting a Drupal website can be a challenge, it is largely a solved problem with several PaaS providers providing optimized Drupal hosting. Even if we didn’t want to use that, there is extensive documentation around best practices in hosting a PHP application or Drupal specifically.

In a Decoupled Drupal setup, we would need to even host the front-end application separately somewhere apart from Drupal. In this session, we will discuss how we hosted a “serverless” front-end application with multiple cloud providers available via a CDN while allowing it to access Drupal’s API endpoints on the edge (again with FaaS computing paradigm). We will also discuss developer constraints, security considerations, and website performance.

Further, we will also see how such an application can be provisioned multiple times in different regions of more than one cloud providers using Terraform. We will talk about using Terraform and writing wrapper scripts for Terraform to make it easier and more consistent to deploy infrastructure. Further, we will discuss how much of this setup can be automated considering enterprise security regulations, developer effectiveness, and customizations.

In this session, you will learn:

  • Plan your API contract across multiple websites in a multi-site Drupal setup.

  • Architect a “serverless” solution to serve the front-end with data retrieved via an API from Drupal.

  • Use Terraform to build this setup.

  • Run Terraform modules using a wrapper script or even via a CI tool.

  • Enterprise level security considerations such as IP whitelisting the access to Drupal server, firewall, granular access to cloud resources, etc.

Room
Skill Level
Session Time
On
Session Track
Have you spoken at DrupalCamp London before?
Yes
Previous speaking experience
I have spoken at various DrupalCons, camps, meetups, and internal webinars. I have spoken at two DrupalCamps in London before as well.

Build your own D8 CI/CD Pipeline on AWS Fargate with Feature Branch Environments

Scheduled day
Prerequisites

Working knowledge of Drupal 8, CI/CD pipelines, git scm, AWS products, Docker, Jenkins.

Session details

Both Platform.sh and Amazee Labs build out feature branches when committed by the developer. If you are locked into other vendors, or prefer on-prem hosting, then this session explains how you can build a CI/CD pipeline for your D8 sites based on feature / hotfix git branching. The solution offers a build step, then parallel steps of automated tests, static analysis and a persisting dev/QA playground.

The pipeline is triggered automatically on pull request creation (no deployment step) and pull request approval (deployment step). The pipeline can also be triggered manually by a dev or QA with suitable permissions before a PR is issued so progress can be checked part way through a large feature build. 

The persisting playground stands up a fully working Drupal 8 environment for developers, QAs and management to use for manual testing or simply eyeballing the new feature. 

The architecture is based on AWS Fargate - a compute service that uses Docker containers, and is supported by AWS ECR, S3, RDS, CloudFront, CloudWatch, EC2, Route 53 with Jenkins pulling the strings via AWS CLI embedded in shell scripts, and initial orchestration by Terraform and Ansible. 

The entire ecosystem can be built to work with other CMS or indeed other web apps written in different computer languages, but this presentation is specific to Drupal 8 sites. 

 

Room
Skill Level
Session Time
On
Session Track
Have you spoken at DrupalCamp London before?
No
Previous speaking experience
Drupal Camp Poland 2018
Drupal Show and Tell January 2018.

Should you go serverless?

Prerequisites

This session does not require any prior knowledge of the subject and is interesting for developers, devops engineers, solution architects and (technical) managers.

Session details

Serverless does not mean there are no servers; those are only just hidden from you. Scale with ease without provisioning server and without paying for idle...is this for real? Yes it is! Can Drupal also be part of a serverless architecure? You bet! Can Drupal itself run serverles? Let's find out! After this talk you will understand why serverless architecture is great and you will be excited to create your own serverless solutions to make your life easier. And last but not least...it's lot's of fun!

Are you looking to expand your knowledge in the field of DevOps and development? This is for you! This session will introduce the concept of serverless architecture and will cover it's advantages and disadvantages. You will learn about the common use cases where serverless is useful and I will highlight some projects where serverless is used in production. Think about things like automatic content injection/moderation/enrichment, video encoding with ffmpeg, chat bots, APIs and much more.

After this session you will know:

  • What "serverless" actually means
  • What the difference is with containers
  • Where and how you can run your serverless code
  • What types of serverless are common
  • Common use cases
  • Example projects where we used this in production
  • The advantages and disadvantages
  • If you can run Drupal using a serverless architecture
  • About the possibility to create a serverless state machine
  • How you can get started today (for free!)
Skill Level
On
Session Track
Have you spoken at DrupalCamp London before?
Yes
Previous speaking experience
I've spoken at events all over the world including DrupalCon Seattle, Drupal Europe, Decoupled Days and various Drupal Camps and local (non-Drupal) meetups. This specific session I've given around 6 times now for both small and large audiences and only got great responses so far. A video of me giving this presentation at DrupalJam can be seen here: https://www.youtube.com/watch?v=rZc2vmiAw8k For this session I have created a setup where Drupal runs "serverless" on AWS Lambda, Cloudfront, API Gateway & Aurora Serverless which is a very unique way of running Drupal as it does not cost anything if there is no traffic.

The getting started for free part refers to the generous free tiers offered by the biggest cloud providers (AWS, GCP), this is not a referral program and I am not affiliated with them. It's just an easy way for everyone to get started without paying.

Sponsors

Diamond

Gold

Weekend Keynote Speakers

Kevin Bridges

DDEV, CTO

Michel van Velde

One Shoe, CEO

Nick Veenhof

Dropsolid, CTO

CxO Keynote Speakers

Michel van Velde

One Shoe, CEO

Nick Rhind

CTI Digital, CEO

Greg Harvey

Code Enigma, Director

Rachel Lawson

Drupal Association, Community Liaison

Carrie Lacina

Drupal Association, Fund Development Director

Jeffrey A. “jam” McGuire

Open Strategy Partners, Partner

Join the Drupal Association

The Drupal Association unites a global open source community to build and promote Drupal.

The Association is a not-for-profit organization that relies on individuals and businesses to fund everything they do for Drupal — from drupal.org to DrupalCon and community programs.

Connect with us and support our mission-driven work.

Support the Drupal Association

Hosting provided by

platform.sh