Australia's gov 2.0 settling on Drupal, building profiles and Amazee's role with lagoon

270+ sites

great community public roadmap had mega meetups

Both a SaaS program and a PaaS program

[So finally know what to call what say the Agaric site is on: Drutopia Platform as a Service (“by Agaric”)].

you can take the modules as they are without any customizations

or if you need any custom code, you are entering the PaaS world and you need to help maintain code, agency ICT review = internal change review

RFP process - contract goes out to tender every 4 years; incumbent required to resubmit. Salsa Digital / amazee.io selected after 5 month process

https://www.govcms.gov.au/

Found the public roadmap: https://trello.com/b/2zz6gfWg/govcms-roadmap-public

Developer -> GitLab (self-hosted) -> amazee.io Lagoon -> RedHat OpenShift

everything can be certified and controlled.

application code, application libraries and os/os libaries all in containers

Drupal as microservices. It’s broken up so CLI (drush/shell) have their own; Nginx/PHP; MariaDB; Redis; Solr

OpenShift/Kubernetes supported by RedHat. Auto healing, high availability. Stable upgrade path.

From 1.0 to 2.0, open sourced everything and got SaaS/PaaS on the same platform. Automated tests built in.

The Stack: AWS Sydney, 3 availability zones, autoscaling Pods (containers) and nodes. Drupal on Lagoon on OpenSHift on Kubernetes on AWS.

Oficial base images. Releasing code with the profile in the official base image.

Profile has a reference architecture to build and test from, and any sites built with it

Wildly different approach to multisites– they have a common parent and base image, but each site can build and maintain their own version and upgrade and change.

PHP-CLI test image that is part of it but never deployed

Dockerfile.cli

FROM govcmslagoon/covcms7

COPY themes/ /app/profiles/govcms/themes/custom

Push code to repository - trigger automated build - validated - CI - Lagoon - and visitors can access the site

Testing: Behat/PHPUnit - managed upstream - extendable -scaffold validation Druitiny (Auditing) from a shop in Brazil dedicated test image

this is bloated, but it never makes it onto production, so ok

True believers in open source.

We’ve had an opportunity to extend Lagoon in ways we couldn’t afford to before.

Admin UI

https://github.com/amazeeio/decoupled-drupal-example

and we’re just getting started; it’s a three year project

whole community can benefit

Migrations

automation

idempotent code, database, files, solr removes redundant modules / installs new modules

AWX job

https://projects.govcms.gov.au/dof/govcms-site

They are using ahoy

Benji Fisher: If most of the code is living in containers… ?

It’s injected in as another layer any site-specific code, including tests for that site, is put in.

The paradigm is shifting from traditional multisite that didn’t allow those customizations.

Q: Is there downtime? Ideally not, with kubernetes - but given the need for Drupal updates, editing might not work

Another Amazee person: One of the things GovCMS is looking at is running updates in a separate environment before switching best.

Q, i think she was a plant: If someone is interested in Lagoon, how do they do that?

Visit booth in hallway.

Me: Are you able to share code between containers, opcode cache?

No. But in PHP 7.1, you can no longer measure a speed difference between opcode cached code and non-opcode-cached code.

Me: does the public roadmap impact anything Amazee is doing, and how will you be interacting with that? [basically, we’ll find out!]

These are notes from https://2018.badcamp.org/session/govcms-lagoon-australian-government-move-100-open-source-platform presented by Thom Toogood