Files
zeekayandGitHub 4bc4485fda Add unified cloud binary design paper (HIP-0106) (#1)
Design paper describing the Hanzo unified Go binary architecture:
one statically linked process (hanzoai/cloud) mounting every platform
subsystem, built on the zip framework (Fiber v3) with embedded goja
for in-process JS, esbuild for TS->ES5 transpilation, and ZAP RPC
serving both the wire and the in-process dispatch seam.

Covers motivation (microservices overhead for co-located control
planes), architecture, the TS->goja->native-Go migration path
(esign tRPC->ZAP case study, 14/14 routers server-side),
multi-tenancy by configuration, the in-process-goja vs sandboxed
hanzoai/runtime code-execution boundary, a cost model anchored in
published service-mesh measurements, and performance (function call
vs network RPC, promise pipelining).

8 pages, two TikZ figures (layered architecture, cost comparison),
20 references. Compiles clean with tectonic; no missing citations.
2026-06-16 16:09:13 -07:00

165 lines
5.5 KiB
BibTeX

@misc{hip0106,
author = {{Hanzo Industries}},
title = {{HIP-0106: Unified Cloud Binary}},
howpublished = {Hanzo Improvement Proposal},
year = {2026},
note = {\url{https://github.com/hanzoai/hips}}
}
@misc{hip0105,
author = {{Hanzo Industries}},
title = {{HIP-0105: In-Process Extension Runtime}},
howpublished = {Hanzo Improvement Proposal},
year = {2026},
note = {\url{https://github.com/hanzoai/hips}}
}
@misc{zip,
author = {{Hanzo Industries}},
title = {{zip: A Fiber-based Web Framework with Embedded ZAP RPC}},
howpublished = {\url{https://github.com/hanzoai/zip}},
year = {2026}
}
@misc{cloud,
author = {{Hanzo Industries}},
title = {{cloud: Unified Go Control Plane and Binary for the Hanzo Platform}},
howpublished = {\url{https://github.com/hanzoai/cloud}},
year = {2026}
}
@misc{fiber,
author = {{Fiber Authors}},
title = {{Fiber: An Express-inspired Web Framework for Go}},
howpublished = {\url{https://github.com/gofiber/fiber}},
year = {2025}
}
@misc{goja,
author = {Dmitry Panov and {goja contributors}},
title = {{goja: ECMAScript/JavaScript Engine in Pure Go}},
howpublished = {\url{https://github.com/dop251/goja}},
year = {2025}
}
@misc{esbuild,
author = {Evan Wallace},
title = {{esbuild: An Extremely Fast Bundler for the Web}},
howpublished = {\url{https://github.com/evanw/esbuild}},
year = {2025}
}
@misc{capnproto,
author = {Kenton Varda},
title = {{Cap'n Proto: Serialization and RPC with Promise Pipelining}},
howpublished = {\url{https://capnproto.org}},
year = {2013}
}
@inproceedings{sandstorm,
author = {Kenton Varda},
title = {{Sandstorm: An Open-Source Platform for Personal and Private Cloud Servers}},
booktitle = {Sandstorm Technical Documentation},
year = {2014},
note = {\url{https://sandstorm.io}}
}
@misc{cloudflareworkers,
author = {Kenton Varda},
title = {{Fine-Grained Sandboxing with V8 Isolates}},
howpublished = {Cloudflare Blog},
year = {2018},
note = {\url{https://blog.cloudflare.com/cloud-computing-without-containers/}}
}
@inproceedings{firecracker,
author = {Alexandru Agache and Marc Brooker and Alexandra Iordache and
Anthony Liguori and Rolf Neugebauer and Phil Piwonka and
Diana-Maria Popa},
title = {{Firecracker: Lightweight Virtualization for Serverless Applications}},
booktitle = {17th USENIX Symposium on Networked Systems Design and Implementation (NSDI 20)},
year = {2020},
pages = {419--434},
publisher = {USENIX Association}
}
@inproceedings{istio_overhead,
author = {Xiangfeng Zhu and Guozhen She and Bowen Xue and Yu Zhang and
Yongsu Zhang and Xuan Kelvin Zou and Xiongchun Duan and
Peng He and Arvind Krishnamurthy and Matthew Lentz and
Danyang Zhuo and Ratul Mahajan},
title = {{Dissecting Service Mesh Overheads}},
booktitle = {arXiv preprint arXiv:2207.00592},
year = {2022}
}
@inproceedings{deathstarbench,
author = {Yu Gan and Yanqi Zhang and Dailun Cheng and Ankitha Shetty and
Priyal Rathi and Nayan Katarki and others},
title = {{An Open-Source Benchmark Suite for Microservices and Their
Hardware-Software Implications for Cloud and Edge Systems}},
booktitle = {Proceedings of the 24th International Conference on Architectural
Support for Programming Languages and Operating Systems (ASPLOS)},
year = {2019},
pages = {3--18},
publisher = {ACM}
}
@article{rpc_fallacy,
author = {Steve Vinoski},
title = {{Convenience over Correctness}},
journal = {IEEE Internet Computing},
volume = {12},
number = {4},
pages = {89--92},
year = {2008},
publisher = {IEEE}
}
@misc{amazon_prime_monolith,
author = {{Prime Video Tech}},
title = {{Scaling up the Prime Video Audio/Video Monitoring Service and
Reducing Costs by 90\%}},
howpublished = {Amazon Prime Video Engineering Blog},
year = {2023}
}
@book{fowler_microservices,
author = {Sam Newman},
title = {{Building Microservices: Designing Fine-Grained Systems}},
edition = {2nd},
publisher = {O'Reilly Media},
year = {2021}
}
@misc{grpc,
author = {{gRPC Authors}},
title = {{gRPC: A High Performance, Open Source Universal RPC Framework}},
howpublished = {\url{https://grpc.io}},
year = {2025}
}
@misc{trpc,
author = {Alex Johansson and {tRPC contributors}},
title = {{tRPC: End-to-End Typesafe APIs Made Easy}},
howpublished = {\url{https://trpc.io}},
year = {2025}
}
@misc{kepler,
author = {{Cloud Native Computing Foundation}},
title = {{Kepler: Kubernetes-based Efficient Power Level Exporter}},
howpublished = {\url{https://sustainable-computing.io}},
year = {2024}
}
@inproceedings{wasm_serverless,
author = {Phani Kishore Gadepalli and Sean McBride and Gregor Peach and
Ludmila Cherkasova and Gabriel Parmer},
title = {{Sledge: A Serverless-First, Light-Weight Wasm Runtime for the Edge}},
booktitle = {Proceedings of the 21st International Middleware Conference},
year = {2020},
pages = {265--279},
publisher = {ACM}
}