11 月 19 - 20 日 Apache Pulsar 社区年度盛会来啦,立即报名! 了解详情
写点什么

技术在快速演化,那么现阶段有意义的技术选型是什么样的?

  • 2020-02-27
  • 本文字数:1974 字

    阅读完需:约 6 分钟

技术在快速演化,那么现阶段有意义的技术选型是什么样的?

本文最初发表于Medium网站,由 InfoQ 中文站翻译分享。


技术在随着时间的推移不断演化,近年来我们发现现代的技术和方法论正在替换传统的实践。基于微服务的架构已经成为最流行的实践之一,并且能够帮助组织满足其现代化的需求;云计算的采用在迅速增长,并帮助企业实现了其技术领域的现代化,开源软件正在取代私有的软件,并且越来越成为主流的做法。


现代技术也带来了新的挑战和机会,这些机会能够帮助企业变得更加重要并加速其未来的增长。


云供应商独立

现代解决方案都会部署在云上,以实现高可用性和容错能力,企业通常会选择一个云供应商并利用其平台实现大多数的需求。比如选择使用 AWS 服务(如 EC2、API Gateway、S3、DynamoDB、Elastic File System 等)的公司就能感受到单一供应商带来的简便和高效。也就是说,公司意识到构建与云供应商无关的应用程序是非常必要的,这样在需要的时候能够迁移至其他的云供应商或自己的数据中心。容器化是实现云供应商独立的重要步骤,容器化的应用会部署在 Docker 容器或类似的技术之上,并将应用程序与其环境和依赖打包在一起。


现在,我们看一下容器化解决方案的优势.


能够从某家云供应商无缝迁移至另一家,基本上来讲,可以在任何地方运行你的代码。

开发人员能够不受底层基础设施变化的影响,可以专注于应用程序的功能,不管应用程序运行在什么地方,容器的操作始终是一致的。

部署和回滚只是部署/取消部署镜像而已。

像 Kubernetes 这样的编排软件能够负责容器的管理,Kubernetes 支持跨公有云、私有云和混合云进行编排。


另外一项重要的技术就是采用技术设施即代码(Infrastructure as a Code)的方式提供和管理任意的云、基础设施和服务。Terraform 是这个领域最好的工具。


Terraform 允许我们在一个简单的配置文件中定义基础设施并且可以从公共的库中导入模板。

Terraform 能够自动提供资源,减少人为的错误。

Terraform 以一致的方式支持多个云供应商。

为整个部署过程提供安全性和治理能力。


对云计算的采用在迅速增长,但是设计独立于特定平台的应用程序依然有很长的路要走!


开源你的平台(引擎)

近些年来,我们见证了很多伟大的开源技术,如 Kubernetes、Redis、OpenStack、MongoDB 等等。它们不仅是健壮和可伸缩的,而且可以由开发者社区不断进行改善。现在,组织比以往更加愿意开源他们的平台,他们意识到了全球化的开发者社区所带来的收益。


如今,开源为什么这么有价值呢?


它提升了平台的质量!这是开源社区最重要的一个收益之一,也是开源所带来的积极作用。开源会吸引全球范围内的卓越工程师,他们对产品的贡献是无价的。这可以减少 bug,也可以带来伟大的理念以增强产品。根据Stack Overflow 2019 年的调查,大约 65%的专业开发者每年为开源项目贡献一次或更多次。


开源有助于引领产品的方向,它吸引着全球的开发者,对于组织来讲,这提供了一个巨大的机会,帮助他们引领平台的方向并且影响开发者的战略方向。


提升公司的品牌,发布受社区喜爱的平台将会增强公司的声誉并且鼓励越来越多的人采用该公司的生态系统。一个很好的例子就是Netflix的开源项目,如 Hystrix、eureka, Zuul、Falcor 等。


我知道,对于任何组织来讲,开源其整个平台都是不现实的,但是提供软件的某个组件/引擎是很好的开始。这有助于获得社区的认可并引发开发人员的兴趣。


API 市场和 API 即服务

API 市场能够让公司将其 API 实现货币化并且为开发者管理 API 连接。它会通过统一的 API 平台将产品特性商品化,从而提升产品的知名度和使用率。RapidAPI 是一个值得参考的好案例,它为开发人员提供了一个统一的 API 层,借助它,可以在一个地方管理所有的 API 连接。


意识到 API 市场的收益之后,有些公司已经开始提供 API 即服务(API as a Service),这业已成为一项重要的收入来源。Twilio 和 SendGrid 是很典型的案例,它们可以在控制平台使用的同时提高平台的使用率。这是在控制平台使用的同时增加平台采用率的一个好办法。


亚马逊也参与了进来,所有的用户都可以访问 AWS Personalize API。这是一个机器学习服务,开发人员可以更容易地为其应用程序的用户提供个性化推荐功能。AWS 业已被广泛应用,但是提供这些 API 将会进一步增强 AWS 的生态系统,并鼓励应用程序的开发人员使用这些特性。


尽管很多公司正在通过提供 API 让开发人员使用其产品的特性,但是采用与否取决于 API 使用和理解的难易度,可用性是关键。通常,开发人员会寻找入门指南、如何起步、认证/注册教程、分页、NFR 定义、错误处理等信息。


在为客户发布 API 的时候,我们需要考虑如下的因素。


API 是否易于理解。

API 如何定义实体之间的关联关系。

API 返回数据的相关性。

API 的一致性和可靠性。

API 如何防止出现错误并提供有意义的状态。


建立一个可伸缩的、健壮的、符合标准的 API 是至关重要的,但是如果 API 用起来不方便,那么提供它是没有太大意义的。


2020-02-27 14:541327

评论

发布
暂无评论
发现更多内容

2021年互联网大厂Java笔经,Java重点知识大全

Java 面试 后端

2021年是意义非凡的一年,2021阿里+头条+腾讯等大厂Java笔试题分享

Java 面试 后端

QOE 驱动下的分布式实时网络构建:Agora SD-RTN 的演进

声网

Java 人工智能 分布式 网络

2021年京东Java岗面试必问,我在华为做Java外包的真实经历

Java 面试 后端

2021年抓住金三银四涨薪好时机,借花献佛

Java 面试 后端

2021年抓住金三银四涨薪好时机,腾讯Java社招面试流程

Java 面试 后端

2021年最新腾讯Java面经,Java面试高级题目

Java 面试 后端

2021年互联网大厂Java笔经,Java程序员如何有效提升学习效率

Java 面试 后端

好看视频Android重构——围绕于播放器的重构实践

百度Geek说

性能优化 大前端 好看视频 播放器

“工业互联 在云之洲”丨“5G+AR”远程协助作业解决方案 赋能装备更智能

浪潮云

云计算,

2021年互联网大厂Java笔经,Java自学宝典电子书下载

Java 面试 后端

Android音频架构| 社区征文

轻口味

android 音视频 新春征文

如何画UML,几种简单的模型分析

编程 架构 面试 后端

2021年字节跳动、阿里等大厂最全Java面试题,1个月学会Java开发

Java 面试 后端

2021年华为Java面试真题解析,大厂面试必问

Java 面试 后端

2021年最新Java大厂面试笔试题分享,Java入门教程免费视频

Java 面试 后端

2021年这些高频面试知识点最后再发一次,面试官突击一问

Java 面试 后端

设计 | ClickHouse 分布式表实现数据同步

RadonDB

数据库 Clickhouse

2021年冲刺年薪40w,Java从基础到高级知识点汇总

Java 面试 后端

2021年哔哩哔哩Java高级面试题及答案,大牛手把手教你

Java 面试 后端

2021年春招Java面试题,大厂Java核心面试题出炉

Java 面试 后端

2021年最新Java面试点梳理,阿里P7大牛整理

Java 面试 后端

2021年网易Java岗面试必问,Java开发面试准备

Java 面试 后端

2021年腾讯Java高级面试题及答案,百度笔试题百度校招面试经验

Java 面试 后端

2021年哔哩哔哩Java高级面试题及答案,Java实战视频下载

Java 面试 后端

一个简单的产品分析模型

石云升

产品经理 产品思维 9月日更 产品分析

阿里巴巴首发:Java核心框架指导手册,1小时点击量破千万!

Java 程序员 架构 面试 计算机

2021年你与字节跳动只差这份笔记,大神码了2000页Spring全家桶笔记

Java 面试 后端

2021年大厂Java高级面试题分享,程序员Java基础入门

Java 面试 后端

2021年最新Java面试经历,别再说自己不会了

Java 面试 后端

技术在快速演化,那么现阶段有意义的技术选型是什么样的?_架构_Puneet Chandel_InfoQ精选文章