Microservice Architecture 简明教程
Different Elements
到目前为止,我们已经了解了什么是微服务以及它在现代 MVC 架构之上有哪些基本需求。在本章中,我们将学习此架构的不同元素,这些元素对于服务同等重要。
Categories of Services
按微服务命名,我们假设它将是可以通过 HTTP 协议使用的服务,然而我们需要了解可以使用此架构构建哪种服务。以下是可以使用微服务架构实现的服务列表。
Platform as a Service [PaaS] - 在这种面向服务架构中,平台被赋予一种可以根据业务需求进行定制的工具。PaaS 在移动应用程序开发中发挥着重要作用。PaaS 最好的例子是 Google App Engine,其中 Google 提供了不同的有用平台来构建你的应用程序。PaaS 最初开发是为了向开发人员提供内置架构或基础设施。它在大大减少的时间内降低了更高级别的编程复杂性。以下是 Google 提供的 PaaS 的快照。
Software as a Service [SaaS] - 软件即服务是一种软件许可业务,其中软件集中托管并按订阅方式授权。SaaS 主要可以通过浏览器访问,并且是许多业务垂直领域中非常常见的架构模式,例如人力资源管理 (HRM)、企业资源规划 (ERP)、客户关系管理 (CRM) 等。以下屏幕快照显示了 Oracle 提供的不同 SaaS 的示例。
Infrastructure as a Service [IaaS] - 基础设施在 IT 行业中扮演着重要的角色。使用云计算,一些组织提供虚拟基础设施作为服务。IaaS 对于在软件开发中带来敏捷性、成本效益、安全性、性能和生产力非常有帮助。Amazon EC2 和 Microsoft Azure 是 IaaS 最重要的例子。下图描述了 AWS 的一个例子,其中数据中心被提供为 IaaS。
Data as a Service [DaaS] - 信息技术处理数据,一些顶级行业领导者认为数据将成为社会的新的支撑。DaaS 是这样的一种服务,其中数据与商业集团共享用于研究和分析。DaaS 在数据访问层带来了简单性、敏捷性和安全性。以下是 Oracle Data Cloud 的一个例子,可以根据你自己的业务需求访问或获得许可。
Back End as a Service [BaaS] - BaaS 也称为 MBaaS,表示移动后端即服务。在这种类型的服务中,应用程序的后端将提供给业务部门以供其自己的业务投资。所有推送通知、社交网络服务都属于这种类型的服务。Facebook 和 Twitter 是著名的 BaaS 服务提供商的例子。
Security
在处理大量客户数据时,安全性发挥着重要作用。安全问题与市场上所有类型的服务相关。无论你使用哪种云 - 私有、公有、混合等,都应在各个层面维护安全性。整个安全问题可以大致细分为以下部分:
-
Security issue faced by service providers - 这种类型的安全问题是由 Google、Amazon 等服务提供商面临的。为了确保安全保护,有必要对客户端进行背景调查,特别是那些直接访问云核心的客户端。
-
Security issue faced by consumers - 云具有成本效益,因此在各行各业中得到广泛应用。一些组织将用户详细信息存储在第三方数据中心,并在需要时提取数据。因此,维护安全级别非常重要,这样一位客户的任何私人数据都不应该对任何其他用户可见。
为了防止上述安全问题,以下是组织使用的一些防御机制。
-
Deterrent Control - 了解你的潜在威胁以减少网络攻击。
-
Preventive Control - 维护高级别的身份验证策略以访问你的云。
-
Detective Control - 监控你的用户并检测任何潜在风险。
-
Corrective Control - 与不同的团队紧密合作,并解决在侦探控制阶段出现的各种问题。