Green IT applied to Public Works #GCLChallenge @willylambert
Green IT applied to Public Works
#GCLChallenge@willylambert
@willylambert
Web & Mobile Developer
Web App
Angular JS
Continuous DeliveryKarmaSeleniumDocker
10 years in Clinical Trials Industry
Since 2013@ Luc DURAND
CartographyLeafletMapBoxOpen Data
Agenda
Part #1
Part #2 IT for Green : How we use IT to reduceour environmental impact
Part #3 Green for IT : How we build Green Apps
My Company :
Public Works Company
We build roads
We extract rocks (aggregates)
ICI photo centrale bailleul
We produce asphalt
We design & buildwater-treatment plant
We innovate
We promote circular economy
12 592 078 Kms
2 897 000 liters of fuel
(Truck & Machinery)
47 822 Tons of C02
…Maybe IT can help ?
In One Year…
CHALLENGE
ACCEPTED
Paper-free answer to Request For Proposals400 commercial offers / year
Promote sustainable policies
Reuse hardware
Recycle papers and water bottlesReduce printingEco Driving training
Find a second life to old hardware
IT for Green
e.g. 5 years as Graphics Workstationthen 2 years as Internet and Office computer
Virtualize datacenters
Use mobile technologies to leverage accessto enterprise ressources
30 virtual servers / 4 « reals » servers
Remote control of isolated weightbridge sites
Access on the field to technical & administrative docs
DEVELOP APPS
IT for Green
Cartography
Use Open Data from data.angers.fr
Just a small web appbased on cloud services
A green app ? No ;-(
BUT It reduces time It reduces travels
ITfor Green : Weightbridge
The old way…
1 weightbridge = 1 operator on sitedelivery orders printed on paperOn each site :
• Computer(s)• 2 or 3 Printers• NAS (for backup)
DigitalSignedOrderWeight, T° 3G
Choose The Right Tool
To have the job doneeffectively
Apache or Nginx ?
MySQL or SQLite ?
XML or Json ?
Choose the right tool
if I expect 5 simultaneous connections,I size my app for 50 connections, not 500 neither 1000 !
Size smartly
ITfor Green : Weightbridge
DigitalSignedOrderWeight, T° 3G
if I expect 5 simultaneous connections,I size my app for 50 connections, not 500 neither 1000 !
Size smartly
Performance Driven Development
Performance Driven Development
DEVELOP UNDER LO-TECH ENVIRONMENT
USE TEST TOOLS TO DETECT PERFORMANCE REGRESSION
0
1000
2000
3000
4000
5000
6000
7000
8000
9000
v0.1 v.0.1.1 v0.1.2 v0.2 v0.2.1 v0.3
TEST CASE #1 TEST CASE #2 TEST CASE #3 TEST CASE #4
One more thing…
The Problem
A classical n-tiers stack
WEB SERVER
APPLICATION SERVER
DATABASE SERVER
My Quick & Dirty* stack
VS
* Copyright @willylambert
Maintainability
Scalability
Green +
+
+
Security+
The Solution
One Virtual Machine or Cloud Instance
WEB SERVER CONTAINER
APPLICATION CONTAINER
DATABASE CONTAINER
TEST TOOLS CONTAINER
LOGGING CONTAINER
• Resources provisioning
• Turn on / off containers within seconds
• Same environment in dev/test/prod
• Consistent deployment everywhere
BUILD TOOLS CONTAINER
1. Match users expectations (not more)
3. Size smartly
4. Monitor performance
2. Carefully choose tools and technologies
5. Be dev-ops
« On ne sauvera pas la planète en se contentant de fermer le robinet après s'être brossé les dents »
Dominique Voynet - 2006
Thank You