Sustainable Computing

Sustainable Computing: efficiency in development and its impact on sustainability

In a world where the philosophy of infinite growth and uncontrolled use of resources is coming to an end due to the current climatic, economic and social context, information technologies are not an exception and trends such as the Sustainable Computing.

Since the first computers with punch cards, the level of refinement and abstraction in the development world has increased exponentially in the last decades, leading to an unprecedented ease of software development, with frameworks and libraries that provide out of the box almost everything a single developer needs to get an online application up and running in a matter of hours, as well as numerous Low Code / No Code platforms that allow applications to be developed without writing a single line of code.

This simplicity of development is about coping with the exponential growth in demand for such technology. Looking back 15 years ago makes you feel dizzy when you compare our digital life with the average use of technology per capita. Furthermore, the widespread adoption of technologies such as Big Data and Artificial Intelligence, which have intensive computing resource requirements, completes a picture where the average resource consumption in any medium to large enterprise is higher than it was just a few years ago.

The origin of Sustainable Computing

The rise of technologies CloudThe fact that we have completely standardised the use of these machines, both in large corporations and in SMEs and personal users, and that they allow us to launch computing resources instantaneously at a price of fractions of a cent per hour of use, can generate the illusion that computing resources are virtually infinite. The reality is that these machines, although virtualised, physically reside somewhere on the planet, are finite and consume enormous amounts of energy. On the other hand, in the development world, we are presented with the contradiction that while building a web service requires only a few lines of code, an average web service in languages like Java requires several hundred megabytes of memory to run.

In this context, the concept of Sustainable Computing is progressively gaining strength.Sustainable ComputingFrugal Computing, which aims to make efficient and rational use of computing resources to minimise or neutralise their carbon footprint, as well as to raise awareness of the fact that they are neither finite nor free or low-cost in terms of both environmental and economic impact.

Although the rise of Sustainable Computing is relatively recent, authors such as Jason Fried, CEO of 37Signals and creator of Basecamp and Ruby on Rails; in his book 'Getting Real' has been advocating for years the rationalisation of resources in the creation of software and the escape from "bloatware" and products with hundreds of rarely used features, which represent a large percentage of development costs and greatly increase the complexity and impact of development.

What is Sustainable Computing?

On a more purely technical level, Sustainable Computing has been helped by the emergence and progressive adoption of technologies such as Web Assembly (WASM)which uses binary code on a virtual machine and promises near-native performance, i.e. applications programmed with languages such as C++ and compiled to machine code, requiring fewer resources to obtain the same results.

In languages such as Java, which are widely used in the business world and have traditionally been criticised for being heavy in terms of resources, initiatives such as the following have appeared QuarkusThe new technologies, which require not only less memory than traditional options, but also a significantly faster start-up, allow for an on-demand approach and greater sharing of resources between different systems.

Although these technologies are still in their infancy and their adoption is still low in large companies, they are growing steadily under the umbrella of standards and large organisations. As an example, Spring, the de facto standard in the Java world, has developed Spring Native with a similar approach to Quarkus, and which shows promising performance and memory usage. WebAssembly has reached version 1.0 and is not only supported in all major browsers, but Docker encourages us to try Docker + WASM as a lightweight and efficient alternative to traditional Linux containers from its homepage.

At Bosonit and NWorld Group, we have an innovation area where we analyse the latest trends and improvements in the fields of Development, Data, Cybersecurity and Cloud, putting them into practice with our clients in order to obtain solid conclusions with which to offer efficient and sustainable alternatives for their operations.

You may be interested in

Take the leap

Contact us.