Save 37% off PRO during our Black Friday Sale! »

Introducing Racklet, a commoditized, educational and open source data center scale-model for tinkerers

Introducing Racklet, a commoditized, educational and open source data center scale-model for tinkerers

“The future is already here - it's just not evenly distributed” - William Gibson

We’d like to announce our latest open-source project: Racklet. It’s a fully-integrated, Raspberry Pi form-factor server rack and software stack that aims to be a scale model of hyperscaler datacenters. All layers of the stack are 100% OSS/OSH, and will be developed together with the community. It’s reproducible through open PCB designs, 3D printed casing, and commodity, off-the-shelf hardware.

We want to lower the barrier of entry for becoming cloud native. Racklet aims to inspire users to explore how modern server architectures work, in a tangible and educational way. Emphasis is put on security, knowledge sharing, extensibility, and portability.

The goal is to conceptually map to real environments and provide an accessible and well-documented path to welcome future talents to the world of cloud native.

Youtube link: https://youtu.be/YKWtR0xOnF4
Online slides: https://docs.google.com/presentation/d/1cfVf4ZSiCef6gpWr8UMtdMPqyIdWTLaGt1du5v5Kex0/edit#slide=id.gd48a3760c5_0_2030

111ac0b31c0dc219c84ddadedc8e5f67?s=128

Lucas Käldström

April 29, 2021
Tweet

Transcript

  1. the cloud @kubernetesonarm & @twelho

  2. someone else’s server? @kubernetesonarm & @twelho

  3. someone else’s problem? @kubernetesonarm & @twelho

  4. but, what is the problem anyways? “It just works” @kubernetesonarm

    & @twelho
  5. mental model vs reality @kubernetesonarm & @twelho

  6. mental model mismatch @kubernetesonarm & @twelho * *Original image adapted

    Relevant: “KubeCloud: A Small-Scale Tangible Cloud Computing Environment”, a Master’s Thesis from Aarhus University, by Kasper Nissen and Martin Jensen.
  7. a practical way to bridge the gap Relevant: “KubeCloud: A

    Small-Scale Tangible Cloud Computing Environment”, a Master’s Thesis from Aarhus University, by Kasper Nissen and Martin Jensen. @kubernetesonarm & @twelho *Original image adapted *
  8. the hidden complexity what the developer sees logical software Web

    App Power Premises Cooling Network Compute Storage Firmware Hypervisor VM hardware-software interface finite hardware OS @kubernetesonarm & @twelho
  9. what are my options? @kubernetesonarm & @twelho

  10. what are my options? /month Rent Note: This project is

    not affiliated with any of these companies, the logos are just for illustration. @kubernetesonarm & @twelho
  11. Buy what are my options? Rent /month Note: This project

    is not affiliated with any of these companies, the logos are just for illustration. @kubernetesonarm & @twelho
  12. reality for us students @kubernetesonarm & @twelho

  13. what are my options? Buy Rent Build /month Note: This

    project is not affiliated with any of these companies, the logos are just for illustration. @kubernetesonarm & @twelho
  14. If you go down the build route, the assembly is

    left as an exercise to the reader how to build a cloud? @kubernetesonarm & @twelho
  15. None
  16. so what is the industry-standard glue? @kubernetesonarm & @twelho

  17. the imperative, fail-at-runtime glue: @kubernetesonarm & @twelho

  18. the declarative, hardened glue: @kubernetesonarm & @twelho

  19. let’s start from the beginning @kubernetesonarm & @twelho

  20. Lucas Käldström @luxas @kubernetesonarm Emeritus Kubernetes SIG/WG co-lead CS Student,

    Aalto University Co-author of kubeadm, Weave Ignite & Racklet Dennis Marttinen @twelho @twelho Open Source Developer CS Student, Aalto University Co-author of Weave Ignite & Racklet @kubernetesonarm & @twelho
  21. how to build a cloud (2015 edition) @kubernetesonarm & @twelho

  22. lucas’ try, circa 2015 luxas/kubernetes-on-arm luxas/kubeadm-workshop @kubernetesonarm & @twelho

  23. Plexiglass & screws SBC SBC SBC SBC USB Hub Network

    Switch Internet Power grid SD SD SD SD 230VAC → 12VDC @kubernetesonarm & @twelho
  24. how to build a better cloud (2021 edition) @kubernetesonarm &

    @twelho
  25. Plexiglass & screws SBC SBC SBC SBC USB Hub Network

    Switch Internet Power grid SD SD SD SD problem #1: Inflexible No hot-swapping Inflexible & limiting “Hand-made”, not reproducible 230VAC → 12VDC @kubernetesonarm & @twelho
  26. 3D printed case SBC SBC SBC SBC USB Hub Network

    Switch Internet Power grid SD SD SD SD Hot-swap support Reproducible Modular 230VAC → 12VDC solution #1: @kubernetesonarm & @twelho
  27. 3D printed case SBC SBC SBC SBC USB Hub Network

    Switch Internet Power grid SD SD SD SD 230VAC → 12VDC problem #2: No standard :( Single point of failure (SPOF) Single point of failure, easily overloaded Different power in connectors @kubernetesonarm & @twelho
  28. SBC HAT 3D printed case SBC SBC SBC SBC Network

    Switch Internet Power grid SD SD SD SD 230VAC → 12-20VDC HAT HAT HAT HAT SBC GPIO 12-20V → 5V HAT standard Moved SPOF out of Rack, redundancy possible PWR IN Flexible input range solution #2: @kubernetesonarm & @twelho Power monitoring
  29. 3D printed case SBC SBC SBC SBC Network Switch Internet

    Power grid SD SD SD SD 230VAC → 12-20VDC HAT HAT HAT HAT problem #3: Tiresome to flash Breaks often Mutable infra SBC GPIO 12-20V → 5V PWR IN SBC HAT @kubernetesonarm & @twelho Hard to debug
  30. SBC HAT 3D printed case SBC SBC SBC SBC Network

    Switch Internet Power grid SSD SSD SSD SSD 230VAC → 12-20VDC HAT HAT HAT HAT OS Images Immutable infra Durable storage Secret for secure network booting Microcontroller helping with secure boot* and boot debugging solution #3: SBC GPIO 12-20V → 5V PWR IN RP2040 @kubernetesonarm & @twelho *Not the UEFI standard, instead tools from Open Source Firmware.
  31. 3D printed case SBC SBC SBC SBC Network Switch Internet

    Power grid SSD SSD SSD SSD 230VAC → 12-20VDC HAT HAT HAT HAT problem #4: Kubernetes is hard to set up and upgrade No declarative control over power state Cluster control is imperative, not declarative OS Images SBC HAT SBC GPIO 12-20V → 5V PWR IN RP2040 @kubernetesonarm & @twelho
  32. 3D printed case SBC SBC SBC SBC Network Switch Internet

    Power grid SSD SSD SSD SSD 230VAC → 12-20VDC HAT HAT HAT HAT Provide K8s-ready immutable OS images Git Declarative Infra Config Declarative GitOps for all infrastructure K8s-ready OS Images Declarative power state control solution #4: SBC HAT SBC GPIO 12-20V → 5V PWR IN RP2040 @kubernetesonarm & @twelho
  33. is this realistic? @kubernetesonarm & @twelho

  34. kind of, as a scale model @kubernetesonarm & @twelho

  35. 3D printed case SBC SBC SBC SBC Network Switch Internet

    Power grid SSD SSD SSD SSD 230VAC → 12-20VDC HAT HAT HAT HAT Immutable infra Git Declarative Infra Config Declarative “full-stack” GitOps K8s-ready OS Images similarities: Two-stage step-down “Busbar” TPM(-ish) Secure, zero-trust bootflow BMC Optimized casing End-to-end observability Hot-swappable compute SBC HAT SBC GPIO 12-20V → 5V PWR IN RP2040 @kubernetesonarm & @twelho
  36. disclaimer: @kubernetesonarm & @twelho

  37. values @kubernetesonarm & @twelho

  38. 1. Security avoid common security pitfalls by using modern paradigms

    @kubernetesonarm & @twelho
  39. 1. Security 2. Interoperability @kubernetesonarm & @twelho

  40. 1. Security 2. Interoperability @kubernetesonarm & @twelho declarative, API-driven system

  41. 1. Security 2. Interoperability SPI Ethernet UART USB @kubernetesonarm &

    @twelho cutting-edge protocols in the firmware
  42. 1. Security 2. Interoperability 3. Accessibility / Reproducibility 100% Open

    Source Software and Hardware, all on GitHub @kubernetesonarm & @twelho
  43. 1. Security 2. Interoperability 3. Accessibility / Reproducibility reproducible, 3D

    printed parts Note: This project is not affiliated with any 3D printer vendors, the logos are just for illustration. @kubernetesonarm & @twelho
  44. 1. Security 2. Interoperability 3. Accessibility / Reproducibility Electronics? off-the-shelf

    components docs.racklet.io mdBook schematics in KiCad @kubernetesonarm & @twelho
  45. 1. Security 2. Interoperability 3. Accessibility / Reproducibility 4. Modularity

    / Compatibility @kubernetesonarm & @twelho SBC-agnostic (ideally) multi-architecture use HAT design modular components
  46. 1. Security 2. Interoperability 3. Accessibility / Reproducibility 4. Modularity

    / Compatibility 5. Transparency power monitoring observability @kubernetesonarm & @twelho
  47. 1. Security 2. Interoperability 3. Accessibility / Reproducibility 4. Modularity

    / Compatibility 5. Transparency 6. Maintainability / Upgradability hot swappability upgradability → minimize e-waste auto-upgradability (e.g. A/B partitioning) @kubernetesonarm & @twelho
  48. 1. Security 2. Interoperability 3. Accessibility / Reproducibility 4. Modularity

    / Compatibility 5. Transparency 6. Maintainability / Upgradability 7. Affordability @kubernetesonarm & @twelho
  49. use cases @kubernetesonarm & @twelho

  50. homelabs @kubernetesonarm & @twelho

  51. education @kubernetesonarm & @twelho heylagostechie on Unsplash

  52. research @kubernetesonarm & @twelho Science in HD on Unsplash

  53. edge computing Darya Jumelya on Unsplash @kubernetesonarm & @twelho

  54. ecosystem & community @kubernetesonarm & @twelho

  55. @kubernetesonarm & @twelho Turing Pi 1 by Turing Machines Inc.

    Raspberry Pi Server Mark III by Ivan Kuleshov CM4 Uptime Platform by Ivan Kuleshov
  56. <Learning path to cloud native> Baim Hanif on Unsplash your

    path to mastering cloud native?
  57. the journey begins join us on this journey! @kubernetesonarm &

    @twelho Duy Pham on Unsplash
  58. racklet/racklet @kubernetesonarm & @twelho racklet.io Racklet on OSFW