government as a service - architecting australia's govcms

Post on 11-Apr-2017

1.432 Views

Category:

Technology

4 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Government as a ServiceArchitecting govCMS

Adam Malone @adammalone Solutions Architect APJ, Acquia

About me→Solutions Architect @ Acquia→Drupal age: 4 and a bit →Trivial patch of the month winner→Emoji adept 👸 👷→ typhonius most places online→Didn't realise typhonius was a species of toad

What is govCMS Why Drupal + Public Cloud

What has been learned How we're off the Island

Future

In the beginning

A modern approach to technology→ Policy for eGovernment and the Digital Economy [let’s go online]

→ AU gov’s Open Source Policy [share code and functionality]

→ AU gov’s Cloud Computing Policy (v3) [save costs, ensure security]

→ Best practise service design — DTO [accessibility & easier to use]

govCMS is a whole of gov re-think about online, agile, accessibility, procurement, security, support and open source.

Not just code.

Criteria for govCMS

What is govCMS

govCMS OOTB→Drupal

→ Security

→Public Cloud

→Deed

→Agile

→Design Standards / Accessibility

→ Services

Open Source→ Security

→ Reuse

→ Rich pool of resources

→ Off the Island

→ No vendor lock in

Security→ HTTPS everywhere

→ IP Whitelisting by default

→ No PII (yet)

→ Secure by default

→ Packaged DDOS / CDN

→ Compliant (AWS -> Acquia -> ACE -> ACSF -> govCMS)

→ IRAP assessed against the ISM

Reuse before buy before buildPrinciple 3 of the Australian Government Open Source Software Policy:

“Australian Government agencies will actively participate

in open source software communities and contribute back where appropriate”

Functionality created by one agency can be made available for all

Distribution Governance→ Governance is key

→ gOps

→ CAB

→ Requirements driven platform evolution

→ Documented procedures for:

→ Codebase additions

→ Platform deployment

→ Security audits

The problem

Leapfrogging giants

Many departments, one govCMS

Agency

govCMS Platform

govCMS Core

Patterns

govCMS Patterns→Pattern 1

→govCMS OOTB

→Pattern 2

→Transitionary state

→Platform evolves to meet requirements

→Pattern 3

→Custom

Architecture

Platform build

Patch workflow

→Regularly scheduled releases

→Prepared for hotfixes

→Distribution

→Feature branch workflow

There's a module for that!

→Critically define requirements

→Solve the unspoken question

→Consider the platform, not just the site

→Module/requirement review

→Problem rather than module

Keeping the codebase lean

→No need to recreate the wheel

→Change management becomes easier

→Leveraging the community

→Remember what brought us here

The technical bits

Cloud

→AWS Sydney

→Constant 24/7 operational monitoring

→Disaster Recovery

→7 years of:

→Offsite site archival

→Offsite log storage

Acquia Cloud Site Factory

→SaaS application for Drupal

→Simplifies multisite management and operation

→Granular access per site/group

→Many sites, one codebase

→Site duplication

→Theming flexibility

Tooling

→Drupal

→Drush Make

→Phing

→Composer

→PhantomJS

→PHPCS

→Behat

→Git

→Travis CI

→Autodeploy

Building

Dependancies: git & composer

$ git clone git@github.com:govCMS/govCMS.git

$ cd govCMS

$ composer install --prefer-dist --working-dir=build

$ build/bin/phing -f build/phing/build.xml build

Testing

→Code

→Syntactically correct

→Drupal coding standards

→Cyclometric complexity

→Functional/Behavioural

→Behat

→Automated deployments

Behavioural testing

Feature: govCMS Google Analytics

Ensure the govCMS Google Analytics account is added.

Scenario: Check that the GA markup appears Given I go to the homepage Then the response should contain "UA-12312312-1"

The benefits

Benefits to agencies→Setup cost drastically reduced

→Elimination of lengthy procurement/tendering process

→Security/IRAP assessment completed

→ Increase agility

→24/7 Support

→Pro-active alerting

→Security updates

Benefits to Australian residents

→Familiarity

→Rapid iteration and development

→Savings passed on

Benefits to government employees

→Freedom to contribute

→Agile process

→Modern tools

→Transferable skills

→Contributing to Open Source

Benefits to the Drupal community

→Flagship Drupal exemplar

→Mandate to contribute enhancements

→ Increasing skills in Australia

→A stake in the ground worldwide

Future

Extending govCMS

→Expanded functionality

→Further interdepartmental sharing

→DTO

→Government as an API

→Services

govCMS Worldwide

→Wider impact on Open Source as an example

→KiwiCMS?

→SgCMS?

→UniCMS?

Try govCMS

→Fork us on GitHub

→https://github.com/govCMS

→Download from drupal.org

→https://www.drupal.org/project/govcms

Resources→ http://www.communications.gov.au/

digital_economy

→ http://www.finance.gov.au/policy-guides-procurement/open-source-software

→ http://www.finance.gov.au/policy-guides-procurement/cloud

Questions?@adammalone

typhonius

adam.malone@acquia.com

https://www.adammalone.net

https://www.acquia.com

top related