Green shoots in the brownest field Being a startup in government Mat Wall (@matwall) Government Digital Service https://www.gov.uk Friday, 8 March 13
GDS Government development skills largely outsourced in 80s Government IT vendor driven, procurement focussed People who can write code (not COBOL) very rare Friday, 8 March 13
GDS set up about 18 months ago Bring digital capability & vision into government Stimulate economy of smaller vendors A startup within government Friday, 8 March 13
Initially build alpha of GOV.UK Now fully released into production Migrating government department sites Beginning to work on transactions Friday, 8 March 13
Design Principles 1. Start with user needs 2. Do less 3. Design with data 4. Do the hard work to make it simple 5. Iterate wildly 6. Build for inclusion 7. Understand context 8. Build services, not websites 9. Be consistent, not uniform 10. Make things open: it makes things better https://www.gov.uk/designprinciples Friday, 8 March 13
reboot the government Friday, 8 March 13
GOV.UK Friday, 8 March 13
Quick answers Friday, 8 March 13
Quick answers Friday, 8 March 13
Quick answers Friday, 8 March 13
Detailed guides Friday, 8 March 13
Detailed guides Friday, 8 March 13
Transactions Friday, 8 March 13
Transactions Friday, 8 March 13
Department sites Friday, 8 March 13
Department sites Friday, 8 March 13
Light weight architecture & development Focussed on user needs Good example of “How to do it” across government Friday, 8 March 13
Strategic architecture Friday, 8 March 13
Very common in government IT Small number of in house architects Often not hands on Almost all development outsourced Friday, 8 March 13
Lay down ground rules Select technologies up front Often vendor focussed / led Friday, 8 March 13
Attempt to: reduce risk minimise cost produce predictable results Friday, 8 March 13
Insert strategic architecture here Friday, 8 March 13
Friday, 8 March 13
ESB Friday, 8 March 13
ESB ESB Friday, 8 March 13
ESB ESB Friday, 8 March 13
ESB ESB OPA Friday, 8 March 13
ESB ESB OPA EDM Friday, 8 March 13
WEB WEB WEB WEB ESB ESB OPA EDM Friday, 8 March 13
Security stuff WEB WEB WEB WEB ESB ESB OPA EDM Friday, 8 March 13
Security stuff WEB WEB WEB WEB XML translation layer ESB ESB OPA EDM Friday, 8 March 13
Security stuff WEB WEB WEB WEB XML translation layer ESB ESB OPA EDM SAN SAP Friday, 8 March 13
Security stuff WEB WEB WEB WEB Enterprise app servers XML translation layer ESB ESB OPA EDM SAN SAP Friday, 8 March 13
Security stuff WEB WEB WEB WEB Enterprise app servers Now, what shall we make? XML translation layer ESB ESB OPA EDM SAN SAP Friday, 8 March 13
Security stuff WEB WEB WEB WEB Imagine being a developer here Enterprise app servers Most decisions made for you XML translation layer ESB ESB Little room for innovation OPA EDM SAN SAP Friday, 8 March 13
reduce risk = no innovation, create lock in minimise cost = ha ha predictable results = slow delivery Friday, 8 March 13
Platforms Friday, 8 March 13
Platforms first = bottom up architecture We want to focus on user needs first Friday, 8 March 13
Most of our apps start out as a rough idea on someones laptop, not as a platform Friday, 8 March 13
Platforms emerge by constant delivery Friday, 8 March 13
Space Friday, 8 March 13
CDN, web & routing P r o Configuration t o t y Web routing p i n g Provisioning Libraries / gems / jars / utils Configuration management Provisioning Services / libraries Persistence Monitoring Services Persistence Continuous integration Monitoring Alerting Performance test Friday, 8 March 13
CDN, web & routing P r o Configuration t Ruby / rails / sinatra/ jekyll o t y Scala / play 2.0 p i n Java / dropwizard g Libraries / gems / jars / utils MongoDB, MySql, ElasticSearch, Redis Provisioning nginx, varnish, Akami puppet statsd / graphite / nagios / ganglia Services funkload Persistence Continuous integration Monitoring Alerting Performance test Friday, 8 March 13
CDN, web & routing P r o Configuration t o t y p i n g Libraries / gems / jars / utils Provisioning Space Services Persistence Continuous integration Monitoring Alerting Performance test Friday, 8 March 13
CDN, web & routing P r o Configuration t o .gov.uk smart t search licensing inside gov y frontend answers p i n g Libraries / gems / jars / utils Content API Provisioning Panopticon MongoDB MySQL Licensing Services need-o-tron Sign on CMS tools Publisher admin Persistence Continuous integration Monitoring Alerting Performance test Friday, 8 March 13
CDN, web & routing P r o Configuration t o .gov.uk routing t search y frontend p i n g Libraries / gems / jars / utils Content API Provisioning MongoDB Panopticon Services need-o-tron Publisher Persistence Continuous integration Monitoring Alerting Performance test Friday, 8 March 13
CDN, web & routing P r o Configuration t o .gov.uk routing t search y frontend p i Content model split across apps n g Libraries / gems / jars / utils Content API Provisioning Complex interaction between apps MongoDB Panopticon Brittle, what if interaction fails? Services need-o-tron Publisher Persistence Continuous integration Monitoring Alerting Performance test Friday, 8 March 13
CDN, web & routing P r o Configuration t o .gov.uk routing t search y frontend p i n g Libraries / gems / jars / utils Content API Provisioning MongoDB Panopticon Services need-o-tron Publisher Persistence Continuous integration Monitoring Alerting Performance test Friday, 8 March 13
CDN, web & routing P r o Configuration t o .gov.uk routing t search y frontend p i n g Libraries / gems / jars / utils Content API Provisioning MongoDB Panopticon Services need-o-tron Publisher Persistence Continuous integration Monitoring Alerting Performance test Friday, 8 March 13
CDN, web & routing P r o Configuration t o .gov.uk routing t search y frontend p i n g Libraries / gems / jars / utils Content API / Provisioning MongoDB Event broadcast Panopticon Services need-o-tron Publisher Persistence Continuous integration Monitoring Alerting Performance test Friday, 8 March 13
Space Help developers create a safe space Create small, simple apps in that space Provide lightweight components & processes, and ability to create more Don’t worry about trying to solve all of the problems up front Allow for innovation & learning Friday, 8 March 13
Momentum Friday, 8 March 13
Momentum We far prefer momentum to strategy Make decisions as late as possible Short iterations mean you can’t go to far wrong Easy to put things back on track Allows for innovation, experiment & learning Friday, 8 March 13
New system: apply to register to vote (ERTP) Initially seemed quite simple Surely just a form and a database? Real world is more complex Friday, 8 March 13
Citizens .... Local authority 1 Local authority 2 Local authority 387 DWP Friday, 8 March 13
Web space Citizen API DWP space Matching API DWP Local auth API LA space .... Local authority 1 Local authority 2 Local authority 387 Friday, 8 March 13
Frontend web Citizen API Matching API MongoDB DWP Monitoring Feeds Local auth API .... Local authority 1 Local authority 2 Local authority 387 Friday, 8 March 13
Frontend web Matching API DWP Local auth API .... Local authority 1 Local authority 2 Local authority 387 Friday, 8 March 13
Frontend web Matching API DWP Local auth API .... Local authority 1 Local authority 2 Local authority 387 Friday, 8 March 13
Frontend web Matching API DWP Local auth API .... Local authority 1 Local authority 2 Local authority 387 Friday, 8 March 13
Frontend web Matching API DWP Anything goes to keep momentum Local auth API .... Local authority 1 Local authority 2 Local authority 387 Friday, 8 March 13
Legacy / complex systems Friday, 8 March 13
So far most of our systems have been very simple Easy to be small, beautiful & agile But that will change with transactions Friday, 8 March 13
Government IT estate complex, old Pre-web technologies Oldest system I have found so far is 40 years! How can we work in this environment? How can we retain our momentum? Friday, 8 March 13
Security stuff WEB WEB WEB WEB Enterprise app servers XML translation layer ESB ESB OPA EDM SAN SAP Friday, 8 March 13
Integration strategies: Could rebuild old system. Could export data from old system into new. Use what we have learned to create our own space, with our own momentum Friday, 8 March 13
Recommend
More recommend