如何搞清楚云计算编程

在过去的12年的时间里,人们目睹了从通用数据库(Oracle、SQL Server等)到专用数据库(其中有360个还在不断增加)的巨大转变。现在,编程语言似乎正朝着同一方向发展。


随着开发人员转向使用API驱动的高度灵活的基础架构,他们正在以代码(IaC)的形式构建基础架构。但是如何构建IaC仍然是一个悬而未决的问题。由于各种原因,显而易见的起点是使用命令式语言(例如C或Java Script),告诉程序如何达到所需的结束状态。


但是出现了一种新的声明性语言模型,例如Hashi Corp的HCL或Oso的Polar,在该模型中,开发人员告诉程序所需的最终状态是什么,而不必过分担心它如何达到该状态。在这两种方法中,其声明性编程可能是更好的选择,从而使代码更精简,更安全。让我们看看为什么会这样。

如何搞清楚云计算编程_娱乐产业_游戏行业

 声明性编程的原因


Oso公司联合创始人兼首席技术官Sam Scott表示,组织真的需要另一种编程语言。他说,“使用命令式语言时,语言与其用途之间常常会出现不匹配;也就是说,这些语言是专为人们从头开始构建应用和脚本而设计的,而不是定义配置和策略等。”


Scott表示,新的声明性语言实际上可以使免于语言扩散。Scott继续说道:“这不仅仅在于引入另一种语言来解决特定的问题。与其相反,它正在创造一些东西来避免人们不得不一次又一次地发明自己的语言来进行某种形式的嵌入式逻辑。”


以为AppSync授权编写的JSON代码为例:


为了在数据和逻辑之间取得平衡,开发人员已使用Apache Velocity模板语言编写了内联的注释式权限。这只是体操开发人员尝试使用静态配置和模板的组合来表达授权(“authZ”)逻辑的一个示例。


但是实际上,这与是否应该使用命令式编程无关,VMware公司的Jared Rosoff在一次采访中强调说,“这是一个问题,'我们目前不使用编程语言来表达授权规则,但也许使用数据而非编程语言来表达authZ规则。当authZ规则非常简单时,这很好。基本上有一个查询表,可以在请求进入时查询该表,以决定请求是否被授权。”


 当务之急可能不适合IaC


但是上面的AppSync示例显示了面向数据的命令式方法如何迅速变得复杂。Rosoff继续说道,“最初是从一个相对简单的JSON文档演变为带有分支,条件和变量的东西。在采用这种方法时,开发人员试图在静态数据的语法内重新创建类似于语言的语义,从而导致一种糟糕的编程语言,其语法没有库,没有调试器等。很难用传统语言对授权逻辑进行编码。”“用Polar这样的特殊用途的声明性语言来做,更具表现力和简洁性。”


正如Scott进一步解释的那样,存在很多问题领域,如果开发人员尝试使用Java或Python编码流程,则将需要成千上万行代码,这本身就是一个问题,但在问题上变得更加棘手。它掩盖了实际的业务逻辑。相比之下,声明性语言可以完成相同的工作,但可以用数十行代码代替。


Rosoff说,因此,与其将配置语法强加于命令式语言,不如说应该使用小的程序来处理authZ和相关功能。Rosoff说,当今有许多编程问题,在其中使用数据来配置系统,但是使用程序可能更有意义。仅举几例:


•授权


•部署模板(例如Terraform,Ansible等)。


•工作流程。时间性是一个有趣的示例,它采用以前以图解工作流语言完成的工作,并将其转变为更通用的编程语言格式。


 足够的自由、简单和安全


Rosoff说,诀窍在于为程序员提供足够的语言来表达授权规则,但又没有太多的自由,以至于他们遇到错误时就可以破坏整个应用程序。如何确定使用哪种语言?Rosoff提供了三个决策标准:


•语言是否允许表达需要编写的程序的完整范围?(在授权的情况下,是否可以表达所有authZ规则?)


•语言简洁吗?(与YAML等效语言相比,是否更少的代码行且更易于阅读和理解?)


•语言安全吗?(这是否会阻止程序员甚至故意引入缺陷?)


仍然有一种方法可以使声明性语言成为基础设施即代码编程的简单明了的答案。开发人员选择命令式语言的原因之一是,他们在其周围建立了庞大的生态系统,其中包含文档、工具等。因此,即使命令式语言不适合在IaC中表达授权配置,也可以更轻松地从命令式语言开始。还需要做一些工作,以使声明性语言本身对新手来说变得易于使用。


但是,考虑到声明式方法的好处,将它们变成IaC的标准可能只是时间问题。



1
171
0
6

相关资讯

  1. 1、制造业中五个成功的AI和ML用例4364
  2. 2、《黑暗深处之惊魂夜》定档真实事件改编揭秘娱乐圈4507
  3. 3、“阿汤哥”12岁女儿苏瑞颜值爆表,小小年纪已经星范儿十足3985
  4. 4、《盛唐幻夜》认爹剧情神似《还珠格格》,连套路都是一样的4301
  5. 5、林更新两任前女友蒋梦婕陈碧舸一起拍戏成好友,娱乐圈真神奇3500
  6. 6、45岁金城武近照,老婆隐瞒了整整8年,网友:颜值一言难尽581
  7. 7、男人四十要改名?TVB力捧小生适逢40岁之际改名去阻碍4869
  8. 8、国产工业机器人龙头企业——埃夫特科创板上市4683
  9. 9、《听雪楼》首发唯美组图秦俊杰袁冰妍燃绝美侠情4659
  10. 10、影视日报|音乐人赵英俊去世;王家卫监制泰国片获圣丹斯电影节特别奖430
全部评论(0)
我也有话说
0
收藏
点赞
顶部