Presentation from JAOO 09 Australia on how to design software architectures to maxmise sustainable outcomes by limiting power and resource usage. Uses the Virtualisation Maturity Model (see Architecture Journal edition 18).
3. Agenda
The case for Sustainable Architecture Design
Finding improvements through design
Finding improvements through development
Finding improvements through architecture
The virtualisation maturity model
Conclusion
4. Where does the carbon come from?
Carbon Emissions
Energy
Other
5. Who’s bad?
6
5
4
Airline Industry
3 IT Industry
2
IT Industry
1
Airline Industry
0
% of Carbon Growth
Emmissions
7. Facts
Power costs for each server are now greater than
the cost of the server – Google.
Running a computer is worth 4x the CO2 emissions
of building it, each year.
Building a computer is 10x less effective on CO2
emissions than white goods.
9. So where are we now?
Architecture is directly related to power
consumption
This stuff matters now and will matter more and
more
Applications have never been designed efficiently
until now
It isn’t that hard – we just haven’t thought about it
before
11. Finding improvements through design
Inefficient processes
Wasted travel:
• Reduce deliveries and flights
• Enable telecommuting
• An exponential effect...
Wasted paperwork
Unnecessary filing
Build the total cost of operations into the business
case
Design systems to remove inefficiencies
13. Support the OS and hardware
Don’t stop sleep mode.
Restore gracefully from sleep mode.
Don’t hog the network, disk or processor – allow for
graceful power-down
Even support wake-up on interrupt
Principle: Support power saving mode:
14. Data matters too
Disks need power
Online data needs disks
Principle: Store as little data as possible.
Principle: Include data archiving in application
design.
15. Code efficiency matters
CPU cycles = power
Use multi-threading!
Applications need to play together nicely
The Windows 7 example!
Principle: Design, develop, and test to maximize
the efficiency of code
17. Let’s be friends
The power realities of CPU usage and hardware
Step 1: Consolidate applications by function
Step 2: Consolidate applications by server
Step 3: Consolidate shared services
Enterprise Architecture does save money!
Component reuse does have a real purpose after
all.
18. Level 1 - Principles
Principle: Develop a plan to rationalize your
applications and platform portfolio first.
Principle: Consolidate applications together onto a
minimum number of servers.
19. The Case for Virtualisation
Virtualisation can save hardware on paper.
In real life it is more complicated...
Perform consolidation first!
Carefully design the virtual environment.
Move consolidated machines to virtual servers.
Group applications by:
• Usage
• Availability by time
• Availability by business need
20. Level 2: Principles
Principle: Consolidate before virtualisation.
Principle: Virtualise for efficiency, not for the sake
of it.
21. The Brighter Shade of Green: The Cloud
Clouds come in many flavours:
• Software as a Service (SaaS)
• Software + Services (S+S)
• Cloud Platforms
Clouds come in shades of green:
• Virtualised platforms (Amazon)
• Cloud Platforms (Azure and Google)
22. Making sure your Cloud has a Green Lining
Things to look for:
• Compute platforms are better than virtualised
• Match need to platform: architecture
• Select vendor by green credentials: data centre
location, power sources
The rest of the model still applies to Cloud
What isn’t Green:
• “Private Clouds”
• Local Hosting
23. Level 3: Principles
Principle: Use SaaS for commodity services
Principle: Re-use S+S Services where possible
Principle: Don’t virtualise new applications
Principle: Pragmatically move applications to the
Cloud
Principle: Choose cloud vendors by green
credentials
25. Q & (hopefully) A
Object Consulting operates a Sustainability Practices with
solutions including Sustainable Architecture Design
www.objectconsulting.com.au
Kevin Francis
kevin.francis@objectconsulting.com.au
http://msmvps.org/blogs/architecture