如何确保我们采用的DevOps能够成功?是否有某些语言非常适合应用于DevOps?今天,我们来看看众多编程语言中,哪个才是最适合DevOps的(顺序与排名无关)。
1. JavaScript
许多深受欢迎的流行框架和库都是用JavaScript编写的,例如Angular、React和Node。这种语言不仅提供服务器端的实现,数量庞大的社区意味着在GitHub或Stack Overflow上总会有帮助。对开发者来说,JavaScript是安全的选择。
尽管JavaScript对DevOps(所有这些库和依赖关系)来说有些复杂,但这并不意味着它们不能进行良好的协同工作。
2. Go
Golang。Google的开源编程语言,或多或少可以说是为乐DevOps研发的。Go是为了提高速度而建立,但它强调的是精益,网络高效的运行对DevOps意义重大。它比Java更简洁,而且是建立在C的基础上,某种程度上可以说是没有任何缺点的。
容器之王Docker就是用Go编写的。为什么各种DevOps工具都是用Go编写的呢?因为它可以轻松编译为所有主流操作系统独立、静态的二进制文件。没有库、没有依赖和其他任何东西。
3. Python
Python正在成为通用语言之一。最近GitHub将其评为第二大热门编程语言。Stack Overflow称它是增长最快的主要编程语言,Python甚至被认为是机器学习***的语言。
那么,Python可以为DevOps做些什么呢?Python可以通过监视和部署工具(如Ansible和salt等)减少维护问题。像OpenStack这类的选项为开发人员提供了创建私有云和公共云基础框架的资源。
4. C / C ++
虽然C可能比较“大龄”,但在很多方面仍然与计算有着千丝万缕的关系。C / C ++是许多现代计算的基础,如果您需要直接操作硬件本身,那么没有比C更好的语言了。
但是,C / C ++在DevOps中面临着一个非常大的障碍:自身大小。C / C ++的绝对比Go或Ruby等语言大一个或两个数量级。C / C ++的编译时间更长,还有二元问题。由于C / C ++被编译为本地机器代码,大小问题导致了它的应用程序二进制接口问题。
5. Ruby
Ruby的鼎盛时期可能已经过去了,但它仍然是一个实用的语言学习。许多流行的自动化工具都是用Ruby编写的,特别是Chef。Ruby是一种面向对象的、编译的并且功能全面的编程语言。如果您了解Python或Perl,那么对这个语法也不会感到陌生。
需要说明的是,Ruby已经不像以前那么受欢迎了。其他的语言从Ruby中提取了实用的功能,并以自己的语法实现。然而,GitHub上许多项目仍然使用Ruby编写,包括流行的Ruby on Rails。
+1 Rust
不要忽略Rust,Rust很可能成为下一个大型基础设施语言。许多Ruby狂热者开始纷纷转向Rust,部分原因是因为Ruby for Ruby有非常详细的教程。
在DevOps中,Rust在系统自动化、容器管理和容器编排方面承担了越来越多的责任。甚至在一些项目上与Docker结合使用。Oracle的***个容器程序就是在Rust中编写的。显然,Rust可能是2018年要着重关注的技术。