写点什么

为您的 IT 挑战选择正确工具

  • 2019-10-12
  • 本文字数:1572 字

    阅读完需:约 5 分钟

为您的 IT 挑战选择正确工具

此客座博文来自 AWS 社区精英 Markus Ostertag。作为总部位于慕尼黑的广告科技公司 Team Internet AG 的 CEO,Markus 始终坚持尝试寻找利用云计算的最佳方式,乐于使用尖端技术,频繁参与 AWS 活动进行演讲,并于 2014 年联合创立了慕尼黑 AWS 用户群,也经常参加慕尼黑 AWS 用户群演讲。


为工作选择正确的工具或服务在 IT 行业中是一项巨大的挑战——在各个行业的日常工作中亦是如此。在这篇博文中,我想要分享一些我们曾经在 Team Internet 利用 AWS 的巨大“工具箱”创建更佳解决方案和更高效解决问题的策略和实例。


使用现有资源还是创建新的资源? 一个艰难的决定


IT 工程师、架构师或开发者通常的日常工作是创建问题的解决方案或将业务流程转移到软件中。为实现这一目标,我们通常使用现有的架构或资源,并为其创建“附加组件”。


随着微服务架构日益增多,我们都了解到,对于扩展性和伸缩性而言,模块化和去耦合至关重要。这为我们带来了不同类型的软件架构。现实中,我们仍然倾向于使用现有资源,如现有(可能并未完全使用)Amazon EC2 实例的相同数据库,因为这似乎比新建材料更容易。


堆栈为“下一级微服务架构”?


我们在 Team Internet 未使用微服务架构的词汇,但倾向于讨论堆栈,为不同使用案例创建数据块。我们的方法是将微服务架构的想法与所有东西匹配,包括数据库和我们所需处理的特定问题所需的其他资源。


这不是“仅”将软件和代码划分为不同的模块。整个基础架构会独立基于不同的需求。整个基础架构的这些构成的每个部分都是我们的堆栈,在整个系统中与每个其他部分尽可能独立开来。只是与其他堆栈或基础架构部分形成松散的通信。



该理念体系的益处 = 独立和灵活


  • 选择正确的部分。针对每个使用案例,我们可以选择对于特定挑战而言最合适的组件或服务,而无需围绕局限性开展工作。这对数据库来说确实如此,因为我们可以在整个面板中进行选择,而非尝试将需求挤压到并非为此而建的 DBMS 中。我们可以区分工作负载的不同需求,如重在写入 vs. 重在读取或架构 vs. 非架构数据。

  • 任意重建。我们可以灵活重建整个堆栈,因为它们只是松散耦合的。因此,团队可以用新想法或服务创建概念验证,在生产工作负载中并行运行它们,无需妨碍或伤害生产系统。

  • 降低成本。因为运行多种资源的操作开销由 AWS 负责(“无一致的繁重工作”),我们只需看一下服务定价。AWS 大多数价格方案在支持堆栈。对于数据库,您可以按吞吐量支付 (Amazon DynamoDB) 或按实例支付(Amazon RDS 等)。就吞吐量级别而言,很简单,只需在一个表格中将您的吞吐量分开到几个表格中,无需任何开销。就实例级别而言,定价是一次的,因此 r4.xlarge 是 r4.2xlarge 一半的价格。所以为什么不运行两个 r4.xlarge,将工作负载分开呢?

  • 弹性设计。这个方法还有助于您的基础架构在默认情况下更可靠和更富弹性。因为不同堆栈相互独立,缩放比例更细粒度。通常会为更大系统的缩放提供更高的“安全缓冲”,失败只会发生于整个系统的一小部分(硬件、软件、打字输入等)中。

  • 获得所有权。我们现在使用该方法论能看到的正面影响是在团队所有权和责任方面的积极影响。因为这些堆栈,使得查明问题和修正问题变得更容易,但每个堆栈的负责人也变得透明和清晰。

  • 获得益处需要付出努力,为工作选择正确工具更是如此

  • 每个方法都有缺点。在此,显而易见,创建这样的系统还需要进行额外开发和基础架构投入。


因此,我们决定始终将完美系统的目标铭记于心,拥有独立堆栈和堆栈之间的松散耦合进程。事实上,我们有时候会打破自己的规则,到处作弊。即使这样,有这个方法帮助我们创建更好的系统,至少知道到底在哪个点的时候,我们正面临着失去益处的风险。我希望文中的解释和见解能帮助您为工作选到正确的工具。


本文转载自 AWS 技术博客。


原文链接:


https://amazonaws-china.com/cn/blogs/china/pick-the-right-tool-for-your-it-challenge/


2019-10-12 11:36734
用户头像

发布了 1942 篇内容, 共 163.6 次阅读, 收获喜欢 81 次。

关注

评论

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

中天钢铁在 GPS、 AIS 调度中使用 TDengine

TDengine

数据库 tdengine 时序数据库

ES6 类聊 JavaScript 设计模式之行为型(一)

devpoint

JavaScript 设计模式 ECMAScript 6 7月月更

在灯塔工厂点亮5G,宁德时代抢先探路中国智造

脑极体

RocketMQ—(总结)一篇就搞懂RocketMQ

IT巅峰技术

《TiDB 6.x in Action》发布,凝聚社区集体智慧的 6.x 实践汇总!

TiDB 社区干货传送门

数据库 分布式数据库 TiDB

第五届数字中国奖项出炉,昇腾人工智能融合赋能平台斩获十佳首展成果奖

极客天地

模块8(消息队列存储消息数据的mysql表格)

Geek_701557

3分钟创建Serverless Job 定时获取新闻热搜

云端explorer

Serverless Job 新闻热搜 场景搭建

B站713事故后的多活容灾建设|TakinTalks大咖分享

TakinTalks稳定性社区

故障 稳定性保障

企业内部信息碎片化该怎么办?不妨试试这样做

Baklib

SpringBoot应用使用Docker实现远程部署(保姆教程)

技术小生

Docker 7月月更

客户案例 | 聚焦流程体验,助银行企业APP迭代

易观分析

银行 客户 银行app

如何在github的pages部署hexo实现代码提交到仓库自动部署

娃娃菜

GitHub Pages 签约计划第三季

客户案例|生学教育依托观测云打造可观测智慧教育新生态

观测云

【刷题记录】22. 括号生成

WangNing

7月月更

阿里云消息队列 Kafka-消息检索实践

阿里巴巴云原生

kafka 阿里云 云原生 检索 消息

OPPO 自研大规模知识图谱及其在数智工程中的应用

NebulaGraph

知识图谱 NebulaGraph

MPLS基础知识概述

穿过生命散发芬芳

MPLS 7月月更

车联网的数据安全该怎么保护

Geek_99967b

小程序 物联网

知识管理系统是什么?你需要知道这些

Geek_da0866

发评测赢好礼 | Serverless 函数计算征集令

阿里巴巴云原生

阿里云 Serverless 云原生

参数解析与跳石板

未见花闻

7月月更

Docker 安装 Minio 搭建属于自己的文件服务器

宁在春

Docker Minio 7月月更

聊聊css中文字的换行问题

南极一块修炼千年的大冰块

7月月更

企业数字化转型成大趋势,选对在线协作工具很重要

Baklib

低代码工具有哪些特色?明眼人都能看出来的低代码两大发展轨迹!

优秀

低代码 低代码平台

人工智能助力复工复产,模版 OCR 轻松搞定健康码识别

亚马逊云科技 (Amazon Web Services)

人工智能 Lambda

洋葱集团携手OceanBase实现分布式升级,全球数据首次实现跨云融合

OceanBase 数据库

唠唠python的作用域,看看每个变量都为自己打下了多少江山

迷彩

Python 函数 作用域 7月月更

Web3.0 时代,基于P2PDB实现一款Dapp的技术理论

Rock-李益

dapp 去中心化 去中心化数据库 p2pdb

Plato Farm有望通过Elephant Swap,进一步向外拓展生态

鳄鱼视界

为您的 IT 挑战选择正确工具_语言 & 开发_亚马逊云科技 (Amazon Web Services)_InfoQ精选文章