使用软件架构师的方法来评估事件流的需求

评估您的事件流需求,以软件架构师的方式。

2022年12月16日 -> 二零二二年十二月十六日

评估事件流式处理需求的软件架构师方法

让我们与超级工程师大卫·埃斯波西托一起思考关于软件架构师流的流媒体解决方案。

软件架构师是指什么?

如果向十个人问起”什么是事件流媒体平台”,可能会得到十种不同的答案(不包括“不知道”、“我怎么进来了”)。然而,这篇博客文章的目的是指事件流媒体平台是指用于运行、整合或支持事件驱动的应用程序以在短时间间隔内提供数据更新的基础设施或技术。

这个定义从基础设施的角度来看,涵盖了各种选择,也就是说,从裸DIY到公开的事件,甚至到类似于魔法一般的洞察力呈现的抽象架构,都可以采用哪种技术。

我们在这里不是为了替你作出决定。我们在这里是为了帮助你自己做出决断,并理解相关的风险和因素。我们并不需要所有的答案,但需要知道如何提出正确的问题。这就是软件架构师的工作。

软件架构师具备以下能力:

    • アプリ、業界、インフラレベルの技術的な専門知識

 

    • 問題解決における失敗や成功の経験

 

    異なるシステムがどのように相互作用するかについての型にはまらない好奇心。

在这篇文章中,我们将学习”软件架构师之路”,并解释它如何对您的事件流解决方案有所帮助。

    • アーキテクトの知恵

 

    • ダウンタイムについて考える

 

    • チームへの影響について考える

 

    • 統合、ツール、オープンソースについて考える

総所有コストについて考える

建筑师的智慧

“知识”只不过是一个美妙的词汇,用来表达失败的经验。或者成功!但通常是失败。

软件架构师对于系统的相互作用方式,工具和系统之间的相互破坏方式以及一旦发生这种情况时会受到何种影响都抱有好奇心。

就技術層面而言:*

软件架构师关注自己的代码对其他代码的性能、恢复能力和可靠性会产生怎样的影响。

在部门层面上:

软件架构师关注的是他们的代码对其他团队的影响,包括兼容性、合同和授权方面。

在公司层面上:*。

软件架构师需要考虑自己的代码对其他部门或其他公司产生的影响,特别是与市场推广相关的影响。

软件架构师并不仅仅是拥有答案,更重要的是提出许多问题。这正是他们应有的模样。

    • 一晩で顧客を2倍にしたら、何が最初に壊れるのか?

 

    • 一晩で顧客数を10倍にしたら、何が一番最初に壊れるのか?

 

    • どのようなエンドユーザー体験をお望みですか?

 

    • エラーが起きたとき、私たちは何をすればいいのか?

 

    ダウンタイム1分で、あなたの会社にどれだけのコストがかかりますか?

为了应对软件架构师面临的一些挑战,需要学习像架构师那样的思维方式。正如您所想象的那样,将会有很多问题要提出。

变革的来临 gé de

各行业的成功企业是如何利用托管数据平台作为变革战略的一部分?他们是如何解决商业和技术挑战的?请参阅电子书了解详情。

从这边

必须有停机时间

云计算是未来的事物,由于很多人(实际上并不知道)”知道”它的事实,云计算具备一种技术上的神秘性。然而,它仍然是一个盒子,连接到某个地方的墙上。而故障不是”如果”而是”何时”的问题。

有时会出现停机时间。您准备好了吗?

我无法相信没有停机时间。

一位賢明的軟體架構師(或軟體架構師理念家)在特別是系統停機方面時,會仔細閱讀服務水平協議(SLA)中的所有內容。

例如,在许多情况下,您是否知道维护窗口通常不会被计算为停机时间?而这可能会产生重大的差异。

阅读细小的字体,并注意应用例外!

九五至尊

请特别注意Uptime Nine(DN9),Obligated Uptime(强制性平稳性)和Observed Uptime(观测平稳性)之间的区别。

如果一家企业提供99.9%的正常运行时间、99.99%的正常运行时间和99.999%的正常运行时间,可能看起来并没有太大的区别。然而,实际上它们意味着一年内的几秒钟、几分钟或几小时的停机时间差异。

如果以3个九为例,那么每年将会发生约9小时的停机时间。如果是5个九,那么一年只有5分钟。也就是说,实际上您同意了每个月约30秒的停机时间。然而,如果一年内只有一到两次大型停机,那就足够了。这是医疗、监管行业和一些金融机构等所遵守的可用性服务协议水平。

那么,这与观察到的正常运行时间是一样的吗?不,不一样。首先,免除维护费用是一个例子。另外,一些公司会通过分发信用来弥补未达到服务级别协议的情况下运行时间的不足。这是一件很棒的事情。

当灾害发生时。

具备灾害恢复计划非常重要。你有灾害恢复计划吗?那太好了!然而,如果你没有实践灾难场景并且没有使用该计划,实际上你就没有灾害恢复计划。你只有应对可能发生的停电情况的计划。

如果系统出现故障会发生什么?您的基础设施面临数据丢失的风险吗?数据丢失是否无妨?了解各种潜在故障情况及其对策非常重要。

有关对团队的影响的问题。

当然,在对基础设施稳定性和数据库运行存在担忧的背景下,每个人都有一个重要的问题:

怎样赚钱?

如果您自己操作Apache Kafka和其他数据库,只擅长运营基础设施,那么您能赚钱吗?

在哪里和如何投资资源对于收益来说至关重要。

这是谁的头痛之源?

如果你是独自完成任务的话,你需要广泛且深入的专业知识,像是运营、可信度、应用开发等等。因此,人才招聘和团队组建的方法也会有所不同。

与供应商合作或在平台上构建时,虽然直接压力较小,但同时,你将承担更重的责任,需要理解他们对你有何期望,以及你对他们有何期望。

请确保拥有适当的专业知识。如果没有直接员工,是否有合适的合作伙伴或支持计划?始终保持有人考虑这些事项。

    • メトリクスとモニタリング

 

    • スケーラビリティ

 

    • コスト削減

 

    • アプリケーション・アーキテクチャ

 

    クエリの最適化

机会损失的成本

如果你负责自己公司的运营,那么你也将承担对服务可靠性的责任。这包括应对流量和数据量的激增、意外警报、服务器补丁和维护等,最终决定保持正常运行时间的责任就在你身上。你需要全面了解这一切。

如果我们一直忙于那些与收益无直接关系的工作,就无法提供与收益相关的功能。如果没有必要,不要让开发人员的周期牺牲在运营任务上。如果投资回报合理,可以考虑分担责任的一部分。

对团队效率的其他影响因素

    • アリスとボブ vs. Stack Overflow**:あなたが遭遇するすべてのエラーやバグのうち、Stack Overflowにアクセスして解決策を探すことで解決できるものはいくつありますか?そしてそのうちのいくつを、何年も前にその*ものを作り、それについて知っている唯一の人であるアリスとボブが解決しなければならないのでしょうか?これらの答えは、新しい開発者のオンボーディングのアプローチに影響し、彼らがどれだけ早く立ち上がり、価値を提供し始めることができるかに影響する。

 

    • 構築対購入**:この技術を現在のセットアップで動作させるには、どのような投資が必要ですか?それとも、ゼロから始めてスケーラブルで安定したものにするのか?

 

    gh(T)`:T機能のGitHubというのを聞いたことがあるかもしれない。これはGitHubで技術(Apache KafkaでもPostgresでも何でも)を検索し、その技術に関連するリポジトリがいくつあり、どれだけの開発者がその技術にコミットしているかを特定するものだ。これにより、その技術のエコシステム・スコアがわかる。このスコアとその重要性を理解できれば、その技術分野のエキスパートを直接雇用するのがどれだけ簡単か、あるいは雇用してトレーニングする必要があるかどうかがわかるだろう。

在巨人的肩膀上建立:整合、工具、開源

我们已经看到了:

    • あなたの決断がアプリに与える影響

 

    チームはあなたの決定によってどのような影響を受けるか

那么,请稍微放大视野,思考一下整个技术部门(包括工程师团队、运营团队、DevOps团队)会因为您的决策和解决方案构建方式而受到什么样的影响。

而构建解决方案,重要的是要站在巨人的肩膀上。生态系统已经提供并准备好了什么?你可以利用这个已经建立的基础来赚钱和节省成本。

专有 vs 开源

一位熟悉软件架构的聪明人会知道专有软件和工具的许可证有多麻烦。如果想探索不同的云服务或技术提供的优点,可能会很困难。必须确保有备份计划。

观察的可能性

从一开始就将可观察性融入到架构中。可观察性是必备的。如果应用团队和工程部门在没有与其他团队(如DevOps和安全等)协商决策的情况下进行决策,就会对其他团队和流程产生盲点。而团队盲目行动时问题就会出现。

安全和治理

在今天的高科技环境中,流媒体数据-即时收集的数据和反映最新业务状况的仪表板-比金钱更有价值。因此,确保客户个人信息和数据使用得到可靠处理至关重要。

不能忽视质量管理的重要性。测试是功能基础设施的重要组成部分。还记得如果没有灾害,灾害恢复计划基本上只是一个童话吗?没有测试,系统的稳定性只是一个笑话。

总所有成本

然后,这次我们要缩小画面。

    • あなたの会社とその全体的な拡張性

 

    • より広い業界におけるあなたの会社の位置

 

    あなたがその業界の限界に挑戦する方法

在基礎設施上最貴的是鍵盤和椅子之間的連接。確保敏捷團隊能夠充分發揮效能並提供價值。你正在為他們付錢。就像你為其他東西付錢一樣,聰明地找回投資!

只有了解公司或客户的使用模式,才能知道网络、工具或任何东西是否值得投入成本,即使服务器已经定价。

了解工具的使用方法。了解自己是否具备足够的专业知识。了解应该进行何种投资。并且,不要害怕向大型供应商索取试用的免费信用!

付费模式

虽然我不会提及具体的公司名称,但新兴企业通常都存在着一种小型趋势,即为了增长,它们需要思考如何扩大规模。

在年度承诺模式下,对于特定功能的访问需要支付费用。尽管可以进行规模扩张,但基本上是基于许可费用的。

近年,對於這些成本來說,改為從授權轉移到使用基礎的供應商能夠提高盈利能力。在應用操作層面上,根據承諾的操作或重複的操作支付費用。雖然在一開始的時候表現不錯,但它很快速地且經常超出預期地擴展。

解决方案是预订的基础设施。容量规划和工作负载的理解是客户的责任。购买满足这些需求的方案。通过这样做,价格预测将更加易于管理。

许多问题

我们无法告诉您在您的公司中什么是有效的。只有您自己才能说出这一点。但是,通过软件架构师的视角,希望能帮您看到您应该问什么问题。

    • イベント・ストリーミング・プラットフォームの選択をどのくらいの頻度で再評価すべきか?

 

    • プロプライエタリなソフトウェアやソリューションは、いつオープンソースと比較して意味があるのか?

 

    • どの程度アウトソースできるか?どの程度アウトソースすべきか?

 

    自主管理はいつ意味があるのか?

这就是那种方法。

今天,迈出第一步吧。

预约 Aiven 的专家进行聊天来确认我们是否需要托管数据基础设施。

请立即预约演示。

你还想阅读吗?

イベントストリーミングのためのAivenについてのページをチェックし、私たちとの簡単なデモスロットの予約を検討してください!
イベント・ストリーミングはモノのインターネットにどのようにフィットするのでしょうか?私たちの成功事例の一つであるEveractive社を見てみましょう – そして、彼らの経験がどのようにあなたの利益になるか

イベント・ストリーミングの問題解決についてのブログ記事もご覧ください。

要获取有关Aiven和我们的服务的最新消息,以及与开源相关的一些信息,请订阅我们的月度新闻通讯!有关Aiven的日常新闻可以在LinkedIn和Twitter的动态中查看。

此外,如果您想要了解Aiven的服务更新情况,请查看变更记录。

bannerAds