Sharing knowledge – a fundamental approach to our projects
Sharing knowledge is of course an essential part of life at University. For our team this has also become a fundamental way in which we work.
Growing our team skill set
Knowledge transfer is a critical part of our current projects and we’ve already proved how effective this can be in the short time that we’ve been working with our partner agency Manifesto. They’ve been working alongside us sharing their knowledge as we set up the team to own and control the end to end development process. As the Web Publishing Platform project continues to gather pace and with Pantheon the chosen supplier for our new Web Cloud Infrastructure, it was time to start upskilling our team in all aspects of cloud hosting and WebOps.
WebOps is a set of practices that facilitates collaboration and automates processes to improve the productivity of the whole web team from developers and designers to content editors, stakeholders, and more. The result is cross-functional web teams empowered to develop, test, and release website changes faster and more reliably – Pantheon
Part of this knowledge transfer is to start planning how we deploy so many sites at scale and learn how to manage them effectively. To achieve this, we would need to pull together everything we had learned from our current local development process, new deployment methods and become experts in how our new cloud Infrastructure works.
This blog post is a starting point to share some of our new skills with the technical community around the University. Next steps will be to set up some community events and we hope to start these very soon. We will focus on how we became familiar with our new Pantheon platform and tools and what our areas our training has covered so far. Due to the scale of Pantheon, our training was broken down into three chunks to allow our team to learn, ask questions and become fully immersed in our web publishing platform.
Training day 1 – Dashboard / Workflows / Multi dev
As part of Pantheon’s offering, we get an easy to use Dashboard. This allows permission setting, roles, and site monitoring. You can build sandboxes (or sites) to test and figure out how Pantheon works. Simply spin up a site from a predefined build or upstream, and it becomes available in less than 2 minutes. Once ready, you will then be able to take full advantage of the built-in workflow that allows easy deployment between DEV, TEST and LIVE environments. Once the site is setup, Pantheon sites are built on their own Git code repositories. This allows for developers to easily check out branches into there multi-dev environments. All these tasks are handled through the easy to use User Interface.
Training day 2 – Terminus / Quicksilver
Pantheons approach to building sites at scale is “Script it and forget it” and this is made easy with Terminus and Quicksilver.
Terminus is a great developer tool that runs in your terminal and gives you access to all functions in the dashboard and the common Drupal commands you use on daily basis. With the terminus plugin and authentication setup you can easily run commands to build sites:. Using the command “terminus site:create mysite ‘my site’ drupal9” and you will have a Drupal 9 instance setup ready to go. Other commands include creating multi-dev branches and deploying to environments. I will cover these in another blog post.
Quicksilver takes a bit of time to setup but allows you to automate tasks such as clearing caches, cloning databases, and deploying code. Using the YAML format you can group tasks together to make site management and DevOps much more streamlined and error free. These scripts can be executed using terminus. I will cover this in another blog post
Training day 3 – Upstream / Continuous Integration
One of the biggest advantages of using Pantheon is the ability to create Upstream(s). These are effectively your own websites that you can build Pantheon websites from when building new sites. We were taught how to create our own ‘websites’ or specific configuration outside Pantheon, using external repositories, then add it to our University of Edinburgh account as an upstream. This allowed us to spin up sites that were identical and both managing patches and supporting them is much easier as they share the same codebase. We tested making changes to the upstream and are testing / working out how to manage these changes as they appear in Pantheon. This knowledge will help us define and build our Continuous Integration development processes which will deliver websites at scale. When we have proven this work and have resolved any issues, this will be shared with the community and refined as we continue to work on the new Web Publishing Platform. Many more blog posts will follow about this crucial topic.