Slide 1

Slide 1 text

Planet friendly Web Development with Python What we can do as developers Chris Adams - Pycon CZ 2017

Slide 2

Slide 2 text

A.M.E.E. (Avoid Mass Extinction Engine) - CO2 calculation APIs Loco2 - Low CO2 travel in Europe by train TeaLight - Low CO2 cups of tea Thermondo - lower CO2 heating in houses My Background: Chris Adams: @mrchrisadams Environmentally focussed web generalist

Slide 3

Slide 3 text

Pycon CZ 2017 - Planet Friendly Web Development @mrchrisadams

Slide 4

Slide 4 text

Pycon CZ 2017 - Planet Friendly Web Development @mrchrisadams @mrchrisadams What can a technologist do about climate change: worrydream.com/climatechange

Slide 5

Slide 5 text

Pycon CZ 2017 - Planet Friendly Web Development @mrchrisadams http://www.iea.org/media/news/2017/GlobalCarbonEmissions2.png http://www.iea.org/newsroom/news/2017/march/iea-finds-co2-emissions-flat-for-third-straight-year-even-as-global- economy-grew.html

Slide 6

Slide 6 text

Pycon CZ 2017 - Planet Friendly Web Development @mrchrisadams http://folk.uio.no/roberan/t/global_mitigation_curves.shtml

Slide 7

Slide 7 text

Pycon CZ 2017 - Planet Friendly Web Development @mrchrisadams @mrchrisadams World GHG Emissions in 2010 - Analysis by ECOFYS Source* Greenhouse gas Coal 25% Natural Gas 19% Oil 21% Waste 0.4% Sector Direct emissions 34.6% * Greenhouse gases can arise from two sources N20 7% CH4 15% CO2 76% HFCs & PFCs 2% Transport 15% Residential Buildings 11% Commercial/Public Buildings & Services 7% Land Use Change 15% Industry 29% 7% 6.0% 4.8% 4.3% 1.4% 1.1% 1.0% 10.5% 1.5% 2.6% 10.5% 5.5% 1.4% 1.8% 3.1% 4.4% 10.3% Other industries Paper, pulp and printing Food and tobacco Non-ferrous metals Chemical and petrochemical Iron and steel Non-metallic minerals Aviation Others Road Livestock and manure Agricultural Energy Use Coal Mining Oil and gas extraction, refining and processing Deforestation/Afforestation and Land Use CO2 Agricultural soils 1.3% 1.6% Landfills Waste water & others Waste 3% Agriculture Energy Supply 13% 8.3% Energy industry own use & losses

Slide 8

Slide 8 text

Pycon CZ 2017 - Planet Friendly Web Development @mrchrisadams © 2011-2012 GreenTouch Consortium 2020 ICT Carbon Footprint 820m tons CO2 360m tons CO2 260m tons CO2 2007 Worldwide ICT
 carbon footprint:
 2% = 830 m tons CO2 Comparable to the
 global aviation 
 industry Expected to grow 
 to 4% by 2020 The Climate Group, GeSI Report “Smart 2020”, 2008 Full report - https://www.slideshare.net/greentouch-org/intro-to-green-touch

Slide 9

Slide 9 text

Pycon CZ 2017 - Planet Friendly Web Development @mrchrisadams A mental model for thinking about this

Slide 10

Slide 10 text

Pycon CZ 2017 - Planet Friendly Web Development @mrchrisadams Your Platform Your Packets Your Process

Slide 11

Slide 11 text

Your platform Provider Provisioning

Slide 12

Slide 12 text

Your platform Provider: Where did the power your servers run on come from?

Slide 13

Slide 13 text

Power quote From 2017 report - http://www.greenpeace.org/usa/global-warming/click-clean/

Slide 14

Slide 14 text

Your platform Provision: How many server resources do you use? And when?

Slide 15

Slide 15 text

The power of wireless cloud 2013 (CEET - http://www.ceet.unimelb.edu.au/publications)

Slide 16

Slide 16 text

“many workloads are spiky or drop to zero for extended periods… applications used in the workplace may only be active for 40 of the 168 hours in a week.” Adrian Cockroft @adrianco: AWS, ex Netflix @mrchrisadams https://medium.com/@adrianco/evolution-of-business-logic-from-monoliths-through-microservices-to-functions- ff464b95a44d#.4ap421dwr

Slide 17

Slide 17 text

PaaS: Higher unit cost in exchange for easier scaling

Slide 18

Slide 18 text

FaaS / Serverless: Even higher unit cost, to not think about scaling* * You still need to obviously, but differently

Slide 19

Slide 19 text

“the technical capabilities of serverless might not be that exciting, but the financial side sure is… Strong financial incentives for good design practices, and clear financial penalties for bad design” Gojko Adzic @mrchrisadamshttps://gojko.net/2016/08/27/serverless.html

Slide 20

Slide 20 text

When your second biggest cost after staff is data centres, you have a very good incentive to care about saving energy. @mrchrisadams https://deepmind.com/blog/deepmind-ai-reduces-google-data-centre-cooling-bill-40

Slide 21

Slide 21 text

Platform as a Service (PaaS) Functions as a Service Cloudfoundry: App Autoscaler chalice Heroku: Autoscaling & LightSwitch, Hirefire zappa In the Python toolbox

Slide 22

Slide 22 text

Your packets Lossy changes Lossless changes

Slide 23

Slide 23 text

http://www.electricitymap.org/

Slide 24

Slide 24 text

“Wireless access network technologies account for 90% of total wireless cloud energy consumption. Data centres account for only about 9%. The energy consumption of wireless user devices is negligible.” The power of wireless cloud 2013 (CEET - http://www.ceet.unimelb.edu.au/publications)

Slide 25

Slide 25 text

Power quote The power of wireless cloud 2013 (CEET - http://www.ceet.unimelb.edu.au/publications)

Slide 26

Slide 26 text

https://www.soasta.com/blog/page-bloat-2015-web-performance-monitoring/

Slide 27

Slide 27 text

Power quote https://performancebudget.io

Slide 28

Slide 28 text

Power quote https://speedcurve.com (see also sitespeed.io for an OSS take)

Slide 29

Slide 29 text

Your packets Lossy changes: How much of what you send is used by the client?

Slide 30

Slide 30 text

Your packets Lossless changes: How efficiently are the bits sent?

Slide 31

Slide 31 text

Dynamic Static Media compression Django middleware, Flask-Compress, etc. Whitenoise, CDNs, Nginx CDNs, Nginx caching Django middleware & decorators, Flask-Cache Whitenoise, CDNs CDNs, Nginx JS optimisation Webpack 2, Google Closure Compiler (JS) nginx mod_pagespeed Image Optimisation ImageOptim, Trimage easy- thumbnails.optimise, nginx mod_pagespeed Relevant in the Python toolbox

Slide 32

Slide 32 text

There’s much, much more to do, but starting here can help

Slide 33

Slide 33 text

Thanks! Chris Adams @mrchrisadams [email protected] https://bit.ly/planetfriendly P.S. come work with me at Thermondo!