Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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

Lucas Käldström

April 29, 2021
Tweet

More Decks by Lucas Käldström

Other Decks in Technology

Transcript

  1. 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.
  2. 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 *
  3. 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
  4. 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
  5. 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
  6. 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
  7. If you go down the build route, the assembly is

    left as an exercise to the reader how to build a cloud? @kubernetesonarm & @twelho
  8. 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
  9. Plexiglass & screws SBC SBC SBC SBC USB Hub Network

    Switch Internet Power grid SD SD SD SD 230VAC → 12VDC @kubernetesonarm & @twelho
  10. 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
  11. 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
  12. 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
  13. 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
  14. 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
  15. 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.
  16. 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
  17. 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
  18. 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
  19. 1. Security 2. Interoperability SPI Ethernet UART USB @kubernetesonarm &

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

    Source Software and Hardware, all on GitHub @kubernetesonarm & @twelho
  21. 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
  22. 1. Security 2. Interoperability 3. Accessibility / Reproducibility Electronics? off-the-shelf

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

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

    / Compatibility 5. Transparency power monitoring observability @kubernetesonarm & @twelho
  25. 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
  26. 1. Security 2. Interoperability 3. Accessibility / Reproducibility 4. Modularity

    / Compatibility 5. Transparency 6. Maintainability / Upgradability 7. Affordability @kubernetesonarm & @twelho
  27. @kubernetesonarm & @twelho Turing Pi 1 by Turing Machines Inc.

    Raspberry Pi Server Mark III by Ivan Kuleshov CM4 Uptime Platform by Ivan Kuleshov