Go语言在网络自动化领域的应用与优势
1. 网络自动化新趋势与Go语言的崛起
在网络自动化领域,Operator的使用正逐渐成为一种趋势。Operator将自定义资源定义(CRD)作为Kubernetes原生API暴露出来,并包含管理CRD实例端到端生命周期的逻辑。这将操作责任转移到了Operator提供者身上,推动了意图驱动的自动化。随着网络设备供应商采用这一概念,网络自动化将更接近应用程序生命周期管理。而在这一趋势下,Go语言成为了被广泛推崇的编程语言之一。
有一个值得关注的项目是Nephio,它是Linux基金会最新的网络计划,旨在使用Kubernetes API扩展提供网络控制器。
2. 行业专家的Go语言实践经验
2.1 John Doak的Go语言转型之路
John Doak拥有丰富的网络工程经验,他曾在LucasArts、Google和微软工作。在LucasArts,他从询问IT总监职业发展方向开始,成为了一名网络工程师,并开展了一系列网络自动化工作,如重置网络MAC安全参数、移动端口到新的VLAN、使用路由映射自动平衡入站BGP流量等。
后来他到了Google,主要致力于自动化供应商骨干网络Backend Backbone(B2)。他编写了第一个为各种路由器编程的自主服务,并与团队构建了网络的工作流编排系统。在这个过程中,他将编程语言从Python转向了Go,这一转变带来了显著的好处,包括减少了错误、将工作流数量增加了10倍,并且能够在不破坏整体结构的情况下重构代码。此后,他又花了几年时间将所有NetOps从Python迁移到Go,并构建了日常配置网络的自动化工具。
现在,他在
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



