Circular Datacenter - Working with Ecosystems
Tags: devops, opensource, openhardware, linux
Published: 2020-10-21 23:24:42

This is part two of a series of blog posts that talks about the circular datacenter as an intro primer of what we do. Part one is [here](https://dev.to/sesame_engineering/let-s-talk-about-the-circular-data-center-2b63) where we left with a cliffhanger on how openness is important to the circular data center. 

We talked about how sustainability and reducing our carbon footprint are important for a healthy planet. As humans we have a responsibility to take care of the planet, our home amongst the cosmos. 

Now let's talk about business, because that's important as well. Making the sustainable choice is great, but we can’t sacrifice the stability of the data center.  Even though the cloud environment provides you with a seemingly fault resistant environment - you're still vulnerable. 

We'll get back to that in a bit. 

Let's talk about firmware. Firmware is very low-level software that runs on hardware that is used to initialize and load the OS bootloader and provide a priori knowledge about the hardware configuration. 

Hardware manufacturers maintain firmware in order to fix software bugs, work around hardware problems, and fix security exploits. All of these keep your hardware useful, reliable and dependable; *As long as your hardware is relatively new*. 

Traditionally, silicon vendors tend to keep firmware as a secret, because it provides competitors, ostensibly, with the knowledge of the internals of the hardware. 

Original ODMs and OEMs don't have a choice as their license doesn't generally allow them rights to redistribute the source provided by the Independent BIOS vendor (IBV).  This also means that the hardware vendor must support the firmware for the life of the product in most cases.  A microprocessor could have a product support of 20 years, but smaller hardware manufacturers could provide substantially fewer years of product support. 

Once a new generation of hardware comes out - support for the old firmware starts deprecating. 

In fact, over time firmware tends to move to "sustained long term support" where only critical or security bugs are fixed. A skeleton crew is staffed to support it as the hardware company starts pushing its clients to purchase the new hardware and upgrade. 

If your hardware is coming from sustainable sources and it's already four to five years old - how well supported is the firmware for that hardware? How long before support is sunset, leaving these machines without support? 

To answer the supportability question, we need to look at a project called [Linuxboot](https://linuxboot.org/). In short, if we replace firmware with the Linux kernel, we can move to a more sustainable long-term support model. Given the previous attitude by hardware manufacturers - why would they move to this? 

There is nothing specifically magical about firmware - companies end up re-implementing the same code paths all the time. By open sourcing the firmware - the community can handle the maintenance of the firmware and continue it indefinitely. Leaving companies to only implement the hardware feature specific portions - reducing engineering time and time to market.

But more interestingly, that maintenance cost is spread across interested parties. So, companies only spend a fraction of their manpower to support older hardware - plus critical bug and security fixes will be quickly addressed. So overall it's a win-win from a practical point of view. 

Plus, we leverage the resources of the large community that surrounds the Linux kernel. 

This is great news for the circular data center since that means we can use Linuxboot to continue to support older hardware far longer than a singular company would be interested in doing and without paying the big bucks to that hardware company it would require to keep that product supported. 

However, there is no passivity on the part of companies in the circular data center business. They play an active part in this ecosystem because they may want specific products supported - that means they hire firmware developers and contribute code, tests, and other resources upstream as part of the ecosystem. Given that it is all open source, contributions are all merged upstream and community supported - thus we socialize the costs of support (separate from the cost of initial engineering) - thanks to the strong community around Linuxboot. 

While the bulk of this post has been around firmware - that isn't the only ecosystem that the circular data center invests in. 

In part three, we'll talk about other ecosystems specifically projects that are part of [Open Compute Project](https://opencompute.org). 

   

Acknowledgements: 

<span>Photo by <a href="https://unsplash.com/@markusspiske?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Markus Spiske</a> on <a href="https://unsplash.com/s/photos/gardening?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash</a></span> 

Big thank you to the [Open System Firmware](https://www.opencompute.org/projects/open-system-firmware) community for reviewing this post.