zrok/blog/introducing_zrok/index.html
2023-01-31 16:54:52 +00:00

17 lines
17 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!doctype html>
<html lang="en" dir="ltr" class="blog-wrapper blog-post-page plugin-blog plugin-id-default">
<head>
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v2.2.0">
<title data-rh="true">Introducing zrok | Zrok</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://zrok.io/blog/introducing_zrok"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag" content="default"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docsearch:docusaurus_tag" content="default"><meta data-rh="true" property="og:title" content="Introducing zrok | Zrok"><meta data-rh="true" name="description" content="I&#x27;m fortunate that I&#x27;ve had the opportunity to work on many interesting projects throughout my career. I was one of the original developers who broke ground on the OpenZiti project back in 2017. Most of my work on OpenZiti centered on the fabric, data and control plane design, and designing abstractions that would support a lot of what became the &quot;edge&quot; layers. It&#x27;s been quite exciting to watch OpenZiti blossom and grow over the years."><meta data-rh="true" property="og:description" content="I&#x27;m fortunate that I&#x27;ve had the opportunity to work on many interesting projects throughout my career. I was one of the original developers who broke ground on the OpenZiti project back in 2017. Most of my work on OpenZiti centered on the fabric, data and control plane design, and designing abstractions that would support a lot of what became the &quot;edge&quot; layers. It&#x27;s been quite exciting to watch OpenZiti blossom and grow over the years."><meta data-rh="true" property="og:type" content="article"><meta data-rh="true" property="article:published_time" content="2023-01-31T16:53:57.000Z"><link data-rh="true" rel="icon" href="/img/space-ziggy.png"><link data-rh="true" rel="canonical" href="https://zrok.io/blog/introducing_zrok"><link data-rh="true" rel="alternate" href="https://zrok.io/blog/introducing_zrok" hreflang="en"><link data-rh="true" rel="alternate" href="https://zrok.io/blog/introducing_zrok" hreflang="x-default"><link rel="alternate" type="application/rss+xml" href="/blog/rss.xml" title="Zrok RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Zrok Atom Feed"><link rel="stylesheet" href="/assets/css/styles.fb11f1b2.css">
<link rel="preload" href="/assets/js/runtime~main.4d99a8d3.js" as="script">
<link rel="preload" href="/assets/js/main.4813f358.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"dark")}()</script><div id="__docusaurus">
<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/space-ziggy.png" alt="Ziggy Goes to Space" class="themedImage_ToTc themedImage--light_HNdA"><img src="/img/space-ziggy.png" alt="Ziggy Goes to Space" class="themedImage_ToTc themedImage--dark_i4oU"></div><b class="navbar__title text--truncate">zrok</b></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/docs/getting-started">What is zrok?</a><a class="navbar__item navbar__link" href="/docs/getting-started">Docs</a><a class="navbar__item navbar__link" href="/docs/downloads">Downloads</a><a href="https://github.com/openziti/zrok" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently dark mode)" aria-label="Switch between dark and light mode (currently dark mode)" aria-live="polite"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="searchBox_ZlJk"></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="container margin-vert--lg"><div class="row"><aside class="col col--3"><nav class="sidebar_re4s thin-scrollbar" aria-label="Blog recent posts navigation"><div class="sidebarItemTitle_pO2u margin-bottom--md">Recent posts</div><ul class="sidebarItemList_Yudw clean-list"><li class="sidebarItem__DBe"><a aria-current="page" class="sidebarItemLink_mo7H sidebarItemLinkActive_I1ZP" href="/blog/introducing_zrok">Introducing zrok</a></li></ul></nav></aside><main class="col col--7" itemscope="" itemtype="http://schema.org/Blog"><article itemprop="blogPost" itemscope="" itemtype="http://schema.org/BlogPosting"><header><h1 class="title_f1Hy" itemprop="headline">Introducing zrok</h1><div class="container_mt6G margin-vert--md"><time datetime="2023-01-31T16:53:57.000Z" itemprop="datePublished">January 31, 2023</time> · <!-- -->5 min read</div></header><div id="post-content" class="markdown" itemprop="articleBody"><p>I&#x27;m fortunate that I&#x27;ve had the opportunity to work on many interesting projects throughout my career. I was one of the original developers who broke ground on the <a href="https://github.com/openziti/ziti" target="_blank" rel="noopener noreferrer">OpenZiti</a> project back in 2017. Most of my work on OpenZiti centered on the <a href="https://github.com/openziti/fabric" target="_blank" rel="noopener noreferrer">fabric</a>, data and control plane design, and designing abstractions that would support a lot of what became the &quot;edge&quot; layers. It&#x27;s been quite exciting to watch OpenZiti blossom and grow over the years. </p><p>For the last six months, I&#x27;ve had the opportunity to re-approach the world of zero-trust and next-generation networking from the other side of the stack. Instead of working in the lowest layers of protocols and abstractions, I&#x27;m working from the perspective of usability and enabling an amazing end-user experience. I&#x27;m excited to introduce you to a new set of tools designed to empower users at the network edge to seamlessly and transparently share resources. Imagine network sharing that is equally secure and transparent.</p><p>This new project is called... <code>zrok</code>.</p><p><code>zrok</code> focuses on streamlining sharing for both developers and end users alike. <code>zrok</code> takes inspiration from several other offerings that streamline developer endpoint sharing. Starting from that recipe, <code>zrok</code> adds powerful capabilities that are made possible by building on the foundation provided by OpenZiti.</p><p>Here are some of the things that make <code>zrok</code> different...</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="private-sharing">Private Sharing<a class="hash-link" href="#private-sharing" title="Direct link to heading"></a></h2><p>Most of the offerings in this space allow you to easily create &quot;tunnels&quot; that allow outbound-only access to local HTTP resources without punching any holes in a firewall. These tools make these kinds of tunnels effortless to create; with a single command, you&#x27;ve got a public URL that you can share to allow access to your endpoint.</p><p><code>zrok</code> expands on this model by supporting something that we&#x27;re calling &quot;private sharing&quot;. Private sharing allows you to share securely on the zero-trust overlay network, without exposing anything to the public internet. You&#x27;re still sharing with a single command, but your resources are only available to other <code>zrok</code> users through the zero-trust overlay network.</p><p>In this model, no user ever has to enable any inbound access. All network access is handled through the secure, zero-trust overlay network. <code>zrok</code> handles all of the control plane management of the overlay network, deeply simplifying the experience. This secure sharing model remains the single-command affair that users have come to expect.</p><p>And if you want public sharing, <code>zrok</code> has that also. Our private sharing modes are an additional capability that <code>zrok</code> adds to the recipe. <code>zrok</code> supports fleets of &quot;public frontends&quot; that can be geographically deployed wherever your internet users need them.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="files-repositories-video-decentralized">Files; Repositories; Video... Decentralized<a class="hash-link" href="#files-repositories-video-decentralized" title="Direct link to heading"></a></h2><p>Most of the other offerings in this space are focused on sharing low-level network resources. These tools are often used by developers or operations staff to allow access to a private HTTP endpoint or to facilitate a callback to a private endpoint through a webhook. It&#x27;s considered table stakes for these tools to do this in a <em>frictionless</em> way.</p><p><code>zrok</code> also provides a frictionless experience for sharing these kinds of network resources. However, we&#x27;re taking it a step further... <code>zrok</code> will also make this kind of frictionless, decentralized sharing possible for files, software repositories, video streams, and other kinds of resources we haven&#x27;t even thought of yet.</p><p>Combine this kind of resource sharing with our private peer-to-peer capabilities, and you&#x27;ve got the recipe for very powerful decentralized services. Imagine using <code>zrok</code> as a decentralized, distributed replacement for large centralized file-sharing platforms. Or use it as a replacement for large, centralized video streaming platforms.</p><p>We&#x27;re still just getting started on building out these aspects of <code>zrok</code>. <code>zrok</code> already provides built-in single-command file sharing. You can <a href="https://github.com/openziti/zrok/blob/main/docs/v0.3_getting_started/getting_started.md" target="_blank" rel="noopener noreferrer">get started</a> using these powerful tools today!</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="production-zrok">Production zrok<a class="hash-link" href="#production-zrok" title="Direct link to heading"></a></h2><p><a href="https://netfoundry.io" target="_blank" rel="noopener noreferrer">NetFoundry</a> is offering <a href="https://zrok.io" target="_blank" rel="noopener noreferrer">zrok.io</a>, a managed <code>zrok</code> service instance you can use to try out <code>zrok</code> and run small production workloads. This service is currently in limited beta and is available through an invitation process. Visit <a href="https://zrok.io" target="_blank" rel="noopener noreferrer">zrok.io</a> for details about requesting an invite.</p><p>Once <code>zrok</code> and <code>zrok.io</code> are out of beta, we&#x27;ll be opening this service up to the public.</p><p><code>zrok.io</code> runs on top of the open-source version of <code>zrok</code>. We&#x27;re building on top of the same open-source codebase that&#x27;s <a href="https://github.com/openziti/zrok" target="_blank" rel="noopener noreferrer">available</a> today.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="open-source-self-host">Open-Source; Self-Host<a class="hash-link" href="#open-source-self-host" title="Direct link to heading"></a></h2><p><code>zrok</code> is committed to being open-source. You&#x27;ve got everything you need to host your own <code>zrok</code> instance on top of your own private OpenZiti network. We&#x27;ve even streamlined this process, and we&#x27;re including a simple <a href="https://github.com/openziti/zrok/blob/main/docs/v0.3_self_hosting_guide.md" target="_blank" rel="noopener noreferrer">guide</a> to getting this running in minutes, including the OpenZiti portions.</p><p>You can <a href="https://github.com/openziti/zrok" target="_blank" rel="noopener noreferrer">access</a> the open-source version of <code>zrok</code> today.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="a-start">A Start<a class="hash-link" href="#a-start" title="Direct link to heading"></a></h2><p>I&#x27;m really excited about sharing <code>zrok</code> with you. As of this writing, we&#x27;re at <code>v0.3.0</code>, and there is still a ton of work to do to get <code>zrok</code> to where I know it can go. <code>zrok</code> is open-source, and we&#x27;re going to be developing it in public, just like the rest of the OpenZiti products (check out the <a href="https://github.com/openziti" target="_blank" rel="noopener noreferrer">OpenZiti GitHub</a>).</p><p>Starting with <code>v0.4</code>, I&#x27;m planning on producing a set of regularly-released &quot;development notebooks&quot;, documenting the development process and giving you a look at the work we&#x27;re doing with <code>zrok</code>. I&#x27;m also planning on producing a set of videos that work through some of what&#x27;s involved in building your own tiny version of <code>zrok</code> on top of OpenZiti; these will be a great introduction to building a <em>Ziti Native Application</em> from the ground up. These videos will also be a comprehensive look at how <code>zrok</code> works.</p><p>We&#x27;d love your participation in the <code>zrok</code> project! You can find us on GitHub at <a href="https://github.com/openziti/zrok" target="_blank" rel="noopener noreferrer">https://github.com/openziti/zrok</a>.</p></div></article></main><div class="col col--2"><div class="tableOfContents_bqdL thin-scrollbar"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#private-sharing" class="table-of-contents__link toc-highlight">Private Sharing</a></li><li><a href="#files-repositories-video-decentralized" class="table-of-contents__link toc-highlight">Files; Repositories; Video... Decentralized</a></li><li><a href="#production-zrok" class="table-of-contents__link toc-highlight">Production zrok</a></li><li><a href="#open-source-self-host" class="table-of-contents__link toc-highlight">Open-Source; Self-Host</a></li><li><a href="#a-start" class="table-of-contents__link toc-highlight">A Start</a></li></ul></div></div></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2023 NetFoundry Inc. Built with Docusaurus.</div></div></div></footer></div>
<script src="/assets/js/runtime~main.4d99a8d3.js"></script>
<script src="/assets/js/main.4813f358.js"></script>
</body>
</html>