在准备新的应用程序项目或考虑迁移现有应用程序时,必须非常小心地确保生产环境中的稳定性。Cloud-native云本地架构假设您的新项目将位于云中。这意味着你所做的每一个决定都会考虑到云的需求。
云本地构建需要专业知识和实践。但是,随着概念的掌握和整个IT团队的认同,您将为您的用户创建无缝且漂亮的项目,无论他们如何进入您的工作。
什么是Cloud-native云本地架构?
您正在设计一个项目,它至少部分地存在于云中。你开始工作时有很多选择。你可以按照传统方式构建,希望上传到云端后能正常工作。或者,您可以在整个设计过程中记住云,确保它在上传后能够无缝工作。
采用云本地架构方法,您所做的每一个选择都将受到云中存在的系统和资源的指导,而不是物理数据中心。像这样的项目需要专业知识的转变。
在传统的设计环境中,您需要将数据库连接到模块,这些模块在能够接触到消费者之前,将通过API或web应用程序进行连接。
但随着公司的变化,你的应用程序也会随之变化。对一个模块的每一个微小改变都会对其他所有事情产生连锁反应。很快,你就进入了专家们称之为“恐惧周期”的状态,你不可能改变一件小事而不可能打破其他的一切。最后,整个项目是如此复杂以至于没有人(包括你)真正理解它。
使用云本地架构,您的设计将由许多协同工作的小部分组成。您可以更改、添加或替换一个,而不会破坏整个系统。云本机架构组件包括:
- 容器
- 不变的基础设施
- 微服务
- 服务网格
这些部分可以一起工作,但是您可以独立地修补它们,而不必破坏整个系统。您的最终构建是可伸缩的、有弹性的,并且可供所有用户使用。
Cloud-Native与Cloud-Enabled有何不同?
许多公司为传统环境开发系统,当需求发生变化时,他们会将这些系统推入云中。
支持云的系统可以在传统环境中工作,理论上,它们可以在云中运行。你可以把他们推到那里,他们会为顾客服务一段时间。
但这样的系统并不是以云为核心的。它们可以比使用云本地方法构建的方法更快地中断。而且它们不太可能提供与云本地方法相关的可伸缩性、可靠性和安全性方面的相同好处。
云本地架构的优点和缺点
如果您已经毫无问题地处理了传统的系统架构,那么您可能会对新的开发方法带来的学习持谨慎态度。有时候,风险并不值得收益。但通常,云本地架构会带来传统项目无法提供的额外好处。
云本机架构的好处包括:
1. 低成本。在标准环境中构建,您的系统必须始终处于运行状态以服务于您的客户。选择云,你就可以将注意力转移到新的特性和产品上。
正如分析人士所解释的,如果传统系统崩溃,你就与客户有牵连。选择云,您可以通过增强恢复能力和一些防止停机的保护来节省资金和声誉。
2. 速度在一个敏捷的工作环境中,你必须一直在测试、移动和改进。如果你做的每一个改变都会破坏你的系统,那就很难做到了。
为云构建,您将创建一个为不断变化而构建的系统。在云中增强应用程序和启动应用程序更容易。
3. 选项。云本地设计与平台无关。如果您对现在使用的环境不满意,请从头到尾快速更改,而不必重新编程。
云本机架构的缺点包括:
- 调试挑战。在传统的系统架构中发现问题意味着遵循线性规划。在云本地设计中,容器进行交互和连接。但道路可能并不总是清晰的。有些问题源于一个或多个容器,找到问题并不总是那么容易。
- 安全依赖第三方云运营商意味着放弃对数据和访问的控制。有时候,这些公司并不像你那样小心处理数据。
- 知识差距。以云本地的方式写作有点像学习一门新语言。你必须掌握这些概念并完善你的方法,一个小小的错误可能会导致一个灾难性的问题。
每个公司都必须仔细权衡这些利弊,做出对企业、消费者和利益相关者都正确的决定。尽早进行规划讨论,并确保整个团队在构建开始前了解方法。
云本地基础设施架构
在云本地环境中,小组件协同工作以形成更大的系统。每一部分都有特定的任务要做,它们都在云上运行。但是你可以把每一个部分单独地布置好,而不是试图从头到尾设计一个完整的系统。
所有云本地设计都是这样工作的。但是当你设计最适合你公司的系统时,你有几个选择。常见选项包括:
- 基本的。您的DNS接入两个负载均衡器中的一个,它们与应用程序连接。主数据库和从数据库保存关键数据,它们与应用程序通信。整个系统定期备份到云端。
- 多云。您的DNS可以通过一个应用程序组件连接到多个云平台。你不需要为每次发射复制系统。应用程序组件可以在这两种环境中工作,并且数据可以返回到建筑物内的平台。
- 混合。您的DNS与两个负载均衡器中的一个连接,然后这些负载均衡器与应用程序通信。这些应用程序推送到主数据库,而数据的复制则推送到另一个云或您的建筑中的从属数据库。快照备份使一切保持整洁。
使用图表帮助您的团队理解构建完成后的样子。请记住,云应用程序很容易更改。如果你设计的系统不能为你的公司服务,你可以放弃它重新开始。
但请记住,微服务对云环境至关重要。每一个做不同事情的微小部分都会处理不同的工作。它们是独立工作的,但是它们被连接在一起以保持系统的正常运行。永远不要为云构建不包含这些小片段的东西。
云本地架构原理
一些信息架构师认为,他们从实践中学到最好的东西。他们更喜欢编码和挖掘数据,而不是阅读和聆听。但是,更多地了解这种体系结构类型的原理是值得的,这样您就可以知道专家在设计这些系统时所遵循的原则。
常见的云本地架构原则包括:
- 弹性是第一位的。冗余、区域部署和数据复制有助于确保系统保持在线。在这样的系统中会发生故障。建筑师必须为之规划。
- 系统是由组件组成的。架构师使用容器将应用程序分割成小块,然后一起工作。
- 自动化很重要。为云设计,你可以使用在线工具来减少工作量和计算负担。自动化是构建云计算的关键原则。
- 延迟是其中的一部分。用户请求和系统操作之间的微小延迟是任何云本地系统的一部分。架构师必须决定如何尽可能地保持这种小规模。
- 备份保证了数据的安全。系统是并行构建的,因此如果云系统崩溃或以其他方式崩溃,就不会有任何损失。
- 透明度是系统设计的一部分。容器可以像黑盒子一样建造。但对每个人来说,有一定程度的渗透性是很重要的,这样你就可以观察他们,确保他们运作良好。这种透明度还允许自动更新。
原文地址:https://www.okta.com/identity-101/what-is-cloud-native-architecture/
除特别注明外,本站所有文章均为老K的Java博客原创,转载请注明出处来自https://javakk.com/2165.html
暂无评论