探索云API——云计算未被注意的一面

  如今,人们越来越容易在仪表盘、可视化工具、漂亮的图形以及各种类似按钮的云计算方法中迷失自我。自上个十年以来,用户体验工作已经改进了十倍;然而,有一个方面,除非非常必要,否则通常不会被注意到。这一方面属于应用程序用户界面(API)。
 
  API由一组对象、方法和函数组成,这些对象、方法和函数允许用户构建脚本,甚至大型应用程序,以使云中的某些事情发生,而这些事情通常无法通过仪表板实现。这可能有多种原因;无论最终用户尚未获得;非常特定于业务,例如竞争优势;或是自动化部分,并不广泛需要,也可能特定于业务。
 
  当然,还有其他原因。云可能不具备让用户做某些事情的成熟度。在所有这些情况下,api都是最受欢迎的,而且与人们普遍认为的相反,用api构建东西的学习曲线通常并不陡峭。
 
  广泛应用于整个行业
 
  几乎每个云都有一个API。有时,它不是作为API提供的,而是作为SDK提供的。虽然他们不是一回事,但他们有时被看作是平等的,或者至少是亲密的兄弟姐妹。SDK有不同的风格;它可能是PythonSDK、javasdk、GoSDK或其他许多SDK之一。上面提到的那些似乎是使用最广泛的,但是还有很多其他的,比如JavaScript/Node.js,我们经常在AWS、Oracle云、Google云平台甚至Azure中看到。
 
  从奢华到本质
 
  尽管在使用API的编写工具上没有什么奢侈的地方,但我想,当从头开始或从第一原则开始构建时,有些东西可以变得更加优雅,而不是简单地使用市场上的东西。尽管如此,尽管我提倡不要重新发明轮子,如果现成的工具和技术不符合要求,有必要从零开始设计一些东西,无论是专有的还是开源的。
 
  api可用于编写将创建补充特性的代码,例如不提供临时的高可用性解决方案,或者手头的业务案例所固有的某些自动化。有时这些可能不是必不可少的,在这些情况下,它们可能被认为是奢侈的。
 
  另一方面,您将不可避免地需要一些东西,比如构建一个在云架构中造成破坏的工具,以便测试您的事件响应。对于AWS来说,混沌猴就是一个关键的例子。我相信这些都是朝着必不可少的工具模式发展的,不应掉以轻心。
 
  使用API或SDK需要什么
 
  当然,这取决于使用的云,但通常遵循以下原则:
 
  身份验证密钥:这将用于根据云建议的端点对工具进行身份验证。一些云平台允许实例主体,在这种情况下甚至不需要密钥
 
  SDK包:作为一个例子,在Oracle云基础设施中,为了使用PythonSDK,有必要“pipinstall”OCI包,这很简单,只需键入一行代码即可
 
  SDK文档中的初始阅读:有时需要不到一个小时的时间来创建一个原型并从中扩展。不必是SDK内部工作的专家,尽管它有助于
 
  对SDK语言有些熟悉:这是给定的,但是不添加到列表中是不公平的建议的方法
 
  通常sdk以CRUD(创建、读取、更新、删除)的形式出现。这是一个简单的方法,从时间的黎明就知道了,而且尽可能的通俗易懂,所以它至少不应该吓到任何经验丰富的工程师。
 
  自上而下的方法:从非常详细的方式开始可能会让人望而生畏,因此在这种情况下,我认为自上而下的方法非常适合,从资源列表开始,直到熟悉通用结构为止。更不用说,在某些情况下,帕雷托定律是一目了然的,也就是说,在SDK的前20%中,有80%的能力。
 
  当我开始为Oracle云构建工具时,我发现了这一点;使用Python中的一些简单方法,利用资源列表并深入研究一些对象,我能够收集所有必要的数据,开始设计资源使用的数据科学模型。我们队的一大收获。
 
  从文档到源代码:尽管文档很有用,但它永远不会像探索源代码那样有用。很明显,一个人花一个小时浏览源代码就相当于花五个小时浏览文档。我知道,在某些情况下,观看YouTube视频可能比阅读同一主题的书籍更容易,但阅读书籍时获得的深度和心理训练要多得多。对于SDK或任何程序,它的工作方式都是一样的。阅读文档很好,很好,也很有帮助,但是没有什么能比阅读源代码更容易理解的了。
 
  MVP:自从精益初创公司在书店上市以来,MVP的概念就得到了极大的普及。我指的是最低限度的可行产品,这种产品只包含基本功能,并不意味着涵盖所有情况,而是标准的基本情况。这一概念在精益初创企业中得到了很好的阐述,尽管它经常与敏捷结合在一起,但它是一个较老的概念。
 
  尽管从1.0.0版开始,拥有一套功能完善的产品是理想的,但它往往是不切实际的。没有完美的功能集,等待发布可能会导致灾难性的失败。在IT领域,拥有一个最小的产品,拥有一个迫切需要该产品的小客户群,往往比拥有一个相对漠不关心的大客户群要好得多——如果他们有,他们会使用它,如果没有,他们可以没有它而活。
 
  结论
 
  归根结底,这可以简化为六点:
 
  api是自动化和解决方案(如HA或DR)的一个显著优势,云平台有时不提供这些解决方案
 
  Paretto适用于所有地方——API不仅仅针对大型应用程序。一个简单的脚本可以节省每周几个小时的辛苦工作
 
  从粗线条开始,慢慢进入细节
 
  不要害怕检查源代码——它通常是知识的金矿
 
  从一个小的最小版本开始,而不是几个可能使用或不使用的特性
 
  在云平台中寻找不易通过仪表板和用户体验发现的隐藏宝藏
 
  快乐的云自动化——直到下一次。
相关推荐
新闻聚焦
猜你喜欢
热门推荐
返回列表
 
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。