作家
登录

如何构建云原生应用程序?

作者: 来源: 2017-12-11 09:07:30 阅读 我要评论

因为云办事供给商(如AWS、微软和谷歌等)的激增,云原生已经成为嵌入到现代应用法度榜样开辟中的一个重要概念。简而言之,云原生应用法度榜样就是为云构建的应用法度榜样。

若何构建云原生应用法度榜样?

云原生应用法度榜样是基于云计算基本举措措施设计的,云计算本身的应用法度榜样开辟并不是环绕内部办事器、数据库、连接等建立,而是依附抽象出硬件和保护的办事,在某些情况下还包含操作体系本身,是以开辟人员可以专注于真正重要的产品。

开辟者大年夜赛路演 | 12月16日,技巧立异,北京不见不散

这些抽象固然对保持团队和基本举措措施的可治理性异常好,但与标准的懊悔和虚拟化解决筹划比拟,还有降低成本的空间:更少的开销意味着更低的风险、更少的资本和更少的人员。然则,云原生应用法度榜样开辟带来了不合的挑衅,最常见的是将所有轻量级基本举措措施绑缚在一路。

起首,API优先原则

在传统的应用法度榜样开辟中,产品是环绕代码直接拜访所需资本的懂得而构建的。这导致了一个宏大年夜的代码库,且异常难解耦。固然云计算不再是像如许运行单一应用法度榜样的义务,但它可能难以实现这种简化、可扩大和分布式基本举措措施的优势。

这是API优先开辟可以作出的最大年夜的改变。对不熟悉API的仁攀来说,优先开辟API是在设计、记录和构建应用法度榜样的API之进步行的。这意味着,在打开移动应用法度榜样、网站、Alexa技巧或物联网设备之前,API必须先存在。API优先开辟的优势在于它将营业逻辑大年夜客户端隔离并同一路来,同时为产品的工作方法建立单一的来源。


但在其他任何器械之前构建API可能会感到弗成接收的限制,荣幸的是,得益于API文档标准(如API Blueprint),可以创建一个完全相符文档的模仿API办事器,许可内涵API本身完成之前针对实际办事构建和测试API集成。

优先开辟API的最大年夜优势在于不是让你避免反复开辟或供给靠得住的接口来处理营业逻辑,如不雅API优先的原则每次都没有意义,则完全可以放弃这一原则,而不会影响应用法度榜样的开辟过程。另一方面,如不雅在开辟云原生应用法度榜样不保持API优先的原则,可能会一脚踩特技巧的坑,须要数月的时光才能完成应用开辟。

使其无办事(Serverless)

大年夜外面上看,API优先开辟和云原生应用法度榜样开辟不是互相排斥的。用户可以构建不带API的云原生应用法度榜样,并且可以在不应用云的情况下构建一个API优先的应用法度榜样,这两个概念完美调和的处所是在无办事器情况中。

在无办事器情况中,用户不必处理办事器的情况,这意味着与其开辟应用法度榜样或API作为办事在办事器上运行,还不如将应用法度榜样抽象为运行在指定运行时的单个函数,这是应用法度榜样开辟中最高等其余抽象层次之一。

经由过程在API优先开辟策略中构建无办事器API而不是传统的代表性状况转移API,用户可以充分应用任何云供给商供给的资本。当用户经由过程API把每个零丁的方法变成有效的微办事时,最终的结不雅就是形成了一个广泛分布、无穷扩大且高度靠得住的应用法度榜样后台,可以处理任何工作。

开辟一个应用法度榜样起首应当答复三个问题:What、Where、Why,而不是How,云原生应用法度榜样开辟使得用户经由过程尽可能少的成本支撑来处理这种情况,而API优先的原则可以或许为用户供给答复Where和Why的对象,这是API优先的云原生应用法度榜样开辟的┞锋正意义。

【编辑推荐】

  1. 查询拜访:应用法度榜样加快向云迁徙 但数据不是
  2. 企业迁徙到云办事时审核云供给商的专业技能
  3. 云办事选型必看,十余家IaaS供给商好坏势比较
  4. Turner选定AWS作为其首选云办事供给商
  5. 工信部再发7张CDN牌照9张云办事牌照
【义务编辑:赵宁宁 TEL:(010)68476606】

  推荐阅读

  2017年12月编程语言排名:Kotlin和C语言成为“年度编程语言”候选人”

开辟者大年夜赛路演 | 12月16日,技巧立异,北京不见不散 Kotlin和C说话似乎已成为2017年度编程说话的唯二候选人。TIOBE将于下个月宣布这个奖项的得主。因为小型软件设备的增长和汽车工业中>>>详细阅读


本文标题:如何构建云原生应用程序?

地址:http://www.17bianji.com/lsqh/39623.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)