6

在云计算和AI时代,公司用于IT现代化的8大技术 - kubernetes solutions - SegmentFaul...

 4 years ago
source link: https://segmentfault.com/a/1190000021668022?
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

在云计算和AI时代,公司用于IT现代化的8大技术

m-01.jpeg

云计算的兴起颠覆了IT部门的传统思维。而不是运行自己的服务器或数据中心,而是通过从大型公有云(如Amazon Web Services或Microsoft Azure)托管基础结构来运行部分甚至全部基础结构,效率突然大大提高。

这种转变导致了新的软件制作和管理方式,更好地利用了技术巨头超高效数据中心所提供的大量计算能力和灵活性。

Business Insider与专家进行了交谈,讨论了开发人员为了实现下一波数字化转型而正在寻求的基础软件,因为各个行业的公司都希望现代化以应对新十年的挑战并提供更多软件。在下面,您可以找到我们提供数字化转型基础的8大开发者技术清单。

主要趋势之一是将重点放在开放源代码项目或对任何人免费使用,贡献代码或下载的软件上。根据Black Duck Software和North Bridge的一项调查,每四家公司中就有三家使用开源软件。

云原生计算基金会执行董事丹·科恩(Dan Kohn)对《商业内幕》说:“过去五到十年来发生了一场革命。” “开源技术一直是其推动力。人们认为基本工具应该是开源的。”

另一个重大变化是,开发人员现在可以选择自己的工具,而不必由CIO或IT部门来选择。 Kohn说,越来越多的开发人员正在尝试在网上找到的免费软件,而公司的其他成员可以决定何时采用它。

最后,在所有这些更改中,重要的是要确保开发人员自己知道所有选项。无论是新手还是经验丰富的开发人员,都需要努力工作,以跟上行业的重大变化。

RedMonk行业分析师KellyAnn Fitzpatrick说:“我要研究的是行业知识。 “如果考虑到开发人员必须学习的所有这些新技术,无论是刚刚起步还是处于职业中期。我们实际上是如何允许开发人员获取他们所需的知识的?企业如何弄清楚如何让他们自己的开发人员及时了解这些事情?”

专家称,这是公司用来将自己带入现代时代的八种热门开发技术:

Kubernetes

m-02.jpeg

Kubernetes是一个开源云原生项目,由Google的工程师启动,现已用于运行大型应用程序。如今,超过一半的《财富》 500强企业都在使用它。

Kubernetes帮助管理所谓的软件容器,该容器将软件及其运行所需的代码打包在一起。这使这些容器在MacBook上的运行方式与在数据中心或云中的运行方式相同。与传统方法相比,这使公司更轻松地迁移软件,效率更高。

RedMonk行业分析师KellyAnn Fitzpatrick告诉《商业内幕》:“容器本身解决了软件开发人员存在的许多问题。” “其中之一就是能够具有完全相同的部署类型。”

尽管初创公司Docker普及了容器技术,但Google开源的Kubernetes使公司可以轻松地大规模管理这些容器。诸如Spotify,Capital One,eBay甚至“神奇宝贝Go”开发商Niantic之类的公司都使用Kubernetes运行可处理大量网络流量的大规模云应用程序。

451 Research研究副总裁Melanie Posey告诉Business Insider:“容器和Kubernetes的结合可以实现更快,更敏捷的应用程序开发,并促进整个组织之间更协作的跨团队应用程序设计和开发。”

Visual Studio Code

m-03.jpeg

Visual Studio Code由Microsoft构建,是一个开源代码编辑器,每月有850万开发人员使用。它是免费下载,使用和修改的,目前,它是Microsoft拥有的GitHub上最热门的开源项目。 Amazon,Google,Yahoo和Intuit等公司的工程师使用Visual Studio Code作为编写代码的简单直接的编辑器。

RedMonk的Fitzpatrick说,她看到代码编辑器和集成开发环境(IDE)的可用性更高,开发人员可以使用它们来编写代码和开发应用程序。而且,有了这么多的选择,大型公司不再必须只使用一个代码编辑器,而不必使用他们喜欢的任何一个。

菲茨帕特里克说:“如今,开发人员在使用哪种工具方面有太多选择。” “决定使用哪种IDE可以是更多个人选择。”

尽管如此,许多IDE是为特定语言构建的,例如Eclipse for Java和PyCharm for Python。 Visual Studio Code支持多种语言,并且被设计为可扩展的,从而易于使用,下载和自定义。而且由于它是开源的,任何人都可以免费使用,因此此代码编辑器在开发人员中广泛传播。

AWS Lambda

m-04.jpeg

无服务器是公司运行云软件的下一个重要途径。

尽管无服务器计算确实需要服务器。但是,使用无服务器,公司无需担心花费大量时间和精力来管理其应用程序正在运行的服务器基础结构。用户上传他们的代码,Lambda将在需要时立即设法确定如何最有效地运行和扩展它。目前,Netflix,Autodesk,AOL和可口可乐等客户都在使用它。

RedMonk的Fitzpatrick说:“开发人员不再担心像使用虚拟机和裸机那样来提供这些服务。”

Lambda是Amazon Web Services提供的无服务器计算技术,Amazon Web Services目前是市场上最大,最杰出的云。

除了AWS Lambda,其他无服务器技术的流行示例包括Azure Functions和Google Cloud Functions。所有这三个云都具有类似功能,可帮助客户简化运行其应用程序的过程。

菲茨帕特里克说:“越来越多的人看到了无服务器,它不再是架构的定义,而是如何实际提供和管理某些东西。”

m-05.jpeg

Git用于软件中的版本控制--基本上,开发人员使用它来协调大型软件项目上的联合工作,确保在构建单独的功能和系统时,不会有人编写任何人的代码。

Git最初是由Linus Torvalds作为Linux的一部分创建的,Linux是广受欢迎的开放源代码操作系统。此后,该技术已成为流行的开发人员服务(如GitHub,GitLab和Atlassian BitBucket)的基础。

基于Git的工具已成为行业标准,因为对软件的需求不断增长,要求更大,分布更广的团队跨地区和时区一起工作。

Node.js

m-06.jpeg

Node.js为开发人员提供了运行使用JavaScript编写的应用程序所需的所有工具,这是GitHub上世界上最受欢迎的编程语言,以及一种用于Web的通用语言。 Uber,Netflix和Twitter依靠这种流行的Web服务器来构建快速且可扩展的应用程序。

Node.js帮助开发人员创建更快的网页,并有效地访问运行应用程序所需的文件和数据。它使用Google Chrome的JavaScript引擎并可以处理大量用户,因此速度特别快。由于它的速度和可伸缩性,它用于流服务,社交媒体应用,即时消息传递,游戏以及其他在压力下需要高性能的应用。

Cloud Native Computing Foundation执行董事Dan Kohn表示:“就更好的工具和实现更好的开发环境而言,Node.js一直是一个巨大的因素。”

它由开发人员Ryan Dahl于2009年首次创建,当时他决定围绕Chrome的JavaScript引擎V8构建服务器技术。如今,PayPal,Netflix,Uber,NASA和LinkedIn等主要公司都在使用它。它通常与NPM一起使用,NPM是运行JavaScript软件所需的代码包库。

Kohn说:“我不知道今天有任何Web开发正在使用过程中未使用Node.js。” “这实际上是至少组织和构建软件前端部分的实际方法。很多人也在后端使用它。这是一套非常强大的工具。”

m-07.jpeg

ONNX代表开放神经网络交换,它使公司可以轻松地构建人工智能和机器学习应用程序,或者可以在获得大量数据后自行学习和分析的应用程序。

该项目将机器学习模型和运行它们所需的工具打包在一起,因此开发人员不必自己构建它。它还允许开发人员轻松使用其他流行的AI框架,例如Facebook的PyTorch和Google的TensorFlow。公司越来越多地使用这些框架来分析大量数据并构建更智能的应用程序。

它最初由Microsoft和Facebook在2017年开发,现在是Linux Foundation下的一个开源项目。微软和Facebook也参与该项目,亚马逊Web服务,HPE,IBM等其他技术巨头现在也支持该项目。

而且由于它是开源的,因此可以免费使用,并且人们还可以与他人共享他们所构建的代码和模型。

Kohn说:“这是将机器学习模型构建为构建块的一种格式。” “这个概念并不是每个人都必须从头开始。”

Spinnaker

m-08.jpeg

过去,公司仅每年一次或可能仅几个月一次发布其软件的新版本。但是现在,如果您关注Facebook或Netflix这样的大型科技公司,开发人员将更频繁地发布代码-甚至每天发布数百次。

这要归功于持续的集成,交付和部署工具(称为CI/CD)。 CI/CD是允许开发人员更快,更频繁地测试和发布代码的过程。如今,实现流程自动化的软件已成为热门商品。

Kohn说:“现在不再按季度对我们的软件进行更新了。”他继续说:“我们的许多最终用户每天要进行数十个部署。”

Spinnaker是已经出现的一种流行的CD平台。它是Netflix创建的,旨在帮助工程师全天高速发布和更新代码,由于它是开源的,因此已迅速普及,从而使更多的开发人员可以试用它。使用Spinnaker,开发人员还可以测试和监视他们的代码。

而且,Spinnaker可以轻松地将软件部署到多个云上,这是至关重要的,因为越来越多的公司选择这样做。对于大公司来说,确保它们可以发布代码并与硅谷最优秀,最聪明的人并驾齐驱已成为一种越来越流行的方式。

根据项目支持者和风险资本家的说法,Spinnaker似乎与Kubernetes几年前的发展轨迹相同。过去一年中,像Armory和OpsMX这样基于Spinnaker的初创公司已经获得了巨额资金。

CI/CD软件的其他一些示例包括GitLab,CircleCI和Atlassian的Bitbucket Pipes。

Forrester的首席分析师Chris Condo告诉《商业内幕》说:“您看到许多非常有趣的技术,公司试图将它们的构建过程联系在一起。” “他们帮助管理所有这些发布过程。”

Istio

m-09.jpeg

Istio是一个开源项目,由Google,IBM和Lyft发起,并得到了F5 Networks,Cisco和VMware等公司的支持。目前,它是服务网格领域中领先项目。

服务网格处理应用程序需要运行的不同基础结构服务之间的通信,并确保该通信快速而安全。为了运行应用程序,该应用程序的不同部分(称为“微服务”)需要彼此共享数据。

像Microsoft,Continental和Walgreens这样的公司正在使用Istio在其应用程序中构建服务网格,以帮助微服务彼此通信并避免停机。本质上,服务网格将这些不同的微服务编织在一起,并帮助它们更有效地协同工作。

Istio帮助应用程序处理大量的网络流量,并且还包括加密,监视,安全性等功能。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK