Patricia Lago
Patricia Lago
Vrije Universiteit Amsterdam
Presented at: LAC 2018
Green Software
Architecture Decision-
making for Sustainability
Think: do I really need to print this?
Dutch National Association for Software
Engineering versen.nl
It brings together researchers, educators
and practitioners in the field of software
engineering in the Netherlands, who share
the common goals of:
PUBLIC
AWARENESS
KNOWLEDGE
CREATION
SYNERGY &
FUNDING
KNOWLEDGE
TRANSFER
ict-research.nl
It unites, strengthens and advocates
academic research and education on ICT in
The Netherlands, to help realise high-quality
digitalisation agendas that enable society to
face the ICT challenges of today and
tomorrow.
Disclaimer
Terms “green” and “sustainable” are often used as synonyms…
… even if they are not.
Contents
What is software sustainability?
Why should we care as software architects?
Takeaways
#1: Software is the motor of society. It can help (or hinder) the
energy transition and the realization of the sustainable
development goals (SDGs).
#2: Software Architecture is the tool to make the right decisions.
It can bring simplicity in a world that is increasingly complex.
#3: Every architect should know what sustainability is (exactly),
and what it means for his or her organization, customers, and
the society at large.
#4: We need a sustainability quality suite to measure software
sustainability.
The environmental impact of ICT
Source: “GeSI SMARTer 2020: The Role of ICT in Driving a Sustainable Future” (2012), online at
http://smarter2030.gesi.org/downloads/Full_report.pdf
ICT-enabled solutions offer the potential to
reduce GHG emissions by 16.5%,
create 29.5 million jobs and
yield USD 1.9 trillion in savings
The environmental impact of ICT
Source: “GeSI SMARTer 2030: ICT Solutions for 21st Century Challenges
Gt CO2e generated by the ICT sector
2.7% Global emissions
2.3% Global emissions
1.97% Global emissions
Gt CO2e avoided through the use of ICT solutions
Sustainability >> Green IT
Direct impact
(energy-efficient software)
Indirect impact
(software for sustainability)
The sustainability impact
Companies investing in the Sustainable
Business Goals are more successful, by
far, and increasingly necessary.
They are estimated to create 12 Trillion
USD by 2030 with 380 Million new jobs.
The role of software: software solutions are
inefficient
Hardware optimizations are
negated by software
inefficiencies [cf. Wirth’ Law]
q We do know how to design for quality
software! (security, performance,
reliability).
q We need tools to frame the “bigger
picture” (my inefficiency is yours too).
The role of software is global: environmental
impact in perspective
Internet data grows at 20% per year,
barely 1% is ever used
A collective global electricity consumption of
20% by 2030, growing 6-9% per year
Sources: Greenpeace report on Building the Green Internet (2015); www.enerdata.net (2018)
q There are practices to make software
smarter: consolidation/virtualization,
cyber-foraging, self-adaptation.
Decentralization, digitalization, data
science alone do not help.
q Saving energy is not sexy, but it should.
Quantifying the role of software: how much?
• Design decisions
in cloud
migration?
+80€Billion
revenues by 2020
• Add energy-aware
software features?
-25% energy
consumption
• Predict incidents
(better capacity
management) in
the cloud? 1.9M€
cost savings per
year
q Decisions based on beliefs (aka “experience”)
are not acceptable à measure & monitor
q (Re-)architecting should be data-driven à but
we need quality (!) of data
The role of software usage: software is socially
pervasive
Digital abundance
(but dependency)
Digital inclusion
(but scarcity of resources)
q Software intelligence can create new
markets and improve quality of life.
q It is our ethical duty to safeguard our
generations against useless addictions.
EC
O
N
O
M
IC
SO
C
IAL
EN
VIRO
N
M
EN
TAL
TEC
H
N
IC
AL
SO
FTW
ARE
IM
M
EDIATE
IM
PACT
ENABLING
IM
PACT
SYSTEM
IC
IM
PACT
Lago, P. © 2016-2018 SoSA: A Software Sustainability
Assessment Method. Available at: https://goo.gl/HuY6tf
Condori-Fernandez, N., & Lago, P. (2018). Characterizing the
contribution of quality requirements to software sustainability,
Journal of Systems and Software, 137, 289-305.
Sustainability is multi-
dimensional
Sustainability effects ≠ measurable impacts
Sustainability Defined
uTechnical Sustainability addresses
the long-term use of software-
intensive systems and their
appropriate evolution in an
execution environment that
continuously changes.
uEconomic Sustainability focuses
on preserving capital and
(economic) value.
uSocial Sustainability focuses on
supporting current and future
generations to have the same or
greater access to social resources
by pursuing generational equity. For
software-intensive systems, this
dimension encompasses the direct
support of social communities in
any domain, as well as the support
of activities or processes that
indirectly create benefits for social
communities.
uEnvironmental Sustainability aims
at improving human welfare while
protecting natural resources. For
software-intensive systems, this
dimension aims at addressing
ecologic requirements, including
energy efficiency and ecologic
awareness creation.
Source: P. Lago et al., Framing Sustainability as a Software Quality Property, ACM Communications, 2015.
Design Decision Maps framing Sustainability
Concerns [notation]
Lago P. Architecture Design Decision Maps for Software Sustainability (under
submission, 2018). Available upon request.
Example: smart lightning
- design for social sustainability
Example: Qubus
- architecture decision making (planned effects)
- monitoring (actual effects)
Verdecchia et al. (2017). Estimating Energy Impact of Software Releases and Deployment Strategies: The KPMG
Case Study. https://doi.org/10.1109/ESEM.2017.39
Example: Mobility as-a-Service
- create new markets
MaaS - provider
perspective © 2017
Example: Mobility as-a-Service
- quality concerns address multiple dimensions
MaaS – provider vs user perspective © 2017
In summary
#1: Software is the motor of a sustainable
society
#2: Software Architecture is the tool to make
the right decisions. It can bring simplicity in a
world that is increasingly complex.
#3: Every architect should know what
sustainability is (exactly), and what it means
for his or her organization, customers, and
the society at large.
#4: We need a sustainability quality suite to
measure software sustainability.
WORK IN PROGRESS !
Thank you
23@patricia_lago
Credits: slides, ideas and results are a
collective effort with my bright and energetic
colleagues in the S2 Group @Vrije Universiteit
Amsterdam www.s2group.cs.vu.nl

Green Software: Architecture Decision-making for Sustainability

  • 1.
    Patricia Lago Patricia Lago VrijeUniversiteit Amsterdam Presented at: LAC 2018 Green Software Architecture Decision- making for Sustainability
  • 2.
    Think: do Ireally need to print this?
  • 3.
    Dutch National Associationfor Software Engineering versen.nl It brings together researchers, educators and practitioners in the field of software engineering in the Netherlands, who share the common goals of: PUBLIC AWARENESS KNOWLEDGE CREATION SYNERGY & FUNDING KNOWLEDGE TRANSFER ict-research.nl It unites, strengthens and advocates academic research and education on ICT in The Netherlands, to help realise high-quality digitalisation agendas that enable society to face the ICT challenges of today and tomorrow.
  • 4.
    Disclaimer Terms “green” and“sustainable” are often used as synonyms… … even if they are not.
  • 5.
    Contents What is softwaresustainability? Why should we care as software architects?
  • 6.
    Takeaways #1: Software isthe motor of society. It can help (or hinder) the energy transition and the realization of the sustainable development goals (SDGs). #2: Software Architecture is the tool to make the right decisions. It can bring simplicity in a world that is increasingly complex. #3: Every architect should know what sustainability is (exactly), and what it means for his or her organization, customers, and the society at large. #4: We need a sustainability quality suite to measure software sustainability.
  • 7.
    The environmental impactof ICT Source: “GeSI SMARTer 2020: The Role of ICT in Driving a Sustainable Future” (2012), online at http://smarter2030.gesi.org/downloads/Full_report.pdf ICT-enabled solutions offer the potential to reduce GHG emissions by 16.5%, create 29.5 million jobs and yield USD 1.9 trillion in savings
  • 8.
    The environmental impactof ICT Source: “GeSI SMARTer 2030: ICT Solutions for 21st Century Challenges Gt CO2e generated by the ICT sector 2.7% Global emissions 2.3% Global emissions 1.97% Global emissions Gt CO2e avoided through the use of ICT solutions
  • 9.
    Sustainability >> GreenIT Direct impact (energy-efficient software) Indirect impact (software for sustainability)
  • 10.
    The sustainability impact Companiesinvesting in the Sustainable Business Goals are more successful, by far, and increasingly necessary. They are estimated to create 12 Trillion USD by 2030 with 380 Million new jobs.
  • 11.
    The role ofsoftware: software solutions are inefficient Hardware optimizations are negated by software inefficiencies [cf. Wirth’ Law] q We do know how to design for quality software! (security, performance, reliability). q We need tools to frame the “bigger picture” (my inefficiency is yours too).
  • 12.
    The role ofsoftware is global: environmental impact in perspective Internet data grows at 20% per year, barely 1% is ever used A collective global electricity consumption of 20% by 2030, growing 6-9% per year Sources: Greenpeace report on Building the Green Internet (2015); www.enerdata.net (2018) q There are practices to make software smarter: consolidation/virtualization, cyber-foraging, self-adaptation. Decentralization, digitalization, data science alone do not help. q Saving energy is not sexy, but it should.
  • 13.
    Quantifying the roleof software: how much? • Design decisions in cloud migration? +80€Billion revenues by 2020 • Add energy-aware software features? -25% energy consumption • Predict incidents (better capacity management) in the cloud? 1.9M€ cost savings per year q Decisions based on beliefs (aka “experience”) are not acceptable à measure & monitor q (Re-)architecting should be data-driven à but we need quality (!) of data
  • 14.
    The role ofsoftware usage: software is socially pervasive Digital abundance (but dependency) Digital inclusion (but scarcity of resources) q Software intelligence can create new markets and improve quality of life. q It is our ethical duty to safeguard our generations against useless addictions.
  • 15.
    EC O N O M IC SO C IAL EN VIRO N M EN TAL TEC H N IC AL SO FTW ARE IM M EDIATE IM PACT ENABLING IM PACT SYSTEM IC IM PACT Lago, P. ©2016-2018 SoSA: A Software Sustainability Assessment Method. Available at: https://goo.gl/HuY6tf Condori-Fernandez, N., & Lago, P. (2018). Characterizing the contribution of quality requirements to software sustainability, Journal of Systems and Software, 137, 289-305. Sustainability is multi- dimensional Sustainability effects ≠ measurable impacts
  • 16.
    Sustainability Defined uTechnical Sustainabilityaddresses the long-term use of software- intensive systems and their appropriate evolution in an execution environment that continuously changes. uEconomic Sustainability focuses on preserving capital and (economic) value. uSocial Sustainability focuses on supporting current and future generations to have the same or greater access to social resources by pursuing generational equity. For software-intensive systems, this dimension encompasses the direct support of social communities in any domain, as well as the support of activities or processes that indirectly create benefits for social communities. uEnvironmental Sustainability aims at improving human welfare while protecting natural resources. For software-intensive systems, this dimension aims at addressing ecologic requirements, including energy efficiency and ecologic awareness creation. Source: P. Lago et al., Framing Sustainability as a Software Quality Property, ACM Communications, 2015.
  • 17.
    Design Decision Mapsframing Sustainability Concerns [notation] Lago P. Architecture Design Decision Maps for Software Sustainability (under submission, 2018). Available upon request.
  • 18.
    Example: smart lightning -design for social sustainability
  • 19.
    Example: Qubus - architecturedecision making (planned effects) - monitoring (actual effects) Verdecchia et al. (2017). Estimating Energy Impact of Software Releases and Deployment Strategies: The KPMG Case Study. https://doi.org/10.1109/ESEM.2017.39
  • 20.
    Example: Mobility as-a-Service -create new markets MaaS - provider perspective © 2017
  • 21.
    Example: Mobility as-a-Service -quality concerns address multiple dimensions MaaS – provider vs user perspective © 2017
  • 22.
    In summary #1: Softwareis the motor of a sustainable society #2: Software Architecture is the tool to make the right decisions. It can bring simplicity in a world that is increasingly complex. #3: Every architect should know what sustainability is (exactly), and what it means for his or her organization, customers, and the society at large. #4: We need a sustainability quality suite to measure software sustainability. WORK IN PROGRESS !
  • 23.
    Thank you 23@patricia_lago Credits: slides,ideas and results are a collective effort with my bright and energetic colleagues in the S2 Group @Vrije Universiteit Amsterdam www.s2group.cs.vu.nl