--- author: twelho, luxas date: 2021-09-07 20:00:00+00:00 title: Introducing Racklet description: An introduction to the project, how it got started, where we are now and some future plans. url: /blog/2021/09/introducing-racklet/ --- # Hello, world! Welcome to the Racklet blog! If you like cloud computing, security, embedded development and innovative design, this is the place for you. The Racklet community and developers are designing a tabletop datacenter for education, research, tinkering and what ever use you may come up with. Keen to hear more and to contribute? Read on! ## A Tabletop Datacenter? Racklet is a cluster computer system powered by single board computers. A [cluster computer] is essentially just many individual computers connected to the same network to collaborate on programs to run. These computers are typically highly powerful servers in a datacenter, but they can techincally be anything -- we're using credit-card-sized [single board computers] like the [Raspberry Pi]. In a [cloud computing] datacenter, the programs that are run on cluster computer systems are the websites and databases we rely on every day, such as search engines, video streaming services, cloud storage and wiki-pages. Racklet aims to be fit for these tasks as well, just on a scale that fits on your desk. With this scale obviously comes lower performance, but crucially an affodable price and good accessibility as well. [cloud computing]: https://azure.microsoft.com/en-us/overview/what-is-cloud-computing/ [cluster computer]: https://en.wikipedia.org/wiki/Computer_cluster [single board computers]: https://en.wikipedia.org/wiki/Single-board_computer [Raspberry Pi]: https://www.raspberrypi.org/products/raspberry-pi-4-model-b/ ## Learning from the Hyperscalers The largest companies in the world operating cloud services, such as Google, Amazon, Facebook and Microsoft, are called the [**hyperscalers**] of the cloud industry. These companies have a lot of money to spend on cloud research and development, and one of their biggest challenges is security. Google just [committed to investing](https://blog.google/technology/safety-security/why-were-committing-10-billion-to-advance-cybersecurity/) $10 billion to improving the state of cybersecurity over the next five years. Naturally this leads to a lot of work on the security of the cluster computer systems their infrastructure relies on. Developmens such as [hardware root of trust] and [containers] are integral parts of a modern, secure cloud stack. In addition to this, technologies such as [Kubernetes] have been developed to drive the upkeep and maintenance overhead down, and to enable easy scaling of applications. As an example of what can be achieved, take a look at this live demo that uses Kubernetes to [process a massive physics dataset to rediscover the Higgs boson]. [**hyperscalers**]: https://www.kc8apf.net/2020/05/what-the-heck-is-hyperscale/ [hardware root of trust]: https://www.datacenterknowledge.com/security/open-compute-project-releases-hardware-root-trust-spec-data-centers [containers]: https://youtu.be/pR-cGS6IGvI [Kubernetes]: https://kubernetes.io/ [process a massive physics dataset to rediscover the Higgs boson]: https://youtu.be/CTfp2woVEkA ## Making Hyperscaler technology accessible Racklet is not just another Raspberry Pi rack running a couple of applications in [Docker]. We aspire to bring the leading edge of cloud computing security, scalability and management within arm's reach, with a price less than that of a single "real" server. While many required software components are already [open source], building a complete cloud stack using them is definitely not an easy feat. Racklet aims to lower the barrier of entry, and naturally all software and hardware components of the system will be published as open source for the community to hack on and improve. [Docker]: https://www.docker.com/ [open source]: https://opensource.org/docs/osd ## The humble beginnings The idea behind Racklet dates back multiple years, back to May 2015: The Raspberry Pi 2 had just [been released](https://www.raspberrypi.org/blog/raspberry-pi-2-on-sale/) and [Lucas Käldström] was experimenting with how to combine the computing power of multiple of these small, affordable computers based on the [ARM architecture]. After porting [Kubernetes to ARM] and upstreaming the support, the idea of an end-to-end system like Racklet slowly evolved over the years in Lucas' mind. The breakthrough came on a university course where Lucas met [Dennis Marttinen], [Verneri Hirvonen] and some other students interested in the concept. After roughly a year and a half of thinking, research and countless ideological redesigns of the architecture, Racklet has finally started materializing by help of the work put into it during this summer. [Lucas Käldström]: https://github.com/luxas [Dennis Marttinen]: https://github.com/twelho [Verneri Hirvonen]: https://github.com/chiplet [ARM Architecture]: https://en.wikipedia.org/wiki/ARM_architecture [Kubernetes to ARM]: https://github.com/luxas/kubernetes-on-arm ## Respecting values, driven by documentation Our aim is not only to build a great solution, we also want to foster a diverse community consisting of everyone willing to learn about, educate with, hack on and use Racklet. It is a multifaceted, complicated project, but we will try to get the barrier of understanding the core concepts low. In other words, the following spinoff of a [classic XKCD](https://xkcd.com/2501/) describes nicely what we mean by documentation not being clear enough: <center><a href="https://twitter.com/gf_256/status/1430961241644732416"><img src="https://pbs.twimg.com/media/E9vLp9xWQAEfizW?format=png" alt="XKCD spinoff by @gf_256 on Twitter" width="400"/></a></center> The entirety of the Racklet hardware and software stack bases on openly available [RFC (Request For Comments)] documents, and in [RFC-0001] we have detailed a concise set of core values that drive all design decisions and considerations. In short, they are the following: 1. **Security** 1. **Interoperability** 1. **Accessibility / Reproducibility** 1. **Modularity / Compatibility** 1. **Transparency** 1. **Maintainability / Upgradability** 1. **Affordability** Go check out [RFC-0001], it summarizes the high-level architecture of Racklet in more detail. If something is unclear, don't hesitate to open an issue in [the Racklet repo]! The core team might sometimes accidentally produce docs not unlike the above XKCD spinoff, and that needs to be rectified :) [RFC (Request For Comments)]: https://en.wikipedia.org/wiki/Request_for_Comments [RFC-0001]: https://docs.racklet.io/rfcs/0001-high-level-architecture.html [the Racklet repo]: https://github.com/racklet/racklet/issues ## We're just getting started This summer Racklet participated in the [CNCF mentorship] program hosted as part of [LFX]. While Dennis, Lucas and Verneri have worked hard during the summer, we are just three people that have needed to learn many new skills in everything from hardware design and electronics to embedded Rust and proper tracing and YAML parsing. Let's have a look at the current state of affairs next. Right now the first two high-level RFCs are up on https://docs.racklet.io/ with a couple more detailed ones being worked on in the [the Racklet repo]. Work has gone into writing supportive tooling like [kicad-rs] to help us learn the safe and performant [Rust programming language] as well as aid in the electronics work happening in [electronics-prototyping]. The rack hardware design has been started in the [rack] repo, embedded Rust firmware research is ongoing in [bmc-experiments], and some higher-level tracing, logging and data processing advancements are shaping up in [deklarative] for enabling observability and scalability. Look out for more blog posts on these matters on this here blog very soon! This project will take time to mature, and we are happy to receive contributions for improving the designs, code and documentation. Go have a look at the [Racklet repositories](https://github.com/racklet) to get started! Come join us on the [#racklet](https://osfw.slack.com/messages/racklet) channel in the [OSFW Slack](https://slack.osfw.dev/), and you're also welcome to join our community meetings on Mondays, details in the Slack channel! You've reached the end, thanks for your interest! We hope you share our excitement, feel free to join the community and follow the project's continued development on this blog and on Slack. [CNCF mentorship]: https://mentorship.lfx.linuxfoundation.org/project/622bbf07-b001-470c-8da8-b714bb127183 [LFX]: https://lfx.linuxfoundation.org/ [kicad-rs]: https://github.com/racklet/kicad-rs [Rust programming language]: https://www.rust-lang.org/ [electronics-prototyping]: https://github.com/racklet/electronics-prototyping [rack]: https://github.com/racklet/rack [bmc-experiments]: https://github.com/racklet/bmc-experiments [deklarative]: https://github.com/luxas/deklarative > Written by: > > - Dennis Marttinen, [@twelho](https://github.com/twelho) > - Lucas Käldström, [@luxas](https://github.com/luxas)