Update and rename 20220916 A Complete Guide to Cloud Service Architectures.md to 20220916 A Complete Guide to Cloud Service Architectures.md

This commit is contained in:
cool-summer-021 2023-07-08 09:31:19 +08:00 committed by GitHub
parent 1eaddd4f20
commit fde3a227be
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 137 additions and 137 deletions

View File

@ -1,137 +0,0 @@
[#]: subject: "A Complete Guide to Cloud Service Architectures"
[#]: via: "https://www.opensourceforu.com/2022/09/a-complete-guide-to-cloud-service-architectures/"
[#]: author: "Mir H.S. Quadri https://www.opensourceforu.com/author/shah-quadri/"
[#]: collector: "lkxed"
[#]: translator: "cool-summer-021"
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
A Complete Guide to Cloud Service Architectures
======
*In its roughly 16 years of evolution, cloud computing has evolved to become a technology that is used by almost everyone who uses the Internet. It can be used as a service to support various types of business and consumer requirements. Therefore, multiple service architectures are being used in cloud computing to customise the technology as per modern day needs. This article provides a complete guide to all the service architectures being used today.*
While the idea of having a network of computers collaborating across the world has existed since the early 1960s, the formal conceptualisation of it occurred in 2006 when Eric Schmidt, the then CEO of Google, introduced the term cloud computing in its modern day context.
Cloud computing can be simply understood as a network of remote servers across the world, sharing data and collaborating over the Internet to provide services to businesses and customers. Albeit an arbitrary definition, it does cover the core idea behind cloud computing. The primary motivating factor for such a technology was to create more stickability in data, i.e., to make data more easily accessible across the devices whilst reducing the risks of data loss. If a user x has data in only one server, the chances of permanent data loss for x are higher given that all it takes is one server outage. That is equivalent to the proverbial putting all your eggs in one basket method, which is never a good idea especially when you are dealing with data that can be critical for businesses and consumers. But if you replicate the data of x in multiple servers across the globe, it will have two major benefits. For one, x will still be able to access his/her data even if a server is facing an outage. Second, the cloud can provide x with access to its data from a server that is available closest to it with the least amount of load. This makes data faster and more easily accessible across different devices for x.
In its roughly 16 years of evolution, cloud computing has gone from being something used simply for backing up photos to becoming the backbone of the Internet. Almost every app today, from Microsoft Office to Asana and Todoist, makes use of cloud computing for real-time access and sharing of data. Almost any app that you can think of uses cloud computing. Everything from Gmail and YouTube, to Instagram and even WhatsApp, uses cloud computing in the background to provide fast, easy, and reliable access to data.
The companies that provide cloud computing services are called cloud service providers. Amazon, Google, Microsoft, Salesforce, Cloud9, etc, all provide cloud as a service in both B2B and B2C contexts.
In the early days, cloud service providers generally offered only three types of services to their customers:
* Software as a Service (SaaS)
* Platform as a Service (PaaS)
* Infrastructure as a Service (IaaS)
However, as the industry requirements have evolved with new technologies such as blockchain and AI coming into the picture, cloud service providers have come up with new models to better serve the varying requirements of their customers. In this article, we are going to go through all the cloud computing service models currently being used in the market.
### The architecture of a cloud
Now that we have an idea of what cloud computing is and how it evolved into becoming a 445 billion dollar industry, let us try to understand the cloud from a technical perspective. A generalised architecture of a cloud can be conceptualised as consisting of two major components — the front-end and the back-end.
![Figure 1: The architecture of a cloud (Courtesy: TechVidvan)][1]
The front-end contains the client infrastructure, i.e., the device and the user interface of the application used for communicating with the cloud. In a real-world context, your smartphone and the Google Drive app are the front-end client infrastructure that can be used for accessing the Google cloud.
The back-end contains the cloud infrastructure, i.e., all the mechanisms and machinery required to run a cloud computing service. The servers, virtual machines, services and storage are all provided by the cloud infrastructure, as shown in ure 1. Lets quickly go through each component of the back-end in order to get a complete picture.
* Application: The back-end of whatever app the user or business uses to interact with the cloud via the Internet.
* Service: The infrastructure for the type of service that the cloud provides. We are going to go into detail about all the different types of services in this article.
* Runtime: The provision of runtime and execution made available to the virtual machines.
* Storage: The acquisition and management of user/business data with the flexibility of scaling.
* Infrastructure: The hardware and software required to run the cloud.
* Security and management: Putting security mechanisms in place to protect user/business data as well as managing individual units of the cloud architecture to avoid overload and service outages.
### Software as a Service (SaaS)
Software as a Service is a cloud computing model that provides software and applications as a service over the Internet. A good example of this is Google Drive or Google Workspace. All the apps available in Google Drive such as docs, sheets, slides, forms, etc, can be accessed online using a Web browser and saved automatically to the cloud. You can access the latest version of your documents through any device. All you need to do is login to your account. This is the benefit of having the Software as a Service model. Instead of having to install anything to your device locally or using your local storage space, you can directly access the software application in the cloud thus removing a lot of the liabilities that come with localised software. SaaS often follows the pay as you go model, i.e., you pay for the services you need. You can always purchase more storage and/or features by paying more or downgrade your package as per your requirements.
#### Benefits of SaaS
1. SaaS is highly scalable, thanks to the pay as you go model. You can increase/decrease storage and/or the features of the apps as and how you need to.
2. It is considerably cost-effective given the features it provides such as real-time access through any device with any operating system.
3. It involves low effort at the customer-end. No installations or confusing steps are required to initialise the software. You can use it from the comfort of your browser and/or app.
4. Software updates automatically without you having to install it or wait for installation at your end.
### Platform as a Service (PaaS)
Not every tech startup has the required resources to maintain their own infrastructure to run their apps on the cloud. In many cases, companies (especially startups) prefer to have their app hosted on the cloud without having to handle all the backend infrastructure. It is in situations such as these where a Platform as a Service model comes into play. Companies such as Heroku cloud offer PaaS architecture-based cloud solutions for companies and individuals to host and run their apps in the cloud without having any direct contact with the hardware infrastructure. Like SaaS, this model also provides flexibility in choosing only the services you require along with scalability and security from an infrastructural perspective.
#### Benefits of PaaS
1. No hassle of handling the cloud infrastructure. You outsource that to the company that hosts your app in their cloud. This helps you focus solely on your app development life cycle.
2. PaaS is scalable. You can increase or decrease your storage requirements, add-on services, etc, as per your requirements.
3. The only security parameters you set are for your own app. The cloud security is dealt with by your cloud service provider.
4. It is time- and cost-effective for companies and individuals looking to host their apps in the cloud, especially startups that cannot afford to build their own infrastructure.
### Infrastructure as a Service (IaaS)
Infrastructure as a Service goes one step deeper than PaaS, providing customers with even more autonomy. In an IaaS model, the cloud service provider gives you control over the underlying infrastructure of the cloud. Simply put, you get to design your own cloud environment customised to your companys requirements all the way from dedicated servers and virtual machines, to operating systems running on the servers, setting bandwidths, creating your own security protocols, and pretty much everything else that goes into creating a cloud infrastructure. Amazon AWS and Google Compute Engine are great examples of IaaS models. Given the autonomy over the hardware that this model provides, it is also referred to as Hardware as a Service (HaaS).
#### Benefits of IaaS
1. Granular flexibility in the pay as you go model. You get to decide how many VMs you want to run and for how long. You can even pay by the hour.
2. Highly scalable, given that it follows the pay as you go model to its core.
3. Complete autonomy and control over everything in the infrastructure without the hassle of maintaining the servers physically at your company location.
4. Most companies guarantee uptime, security and 24/7 on-site customer support, which can be essential for enterprises.
### Storage as a Service (StaaS)
Google Drive, OneDrive, Dropbox, and iCloud are some of the big names in the industry providing Storage as a Service to their customers. StaaS is as simple as it sounds. If all you require is storage in the cloud that is accessible to you in real-time through any of your devices, then the StaaS model is the one to choose. Many companies and individuals make use of this service model to back up their data.
#### Benefits of StaaS
1. Access your data in its most updated form in real-time with the help of built-in version control systems.
2. Access your data through any type of device with any operating system.
3. Back-up your data in real-time as and how you create, edit, and delete your files.
4. Scale your storage as and how you require. StaaS follows the pay as you go model.
### Anything/Everything as a Service (XaaS)
A hybrid version of the IaaS, PaaS, SaaS, and StaaS, is what is being called the Anything/Everything as a Service model, and is quickly gaining traction in the cloud community. It is possible for a customer to have requirements that are so varied that they might be a mishmash of all the different models. In such a scenario, complete autonomy is provided to customers to select the services from different tiers to create their own custom pay as you go model. This has the benefit of giving complete freedom to the customer to use the cloud on their own terms.
#### Benefits of XaaS
1. Choose what you like, how you like and as you like.
2. Pay only for exactly what you need without having to pay for any base fee predicated on a tier system.
3. Select your infrastructure, platform, and functionality on a granular level.
4. If used appropriately, XaaS can be the most time-, cost- and work-effective method of hosting your application on the cloud.
### Function as a Service (FaaS)
In certain cases, companies or individuals require the benefits of PaaS without having to use all its functionality. For example, trigger-based systems such as cron jobs only require a piece of code or a function to run on a serverless system to achieve a particular objective. For instance, a customer may want to create a website traffic monitoring system that sends a notification the moment a certain number of page downloads occur. In such a case, the customer requirements are simply to run a piece of code in the cloud that keeps checking for a trigger to execute. Using a PaaS model can be a costly solution. This is where Function as a Service comes in. Many companies such as Heroku offer FaaS to their customers to host only a specific piece of code or function that is reactionary and only activates upon a trigger.
#### Benefits of FaaS
1. You only pay for the number of executions of the code. You are generally not charged for hosting your code unless it is computationally expensive.
2. It removes all the liability of PaaS while giving you all its benefits.
3. You are not responsible for the underlying infrastructure in any way. Therefore, you can simply upload your code without having to worry about any maintenance of the virtual machines.
4. FaaS provides you with the ability to be agile, i.e., to write functional code.
### Blockchain Platform as a Service (BPaaS)
Blockchain has taken the tech industry by storm in recent years. It is one of the most in-demand technologies right now, surpassed marginally by AI and data science related technologies. What makes blockchain so attractive is its open-ledger architecture providing security, scalability, and transparency. These features are necessary for many applications such as banking, electoral systems, and even social media. With such wide-ranging applications, it becomes necessary to be able to host such products on the cloud with a model that specifically caters to the needs of this technology. This is where BPaaS comes into the picture. Many companies today, including big names such as Amazon AWS and Microsoft Azure, are providing BPaaS solutions for customers specifically looking to host blockchain based apps in the cloud.
#### Benefits of BPaaS
1. It caters to the specific needs of the blockchain industry such as support for custom languages used for writing smart contracts.
2. Supports integrations with pre-eminent blockchains such as Ethereum by providing API bridges.
3. Supports custom databases used in the application life cycle of blockchain technologies.
4. It has all the goodness of the cloud with the pay as you go feature, scalability, security, and ease of access.
--------------------------------------------------------------------------------
via: https://www.opensourceforu.com/2022/09/a-complete-guide-to-cloud-service-architectures/
作者:[Mir H.S. Quadri][a]
选题:[lkxed][b]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://www.opensourceforu.com/author/shah-quadri/
[b]: https://github.com/lkxed
[1]: https://www.opensourceforu.com/wp-content/uploads/2022/08/Figure-1-The-architecture-of-a-cloud-2.jpg

View File

@ -0,0 +1,137 @@
[#]: subject: "A Complete Guide to Cloud Service Architectures"
[#]: via: "https://www.opensourceforu.com/2022/09/a-complete-guide-to-cloud-service-architectures/"
[#]: author: "Mir H.S. Quadri https://www.opensourceforu.com/author/shah-quadri/"
[#]: collector: "lkxed"
[#]: translator: "cool-summer-021"
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
云服务架构完全指南
======
*云计算经过大约 16 年的演变,已经成为一种几乎所有网民都在使用的技术。它可以作为一种服务,用于满足各类企业和消费者的需求。因此,多种服务架构正被用于云计算,旨在根据最新的需求来定制所需技术。本文就如今使用的所有服务架构,提供一份完全指南。*
尽管在全球范围内建立互相协同的计算机网络的构想在19世纪60年代就提出了但直到2006年谷歌的首席执行官埃里克·施密特(Eric Schmidt)在当时的背景下引入了“云计算”一词,这种构想才成为一种正式的概念。
云计算可以简单理解为遍布于世界各地的远程服务器网络它可以在互联网上共享数据和协同工作从而为企业和消费者提供服务。虽然这样的定义比较武断但它包含了云计算背后的核心思想。促成这项技术发展的主要因素是对数据粘性的需求就是令数据更容易被各种设备访问同时也要减少数据丢失的风险。如果用户X只在一台服务器上保存了数据对于X用户来说只要发生一次中断数据就很有可能永久性丢失。这种做法无异于“把所有鸡蛋放在同一个篮子里”从来都不是一个好办法特别是当你在处理对公司和消费者具有重要意义的数据时。但如果你在多台服务器上备份了X的数据这种做法的好处主要有两点。第一即使一台服务器中断用户仍然可以正常获取数据。第二云服务可以以最小的负荷从最近的那台正常运作的服务器获取数据。这使x可以在不同设备上更快、更容易地获取数据。
历经大约16年的发展云计算从起初只是一种用于备份图片的工具变为了重要的互联网工具之一。如今几乎所有的 APP从Office 到Asana以及 Todolist都利用云计算来实现实时访问和数据共享。几乎任意一款你能想像到的 APP 都在使用云计算。从 Gmail 和 YouTube到Instagram一切 APP都使用云计算用于提供快速、便捷、可靠的数据访问功能。
提供云计算服务的公司称为云服务提供商。Amazon, Google, Microsoft, Salesforce, Cloud9等都是B2B 和B2C领域的云服务提供商。
在早期,云服务供应商通常指提供三类服务:
* 软件即服务(SaaS)
* 平台即服务(PaaS)
* 基础设施即服务(IaaS)
然而正如随着区块链和AI等新技术的出现行业需求也在不断发展云服务提供商也开发了新模型用于更好地满足客户的各种需求。本文将详细论述如今大众普遍使用的那些云计算模型。
### 云端的架构
既然我们已经了解了什么是云计算以及它是如何发展成一个高达4450亿美元产值的行业现在我们从技术视角来理解云计算。通常一个云端架构都由两个主要部件组成——前台和后台。
![Figure 1: The architecture of a cloud (Courtesy: TechVidvan)][1]
前台包含客户端基础设施有终端设备和用于与云端通信的应用程序界面。在现实世界里你的智能收集和Google 驱动程序就是前台它们用于访问Google 的云端。
后台包含云端基础设施,包括运行云计算服务所需的一切设备。服务器、虚拟机、服务和存储都是由云端基础设施提供的。为了对它们有个全局的概念,现在我们来了解一下云端的每个组件。
* 应用程序:用户或企业使用的、通过互联网与云端互动的任何应用程序的后台
* 服务:云端提供的服务型基础设施。本文将详细论述各种不同的服务
* 运行时:提供给虚拟机的运行时和执行系统。
* 存储:具有灵活的伸缩性的用户/企业数据获取和管理系统
* 基础设施:运行云端所需的硬件和软件
* 安全和管理:建立安全机制,保护用户/企业数据,管理云服务单元,避免过载和服务停机
### 软件即服务(SaaS)
“软件即服务”是一种云计算模型它能在互联网上提供软件和应用程序供大家使用就像提供某种服务一样。Google 云存储或Goole Workspace 都是比较典型的例子。Google Drive 内的所有应用程序例如Docs,Sheets,Forms,它们都可以通过使用浏览器访问到并可以保存于云端。你可以在任意设备上获取文档的最新版本。在不同设备上你唯一需要做的就是登录你的账户。这就是“软件即服务”模型的优点。你可以直接访问云端的应用程序并省略了使用本地软件时的很多繁杂操作而且不需要在本地安装任何东西或使用你的本地存储空间。SaaS 一般遵循“量入为出”法则,你只要为你需要的服务支付费用。你可以根据自己的需求,通过支付更多的钱款或降级软件包,永久性购买更多的存储空间或软件功能。
#### SaaS的好处
1. SaaS具有高度的可伸缩性这归功于它的“量入为出”思想。你可以根据自身需求增加/减少存储空间或程序的功能。
2. 考虑到它提供的特性,例如可以通过安装了任意操作系统的任何设备进行实时访问,它是非常合算的。
3. 在客户端,它的工作量是较低的。不需要安装或进行复杂的步骤,就可以完成软件的初始化。你可以在浏览器或 APP 中使用它,而且用户体验也是友好的。
4. 不必手动安装,软件会自动更新,而且更新过程中你也不必等待。
### 平台即服务(PaaS)
并不是每家科技初创公司都有必要的资源来维护自己的基础设施,从而在云端运行应用程序。公司(尤其是创业型公司)通常更倾向于把 APP 部署于云端这样就不必处理后台基础设施了。这就是“平台即服务”这种模型的用武之地了。Heroku cloud等公司提供了基于“平台即服务”的云端解决方案令公司和个人可以在不需要直接与硬件交互的情况下就能部署并运行 APP。这种模型也跟“软件即服务”类似提供了灵活性你只需选择所需的服务同时也从基础设施的角度提供了可伸缩性和安全性。
#### PaaS的好处
1. 省去了操作云端基础设施的麻烦。你在云端向公司开源了这些基础设施。这令你能专注于 APP 开发工作的各个生命周期。
2. PaaS 是可伸缩的。你可以根据需要增加或减少存储需求、附加服务等。
3. 你设置的安全性参数只适用于你的 APP。
4. 对公司和个人来说把APP 托管在云端,在时间和成本上都是合算的,特别是那些无法承担基础设施建设成本的创业型公司。
### 基础设施即服务(IaaS)
IaaS 相对于 PaaS 更进一步,给予用户更多的自主权。在 IaaS 模型中云服务提供商让你对云端的底层基础设施进行操控。简而言之就是你可以根据公司需要自行设计云端环境包括专用服务器和虚拟机到运行于服务器的操作系统你还可以设置带宽创建自己的安全协议以及创建云基础设施所需的其他项目。Amazon AWS 和 Google Compute Engine 都是使用 IaaS 模型的很好的例子。鉴于此模型还可以实现用户对硬件的自主操控,它也被称为硬件即服务(HaaS)。
#### IaaS的好处
1. 量入为出模式中的细粒度灵活性。你需要自行决定运行多少台虚拟机以及使用多少时间。你还可以按小时付费。
2. 以“量入为出”为核心思想,它具有高度的可伸缩性。
3. 完全的自主权,对基础设施中的一切事项的控制,省去了在公司所在地点驻场维护服务器的麻烦。
4. 大多数公司保证正常运行时间、安全性和24/7的现场技术支持这对企业来说非常重要。
### 存储即服务(StaaS)
Google Drive, OneDrive, Dropbox 和 iCloud 是存储服务行业内大名鼎鼎的产品。StaaS就像听起来那么简单。如果你需要的只是通过任意设备可以实时访问的云端存储空间StaaS就是可用的选项之一。很多公司和个人都使用这样的服务来备份自己的数据。
#### StaaS的好处
1. 借助嵌入式的版本控制系统,实时访问最新数据
2. 可以使用安装任意操作系统的任何设备访问数据
3. 实时备份数据,以及实时创建、编辑和删除您的文件。
4. 遵循量入为出模式,你可以根据需要自行确定存储空间大小。
### 一切即服务(XaaS)
IaaS, PaaS, SaaS 和 StaaS的混合版就是所谓的“一切即服务”模式它在云计算相关社区内快速引发关注。客户可能有多种多样的需求这些需求可能是各种不同模式的混合。在这种场景下应当为用户提供自由选择所需服务的功能让他们从各种不同的层级选择服务从而创建自定义的量入为出模型。这种方式的好处在于让用户根据自身需求自由选择相应的云服务。
#### XaaS的好处
1. 可以选择你喜欢的东西和你喜欢的方式。
2. 只需要为你需要的服务支付费用,而且不需要支付任何基于层级系统的基本费用
3. 在一个粒度的层面,你可以选择基础设施、平台和功能
4. 只要使用得当无论在时间、成本、效用上XaaS都是非常有效的。
### 功能即服务(FaaS)
在某些情况下,公司或个人需要 PaaS但不是所有的功能都需要。例如基于触发器的系统只需要一部分代码或一个方法就可以运行于一个 Serverless 系统,进而实现某种功能。例如某客户需要创建一个网站的流量监测系统,用于在某些页面下载时发送通知。这样的需求简而言之就是在云端运行一段持续检查要执行的触发器的代码。使用 PaaS 的成本较高。此时就是“功能即服务”发挥作用的时候了。许多公司,例如 Heroku向客户提供 FaaS它只存储一段代码或一个方法只会在被触发的情况下运行。
#### FaaS的好处
1. 你只需要支付代码运行的费用。托管代码通常是不收费的,除非计算成本很高。
2. 它不会有使用 PaaS 的那些麻烦,却让你享受所有好处。
3. 无论如何,你都不必关心底层基础设施。因此,您只需要上传代码,而不必关心任何虚拟机维护相关事宜。
4. FaaS让你的开发更加敏捷即编写函数式代码。
### Blockchain Platform as a Service (BPaaS)
近年来区块链席卷了科技行业。它是目前最受欢迎的技术之一比它更受欢迎的只有人工智能和数据科学相关技术。区块链如此吸引人的原因是它提供了安全、可伸缩和透明的开放式账本架构。这些功能对于许多应用程序都是必要的例如银行、选举系统甚至社交媒体也需要这些功能。随着如此广泛的应用有必要能够在云上托管这样的产品其模型专门满足这种技术的需求。这就是BPaaS发挥作用的地方。如今包括亚马逊AWS和微软Azure在内的许多公司都在为客户提供BPaaS解决方案这些客户特别希望在云端托管基于区块链的应用程序。
#### BPaaS 的好处
1. 它满足了区块链行业的特定需求,例如支持用于编写智能合约的自定义语言。
2. 通过提供API桥接支持与区块链(如以太坊)集成。
3. 支持在区块链技术的应用中使用自定义数据库。
4. 云的所有优点它也同样具备,即“随用随付”功能、可扩展性、安全性和访问便捷性。
--------------------------------------------------------------------------------
via: https://www.opensourceforu.com/2022/09/a-complete-guide-to-cloud-service-architectures/
作者:[Mir H.S. Quadri][a]
选题:[lkxed][b]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://www.opensourceforu.com/author/shah-quadri/
[b]: https://github.com/lkxed
[1]: https://www.opensourceforu.com/wp-content/uploads/2022/08/Figure-1-The-architecture-of-a-cloud-2.jpg