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
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