Equinix
Historically, Haskell infrastructure has had one primary host: Equinix Metal.[1] As the name implies, this was a bare-metal product which provided the infrastructure team with a lot of flexibility in managing Haskell’s services.
Equinix provided upwards of $100k per year in infrastructure hosting support to Haskell and also provided resources to several other OSS communities. This is a big deal, we thank Equinix for provided the OSS community with such a valuable service.
Near the end of 2024 Equinix announced that they would be sun-setting the Metal product and that all users would need to migrate to a new platform (i.e. even if we stayed with Equinix, we would have to migrate to a different product).
Migration Prep
This announcement was a significant forcing function for the infrastructure team. Even before the announcement, the infrastructure team had identified the concentration risk in having so many of our services hosted on one platform. Equinix sun-setting the Metal product was the realization of that concentration risk. Therefore we decided that part of the migration plan would include diversifying our hosting landscape.
The team worked together to identifying all current services and suitable new homes for those services. Cost was a large factor as well, a direct equivalent to the Equinix Metal product is not cheap and much of the flexibility provided by such products are not required by the Haskell community.[2] For this reason we explored a variety of options; co-location, other bare-metal products, VMs, etc.
Migration Result
As of yesterday, May 1st, the previous Equinix Metal instances that the Haskell community used have all been shut down! Our services are now hosted on a variety of platforms: DigitalOcean, SimSpace, Discourse (this Discourse instance, of course), and the OpenCape co-location facility in Cape Cod.
This has helped reduce some of the concentration risk, while being cost-effective. Having to manage some of the physical servers ourselves (the ones at OpenCape) is new for us, and we do not take it lightly. Because of this, we’ve chosen a co-location facility that is within 1 day’s drive of 3 of us.
Each migration had its share of small hiccups, some of which we are still ironing out, but overall I am very pleased with the work accomplished by our wonderful infrastructure team. The impact to the wider community has been minimal and we’re now planning for some additional infrastructure improvements and audits.
None of this would have been possible without this team’s effort and coordination. There are many moving parts to Haskell’s infrastructure and no one person is in control of all of them. It was no small task!
Please thank @sclv, @davean, @bgamari, and @chreekat!
Future
The Haskell Foundation was able to take on the responsibility of coordinating and managing these projects because our sponsors fund our work. Infrastructure is a never ending responsibility, and our sponsors ensure that we can continue to coordinate and enable our infrastructure volunteers to do what’s necessary to keep Haskell up and running!
While we worked hard to keep costs low, our costs are now higher, and our sponsors ensure that we have the funds necessary to ‘keep the lights on’.