写点什么

微服务与服务团队在 Amazon 的发展

  • 2016-01-03
  • 本文字数:1106 字

    阅读完需:约 4 分钟

在早先举办的 I Love APIs 2015 大会上的一场演讲中, Chris Munns 讲述了 Amazon 如何创建企业级的微服务架构的话题。微服务模式改变了我们创建应用的方式,而要成功地创建与运行这些微服务,团队的结构将起到至关重要的作用。

Munns 是 Amazon 的 DevOps 部门的业务开发经理,他在演讲中引用了维基百科上微服务的定义,但同时也列举了微服务的 4 条使用上的限制:

  • 单一目的。
  • 仅通过 API 进行连接。
  • 通过 HTTPS 协议进行连接。
  • 微服务之间大体以黑盒的方式展现。

Munns 将微服务与 SOA 进行了比较,列举了以下这些差异点。

微服务 SOA 使用大量小组件 存在各别较复杂的组件 业务逻辑存在于单独的服务领域中 业务逻辑可以跨多个领域存在 使用简单的连接协议,例如 HTTP 与 XML 或 JSON 企业服务产总线(ESB)充当了服务之间的层的角色 通过 SDK 与客户端连接 API 使用中间件描述团队的规模有一个著名的术语,即刚好能吃完两只披萨的团队。在 Amazon,这样的团队被称为服务团队,他们对于创建过程具有完全的自主权,包括产品的计划、开发工作、运维以及客户支持。他们具备完全的自主权及责任性,同时也负责每日的运维和维护工作。换句话说,谁创建的服务,就由谁负责运行。这意味着质量保证(QA)人员以及运维人员都隶属于服务团队之中。但 Munns 也提到,承担这一角色的部分员工也有可能由整个组织共享。

对于团队来说,这样的文化意味着很高的自由度,但这些团队将通过以下途径得到授权并保证实施的高标准:

  • 全面的培训。
  • 由具有 20 年以上开发经验的员工全面定义各种模式与实践。
  • 在业务与技术两方面定期进行衡量指标审查。
  • 由内部的专家分享关于新工具、服务与技术的知识。

Munn 对于小型团队与微服务在 Amazon 的发展进行了深入的观察,以了解其重点所在。对于其他打算按照相同方式发展的组织,Munn 提出了一些建议:

  • 文化 —— 这里要强调一点,自主权与责任是不可分离的,规模越大的团队,其运作速度相对于小型团队将有所下降。团队要坚持卓越产品的标准,但并非坚守做事的方式一成不变。
  • 实践 —— Munn 提到了持续集成(CI)与持续交付(CD),以及简化运维任务的重要性。
  • 工具 —— 这些工具将用于之前所提到的实践、基础设施的管理、指标的设立和监控,以及交流和协作。

Munns 最后强调了为服务和客户建立起一种模式的重要性,这将使组织避免重复发明一些相同的基础部件,将精力浪费在通信、授权、防止滥用和服务发现等任务上。他还阐述了构建、托管、服务的指标对于观察基础设施是否按预期运行、SLA 是否得到满足等问题的重要性。

查看英文原文: Microservices and Teams at Amazon

立即免费注册 AWS 账号,获得 12 个月免费套餐:点击注册

有云计算问题?立刻联系 AWS 云计算专家:立即联系

2016-01-03 18:003048
用户头像

发布了 428 篇内容, 共 166.2 次阅读, 收获喜欢 35 次。

关注

评论

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

镁信健康“互联网+医+药+险”模式能否打造出中国版联合健康?

新闻科技资讯

Navicat操作MySQL简易教程

Simon

MySQL navicat

《精通比特币》学习笔记(第十一章)

棉花糖

区块链 学习 3月日更

用户行为分析模型实践(一)—— 路径分析模型

vivo互联网技术

大数据 数据分析 用户行为分析

在PostgreSQL中使用ltree处理层次结构数据

PostgreSQLChina

数据库 postgresql 开源 软件 开源社区

书单|互联网企业面试案头书之程序员软技能篇

博文视点Broadview

混合编程:如何用python11调用C++

华为云开发者联盟

c++ 编程 语言 python11 混合编程

有状态容器应用,从入门到实践

焱融科技

Kubernetes 容器 云原生 焱融科技 分布式存储

阿里P7亲自教你!一线互联网大厂中高级Android面试真题收录!讲的明明白白!

欢喜学安卓

android 程序员 面试 移动开发

Ubuntu 日常系列:常用软件

TroyLiu

Linux ubuntu Ubuntu20.04

AI开发效率低,你可以试试华为NAIE AutoML

华为云开发者联盟

华为 AI 框架 AutoML NAIE平台

Elasticsearch Segments Merging 磁盘文件合并

escray

elastic 28天写作 死磕Elasticsearch 60天通过Elastic认证考试 3月日更

Python 初学者必看:Python 异常处理集合

华为云开发者联盟

Python 异常 代码 程序 错误

三步上线自己的在线监考系统

融云 RongCloud

学无定法——知识反转效应

Justin

心理学 28天写作 游戏设计

【LeetCode】螺旋矩阵Java题解

Albert

算法 LeetCode 28天写作 3月日更

万物互联网络在企业中的价值和展望 | 趋势解读

浪潮云

物联网

一分钟了解EFT公链新一代超级DeFi公链——EGG超级公链

币圈那点事

区块链 公链 挖矿

腾讯高级工程师保姆级“Java成长手册”,层层递进,全是精华

Java架构追梦

Java 腾讯 面试 架构师

啥子叫递归哟!!!(阶乘)

依旧廖凯

28天写作 3月日更

学以至用-从“0”到“1”设计千万级交易系统

ninetyhe

高可用 分布式系统 海量数据库的设计与实践 异步削峰

集成融云 IMLib 时,如何实现一套类似于 IMKit 的用户信息管理机制

融云 RongCloud

阿里P7亲自讲解!整理几个重要的Android知识,最全Android知识总结

欢喜学安卓

android 程序员 面试 移动开发

翻译:《实用的Python编程》06_01_Iteration_protocol

codists

Python

数据营销“教父”宋星十年倾心之作,让数据真正赋能企业

博文视点Broadview

整理 自动备份MYSQL数据库shell脚本

edd

一文搞懂PID控制算法

不脱发的程序猿

3月日更 PID 控制算法 智能控制 工业控制

基于 SparkMLlib 智能课堂教学评价系统 - 系统实现(四)

大数据技术指南

大数据 spark 智能时代 28天写作 3月日更

解析分布式应用框架Ray架构源码

华为云开发者联盟

gRPC API 框架 ray 分布式应用框架

Hadoop之YARN的内部机制

hanke

大数据 hadoop 开源 YARN

Spring AOP 执行顺序 && Spring循环依赖(面试必问)

hepingfly

Java spring aop 循环依赖

微服务与服务团队在Amazon的发展_语言 & 开发_Jan Stenberg_InfoQ精选文章