SaaS 架构陷阱:实地经验教训

云计算
re:Invent
0
0
## 视频 <video src="https://dev-media.amazoncloud.cn/30-LibaiGenerate/31-LiBaiRebrandingVideo/SAS305-SaaS_architecture_pitfalls__Lessons_from_the_field-LBrebrandingWCaptionCN.mp4" class="bytemdVideo" controls="controls"></video> ## 导读 构建多租户 SaaS 架构没有一条绝对的路径。实现满足 SaaS 业务特定需求的混合战略可能具有挑战性。在本论坛中,回顾我们看到的影响SaaS业务的增长、规模和效率的一些常见模式和痛点。本论坛的重点是挖掘团队面临的最大挑战和陷阱,确定可以帮助团队避免或克服这些陷阱的特定战略和方法。探索这些挑战的所有方面,包括架构、设计、编码和操作。 ## 演讲精华 <font color = "grey">以下是小编为您整理的本次演讲的精华,共1200字,阅读时间大约是6分钟。如果您想进一步了解演讲内容或者观看演讲全文,请观看演讲完整视频或者下面的演讲原文。</font> 亚马逊云科技SaaS工厂的高级解决方案架构师Bill Tarr在峰会上发表了一场为期50分钟的演讲,欢迎超过500名与会者。尽管有100多个竞争激烈的讲座,观众们仍然选择在最后一天参加他的讲座,对此他表示感激。这表明他们热衷于了解亚马逊云科技在过去几年里与数百家SaaS公司紧密合作所汲取的很多建筑和运营经验教训。这些公司从刚刚找到产品市场契合度的全新初创企业到Salesforce和Workday等大型企业,几乎涵盖了可以想象到的每个行业垂直领域。 Bill直接进入了SaaS模式的诱人承诺和好处的主题,这些承诺和好处让公司兴奋地采用它。首先,SaaS平台提供了组织灵活性和灵活性。对于开发者来说,灵活性可能让人联想到像敏捷开发这样的短冲刺方法。然而,Bill澄清说,对于SaaS,重点是关注业务灵活性——快速在市场之间移动产品、在全球范围内启动新实例,以及迅速适应不断变化的市场条件。 SaaS的另一个主要承诺是能够实现快速创新。与传统软件模型相比,SaaS允许提供商持续发布新功能修复,通常每天或每周多次。这通过提供有价值的流来保持客户满意度和参与度。Bill解释说,SaaS客户不希望每季度甚至每月更新——他们希望在几小时或几天内修复错误,并不断推出新功能以保持竞争力。这种响应速度会让用户高兴并减少流失,这对于增长至关重要。 为了实现业务灵活性和快速创新所需的关键功能是通过单控面板操作所有租户的平台。SaaS提供商可以通过集中控制所有租户的环境来实现高效的管理,从而不需要手动单独管理每个客户。这种高效的集中控制是SaaS模式的基本要素,并允许全球范围内的更新只需点击几次即可交付。 可持续增长被认为是软件即服务(SaaS)领域的又一个承诺。据比尔表示,在经济不确定性日益增加的2023年,增长策略已经发生了变化,更注重展示长期盈利能力,而非简单地积累品牌知名度或筹集风险投资。投资者、利益相关者和高管都希望看到明确的数据指标,证明该平台能够随着时间的推移持续扩大客户群并提高收入。此外,SaaS领域还承诺提高成本效率,这也是增长的重要推动因素。关注点应该放在降低运营平台的单位成本上,而不仅仅是最小化总的亚马逊云科技费用。单位经济必须有效。 比尔解释说,SaaS的发展过程通常包括设想、设计、构建、运营和优化平台的各个阶段。如果任何一个阶段处理不当,都可能导致问题。他通过分析数百个客户架构来揭示了亚马逊云科技所遇到的常见陷阱。 在设想阶段,公司往往会未能充分理解其目标客户群体——即他们打算服务的特定角色、行业、地区和规模。这限制了企业在下一阶段的可行性,因为不可避免地,这些客户会提出意外的要求,例如针对医疗保健数据的HIPAA合规性和对加拿大存储数据的区域数据居住要求。保持软件的单个版本也是快速创新的关键。如果没有为此做出计划,会导致工程师浪费时间为每个客户构建和支持定制的软件版本。当公司缺乏明确的上市和增长战略来吸引、转换和扩大客户群时,增长也会受到影响。比尔认为,这种有针对性的增长规划是一项重要但常被忽视的设想练习。最后,仅仅关注减少总亚马逊云科技成本而非改善单位经济将导致长期的不可持续的成本结构。支持额外租户和功能的单位成本必须下降。 在设计阶段,基础架构决策如基础设施隔离级别等基本建筑决策将对未来产生影响。随着产品的成熟,重新审视租户隔离方法并在租户间逐步共享数据库、存储和其他资源以支持迭代变得至关重要。此外,在将单体应用拆分为微服务的过程中,全面测试以避免引入可靠性问题至关重要。通过负载测试、创建使用概况和独立测试工作负载,可以降低此类风险。 在构建阶段,从完全隔离的基础设施开始可能会使公司在特定市场和客户群中陷入困境。在扩展规模时,高昂的运营成本和添加客户、进入新市场、提供免费层或进行更改的难度都可能成为问题。逐渐共享诸如存储和数据库之类的资源以及针对不同隔离级别的定价层有助于解决此问题。另一方面,从完全共用的资源开始可能导致“吵闹邻居”问题,即在使用量发生变化时性能下降。将基础设施与使用模式对齐、保护租户并对特定于租户的基础设施进行测试有助于解决这个问题。 比尔强调的另一个构建阶段的陷阱是关注总成本而非单位经济。日志、指标和使用情况报告等工具对于捕捉使用情况并将其与租户、层次、功能集和所用资源的实际花费相关联至关重要。这种粒度提供了分析单位成本随时间降低所需的见解。 在运营阶段,缓慢和手动的上线过程阻碍了快速交付更新和修复的能力。需要一个自动化控制面来简化上架、下架、更新和监控配额的操作。比尔曾与之合作的一家SaaS公司由于手动流程,新客户的上线需要数周时间。未能充分释放不活动的租户也可能导致达到亚马逊云科技的服务限制,从而阻止新客户的上线。比尔强调了清理所有资源的重要性。 早期为了满足客户的需求而进行定制可能会导致长期的技术债务和维护难题。比尔向听众建议,应通过使用特性标志和外部配置而非定制来保持代码质量,并安全地测试新选项。他以一个例子说明了这一点:一位客户曾为不同客户的次要变化创建代码分支,随着时间的推移,维护变得越来越困难。 比尔强调,避免这些常见的陷阱需要采用生命周期方法,包括设想最终状态、规划迭代、全面测试、优化单位经济、自动化操作以及配置而非定制平台。 最后,他提供了一些相关资源,如《架构良好的软件即服务透镜》(Well-Architected SaaS Lens)和软件即服务合作伙伴解决方案,以便进一步了解软件即服务最佳实践。比尔还提供了他的联系方式,并鼓励与会者与他或亚马逊云科技的合作伙伴联系,以获得在亚马逊云科技上构建卓越软件即服务解决方案的进一步帮助。 **下面是一些演讲现场的精彩瞬间:** 领导者强调了一个重要目标的重要性,即创建一个仪表盘,提供每个租户的成本信息,并允许数据切片和分解。 ![](https://d1trpeugzwbig5.cloudfront.net/SAS305-SaaS_architecture_pitfalls__Lessons_from_the_field/images/rebranded/SAS305-SaaS_architecture_pitfalls__Lessons_from_the_field_0.png) 他们强调了财务和产品团队在工程决策中尽早参与的必要性,以便了解功能的完整成本。 ![](https://d1trpeugzwbig5.cloudfront.net/SAS305-SaaS_architecture_pitfalls__Lessons_from_the_field/images/rebranded/SAS305-SaaS_architecture_pitfalls__Lessons_from_the_field_1.png) 领导者谈到了为新客户在其SaaS应用程序中创建可重复的自动化流程。 ![](https://d1trpeugzwbig5.cloudfront.net/SAS305-SaaS_architecture_pitfalls__Lessons_from_the_field/images/rebranded/SAS305-SaaS_architecture_pitfalls__Lessons_from_the_field_2.png) 他们还讨论了在SaaS中使用长生命周期功能标志的方法,以实现不同层次租户的可自定义定价和打包。 ![](https://d1trpeugzwbig5.cloudfront.net/SAS305-SaaS_architecture_pitfalls__Lessons_from_the_field/images/rebranded/SAS305-SaaS_architecture_pitfalls__Lessons_from_the_field_3.png) 通过功能标志,可以将新功能逐步推广给一部分客户,从而进行测试并降低风险。 ![](https://d1trpeugzwbig5.cloudfront.net/SAS305-SaaS_architecture_pitfalls__Lessons_from_the_field/images/rebranded/SAS305-SaaS_architecture_pitfalls__Lessons_from_the_field_4.png) 演讲者鼓励听众在构建[无服务器](https://aws.amazon.com/cn/serverless/?trk=cndc-detail)应用过程中遇到问题时联系亚马逊云科技团队,并强调了新推出的资源,如亚马逊云科技主页上的SaaS。 ![](https://d1trpeugzwbig5.cloudfront.net/SAS305-SaaS_architecture_pitfalls__Lessons_from_the_field/images/rebranded/SAS305-SaaS_architecture_pitfalls__Lessons_from_the_field_5.png) ## 总结 该视频探讨了SaaS体系结构中所面临的常见问题及应对策略。强调了在SaaS领域中灵活性及敏捷性之重要,以便能够快速创新以满足不同客户的需求。一个常见的挑战在于每个租户都独立的基础设施,这会限制其扩展能力及进入新市场。解决方法是采用分层服务模式,包含某些共享组件,比如数据库。另一个问题是在共享基础设施中存在噪音邻居,这一问题可以通过监控并将噪音租户隔离来解决。过于关注总体成本而非每个租户的经济效益可能导致短期视野。收集每个租户的使用数据以确保合理分配共享资源。冗长的手动入职流程会阻碍扩展。应自动执行尽可能多的操作,如启动环境。每个租户定制的设置可能导致碎片化且难以维护的代码。通过使用长期功能标记来进行打包和配置,可以避免因过度定制化而导致的混乱。遵循这些原则将有助于创建一个可持续、高效且灵活的SaaS系统,从而能迅速为客户提供他们所需的新功能。 ## 演讲原文 ## 想了解更多精彩完整内容吗?立即访问re:Invent 官网中文网站! [2023亚马逊云科技re:Invent全球大会 - 官方网站](https://webinar.amazoncloud.cn/reInvent2023/?s=8739&smid=19458 "2023亚马逊云科技re:Invent全球大会 - 官方网站") [点击此处](https://aws.amazon.com/cn/new/?trk=6dd7cc20-6afa-4abf-9359-2d6976ff9600&trk=cndc-detail "点击此处"),一键获取亚马逊云科技全球最新产品/服务资讯! [点击此处](https://www.amazonaws.cn/new/?trk=2ab098aa-0793-48b1-85e6-a9d261bd8cd4&trk=cndc-detail "点击此处"),一键获取亚马逊云科技中国区最新产品/服务资讯! ## 即刻注册亚马逊云科技账户,开启云端之旅! [【免费】亚马逊云科技“100 余种核心云服务产品免费试用”](https://aws.amazon.com/cn/campaigns/freecenter/?trk=f079813d-3a13-4a50-b67b-e31d930f36a4&sc_channel=el&trk=cndc-detail "【免费】亚马逊云科技“100 余种核心云服务产品免费试用“") [【免费】亚马逊云科技中国区“40 余种核心云服务产品免费试用”](https://www.amazonaws.cn/campaign/CloudService/?trk=2cdb6245-f491-42bc-b931-c1693fe92be1&sc_channel=el&trk=cndc-detail "【免费】亚马逊云科技中国区“40 余种核心云服务产品免费试用“")
目录
亚马逊云科技解决方案 基于行业客户应用场景及技术领域的解决方案
联系亚马逊云科技专家
亚马逊云科技解决方案
基于行业客户应用场景及技术领域的解决方案
联系专家
0
目录
关闭