每个开发者都希望编写尽可能优秀的应用程序。但是,当你花费宝贵的时间管理IT基础设施时,这很难实现。通过云计算和云架构,你可以将这些任务外包给专家,确保你在需要的时候拥有安全、可用、弹性的计算和存储。通过云计算,你的基础设施只需正常工作,你就可以回到编写优秀的代码。
本文将介绍云架构的基础知识,并展示MongoDB的MongoDB Atlas,MongoDB的数据服务平台如何利用云架构来提高生产力、可用性和可靠性。我们还将解释Atlas App Services如何成为此类架构的关键部分。
目录
云架构是指各种组件结合在一起形成云环境的方式。云环境提供各种服务和基础设施,具有近乎无限的可扩展性。主要元素包括
云架构分为两种类型:前端和后端。
前端架构包括
后端架构包括
管理与安全支撑所有上述组件
我们将这些组件连接起来的方式被视为我们的云原生架构。
你的云架构可能基于一种云类型;更常见的是,你可能构建一个使用四种主要云类型中的几种的架构。
在设计我们的云架构时,我们应该问自己以下问题:
我们试图构建什么,我们希望如何提供给最终用户?我们是构建一个Web应用、移动应用、服务还是集成组件?这将决定我们选择组件的方式。例如,对于一个Web应用,我们可能需要托管前端和DNS服务以将流量路由到我们的站点地址,一个计算层来提供后端API,以及一个数据库来存储数据。
我们希望我们的应用程序如何在未来进行扩展和增长?增长可能是快速的或不可预测的,或者可能遍布多个地理区域;在这些情况下,我们可能需要弹性基础设施和可扩展的API端点。
最后,我们需要考虑我们开发团队的成本和生产率。开发者不应该花费大量时间管理基础设施——这是供应商可以更高效和更经济地做的事情。
使用MongoDB Atlas和Atlas App Services,您可以从公共云、多云和混合解决方案的强大功能中受益
MongoDB示例
让我们考虑一个提供Web界面和UI的Web应用——例如,一个有用户帖子的社交网络。前端将托管在App Services Hosting上,代码将使用JavaScript Realm来执行使用MongoDB Atlas和Realm服务的身份验证和后端任务。
前端架构
Atlas App Services提供了一个客户端SDK和一个托管服务。您可以托管前端代码,并通过API请求从app.example.com访问后端。
后端架构
POST https://webhooks.mongodb-realm.com/api/client/v2.0/app/app-abcd/service/test/incoming_webhook/processTask
尽管每个应用程序和商业努力都是独特的,但在设计您的云架构时,仍需考虑一系列云架构模式。
在构建应用程序时,无论是否在云中,我们都需要将扩展性作为设计的关键方面。Atlas可伸缩性是开发人员喜爱MongoDB平台的主要原因之一。
Atlas允许您无缝地伸缩您的数据库(Atlas 自动伸缩),同时我们的主动监控工具和建议突出显示任何有利于您的模式设计或提高数据库性能的改进。
您只需点击几下即可启动一个多分片环境,并且您可以随时提高计算能力,让您心情舒畅。
现代云架构考虑了软件和硬件可能发生故障的事实。为了适应这些故障,我们需要构建容错组件,这些组件可以轻松替换或自动故障转移到健康的组件。
在云环境中,设计上即可通过替换或重建组件。MongoDB集群使用复制和副本集来确保可用性。MongoDB Atlas集群默认情况下为每个副本集使用三个节点的部署。
云组件的弹性和灵活性使它们成为托管多租户应用程序的非常好的选择。话虽如此,存在已知的多租户风险
MongoDB Atlas在管理多个租户时提供了灵活性。您可以:
用户期望完美的正常运行时间和可用性,这使得灾难恢复和高可用性成为我们实现过程的关键部分。最好将应用程序部署在多个区域站点,以确保在单个站点或整个云不可用或关闭时保持可用性。
MongoDB Atlas和Atlas App Services允许在多个区域部署应用程序和数据库集群,并具有自动故障转移和修复过程。
云架构的世界很大,而且越来越大,然而,MongoDB Atlas和Atlas App Services提供了丰富的功能来构建以云为中心的应用程序
网络:DNS、互联网网关、内部网络
计算层
数据层