mirror of
https://github.com/hanzoai/papers.git
synced 2026-10-22 17:20:17 +00:00
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.
165 lines
5.5 KiB
BibTeX
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}
|
|
}
|