You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/collections/blog/2021/2021-04-24-buf-protocols/index.mdx
+34-14Lines changed: 34 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@ author: "Adithya Krishna"
6
6
thumbnail: ./buf-protocol.webp
7
7
darkthumbnail: ./buf-protocol.webp
8
8
category: "Cloud Native"
9
-
tags:
9
+
tags:
10
10
- gRPC
11
11
published: true
12
12
resource: true
@@ -21,21 +21,33 @@ import Problems from "./problems.webp";
21
21
<BlogWrapper>
22
22
<BufProtocol>
23
23
24
-
25
-
<divclassName="intro"style="text-align:center;margin: 2rem 4rem;">At Layer5, we are continuously evaluating new technologies and incorporating them into our open source projects. Buf is one of those projects. This post presents an overview of Buf.</div>
At Layer5, we are continuously evaluating new technologies and incorporating
26
+
them into our open source projects. Buf is one of those projects. This post
27
+
presents an overview of Buf.
28
+
</div>
27
29
28
30
## What is Buf?
29
31
30
32
A tool to make Protobuf reliable and easy to use for service owners and clients, while keeping it the obvious choice on the technical merits.
31
33
Our organization should not have to reinvent the wheel to create, maintain, and consume Protobuf APIs efficiently and effectively. It will handle our Protobuf management strategy for us, so we can focus on what matters.
32
-
<divclassName="fact">Learn more about Buf Protocol, visit <ahref="https://buf.build"rel="nofollow">Buf Protocol</a> or their documentation at <ahref="https://docs.buf.build/"rel="nofollow">Buf Protocol Docs</a></div>
- Check anything from anywhere - proto files, tar, git, pre-built images or file descriptors.
@@ -52,31 +64,39 @@ Buf attempts to simplify your Protocol Buffers workflow using the Buf CLI and pr
52
64
- A configurable file builder that produces Images, our extension of FileDescriptorSets.
53
65
54
66
## Comparison Between Protobuf and Buf
67
+
55
68
Layer5 projects currently use protoc as the tool for building their protobuf defintions. The following are some considerations made while determining whether to use Buf.
56
69
57
70
- Protobuf is not as widely adopted as JSON.
58
-
- API Structure
71
+
- API Structure
59
72
- No standards enforcement
60
-
- Inconsistency can arise across an organization's Protobuf APIs,
73
+
- Inconsistency can arise across an organization's Protobuf APIs,
61
74
- Design decisions can be made that can affect your API's future iterability.
62
75
- Backward Compatibility
63
76
- Stub distribution
64
77
- Tooling
65
78
66
79
Buf aims to solve the above problems and it's long-term goal is to enable schema-driven development: A future where APIs are defined consistently, in a way that service owners and us can depend on
80
+
67
81
## Roadmap to Adopting Buf
82
+
68
83
In consideration of the use of Buf, we would adopt it in phases, starting with the following ares of integration.
69
84
70
-
-**API Structure Enforcements**
71
-
- Linter solves this issue by enforcing standards.
72
-
- Also, we don’t need to use Buf as a standalone tool we can just use linter as plugins.
85
+
-**API Structure Enforcements**
73
86
87
+
- Linter solves this issue by enforcing standards.
88
+
- Also, we don’t need to use Buf as a standalone tool we can just use linter as plugins.
74
89
75
90
-**Backward Compatibility**
76
91
- It will check for different things that can cause breaking change.
77
92
- For example, type change.
78
93
79
-
<divclassName="intro">If these topics excite you and you want to explore more <ahref="/resources">cloud native technolgies</a>, come and say "Hi" on the community <ahref="http://slack.layer5.io">Slack</a> and you are sure to be warmly welcomed. <span>😀</span></div>
94
+
<divclassName="intro">
95
+
If these topics excite you and you want to explore more{""}
96
+
<ahref="/resources">cloud native technolgies</a>, come and say "Hi" on the
97
+
community <ahref="http://slack.layer5.io">Slack</a> and you are sure to be
0 commit comments