架构设计基础设施保障IaaS计算

news2024/11/27 21:48:37

目录

  • 1 IaaS概述
  • 2 服务部署演进历程
  • 3 云虚拟机
  • 4 云虚拟机如何选型
  • 5 云虚拟机的创建操作
  • 6 服务部署访问


1 IaaS概述

在这里插入图片描述
云计算并不是一种单一类型的产品,而是为满足企业各种IT需求而提供的多种服务。
通过云计算提供的一类这样的服务是基础设施即服务(IaaS),它通常通过互联网为企业提供虚拟化的计算资源。IaaS是一类主要的云计算服务,其他的还有软件即服务(SaaS)和平台即服务(PaaS)。

在IaaS模型中,第三方服务提供商以高度自动化的交付模式为客户托管硬件设备、操作系统和其他软件、服务器、存储系统,以及其他各种IT组件。在某些情况下,他们还处理持续的系统维护、数据备份和业务连续性等任务。使用IaaS的企业可以自行部署基础设施服务,并按使用量付费。费用通常按小时、星期或者按月支付,具体视服务合同而定。在某些情况下,供应商根据在一段时间内使用的虚拟机(VM)容量,向客户收取基础设施服务费。

IaaS(Infrastructure as a Service )提供托管的 IT 基础架构,供用户调配处理能力、存储、网络和其他基础计算资源。IaaS 提供商运行并管理此基础架构,用户可以在此基础架构上运行选择的操作系统和应用程序软件。

在云平台中还会涉及以下概念:

  1. PaaS:平台即服务。对应于上面所说的提供常用的技术组件方便系统的开发和维护;
  2. SaaS:软件即服务。对应于上面所说的提供开发好的应用或服务,按功能或性能要求付费。
  3. Faas:函数即服务。服务商提供一个平台,允许客户开发、运行和管理应用程序功能,而无需构建和维护通常与开发和启动应用程序相关的基础架构。

2 服务部署演进历程

  1. 应用拆分

在这里插入图片描述

按照业务功能来划分应用服务,整个职责更清晰,相互之间可以做到独立升级迭代。应用之间可能会涉及到一些公共配置,可以通过分布式配置中心Zookeeper来解决。

架构瓶颈:

不同应用服务之间存在共用的组件,会导致相同代码存在多份,公共功能升级时全部应用代码都要跟着升级。

比如说JSON字符串处理组件, 加密处理组件等。

  1. 微服务应用

在这里插入图片描述

如用户管理、订单、支付、鉴权等功能在多个应用中都存在,那么可以把这些功能的代码单独抽取出来形成一个单独的服务来管理, 比如说加密封装,鉴权处理接口等。

微服务架构,应用和服务之间通过HTTP、TCP或RPC请求等多种方式来访问公共服务,每个单独的服务都可以由单独的团队来管理。

在服务治理层面, 可以通过SpringCloud等框架实现服务治理、限流、熔断、降级等功能,提高服务的稳定性和可用性。

架构瓶颈:

不同服务的接口访问方式不同,应用服务可能需要适配多种访问方式, 才能使用服务,应用服务之间也可能相互访问,调用链将会变得非常复杂冗长,逻辑变得混乱。

  1. 企业服务总线ESB

在这里插入图片描述

应用统一通过ESB来访问后端服务,服务与服务之间也通过ESB来相互调用,以此降低系统的耦合程度。

使用企业消息总线来解除服务之间耦合问题的架构,就是所谓的SOA(面向服务)架构,这种架构与微服务架构容易混淆,因为表现形式比较相似。

微服务架构更多是指把系统里的公共服务抽取出来单独运维管理的思想,而SOA架构则是指一种拆分服务并使服务接口访问变得统一的架构思想,SOA架构中包含了微服务的思想。

架构瓶颈:

业务不断发展,应用和服务都会不断变多,应用和服务的部署变得复杂,同一台服务器上部署多个服务还要解决运行环境冲突的问题。

对于如大促这类需要动态扩缩容的场景,需要水平扩展服务的性能,就需要在新增的服务上准备运行环境,部署服务等,运维将变得十分困难。

  1. 容器化技术

在这里插入图片描述

目前最流行的容器化技术是Docker,最流行的容器管理服务是Kubernetes(K8S),应用/服务可以打包为Docker镜像,通过K8S来动态分发和部署镜像。

Docker镜像可理解为一个能运行你的应用/服务的最小的操作系统,里面放着应用/服务的运行代码,运行环境根据实际的需要设置好。

把整个“操作系统”打包为一个镜像后,就可以分发到需要部署相关服务的机器上,直接启动Docker镜像就可以把服务起起来,使服务的部署和运维变得简单。

架构瓶颈:

使用容器化技术后服务动态扩缩容问题得以解决,但是机器还是需要公司自身来管理,在非大促的时候,还是需要闲置着大量的机器资源来应对大促,机器自身成本和运维成本都极高,资源利用率低。

  1. 云平台

在这里插入图片描述

系统可部署到公有云上,利用公有云的海量机器资源,解决动态硬件资源的问题

在大促的时间段里,在云平台中临时申请更多的资源,结合Docker和K8S来快速部署服务,在大促结束后释放资源,真正做到按需付费,资源利用率大大提高,同时大大降低了运维成本。

所谓的云平台,就是把海量机器资源,通过统一的资源管理,抽象为一个资源整体

在云平台上可按需动态申请硬件资源(如CPU、内存、网络等),并且之上提供通用的操作系统,提供常用的技术组件(如Hadoop技术栈,MPP数据库等)供用户使用,甚至提供开发好的应用

用户不需要关心应用内部使用了什么技术,就能够解决需求(如音视频转码服务、邮件服务、个人博客等)。

3 云虚拟机

  • 介绍
  1. 阿里云ECS

    ECS(Elastic Compute Service)是阿里云提供的性能卓越、稳定可靠、弹性扩展的IaaS(Infrastructure as a Service)级别云计算服务。

  2. 亚马逊EC2

    EC2(Amazon Elastic Compute Cloud),是一种 Web 服务,能在云中提供安全且可调整大小的计算能力。该服务旨在让开发人员能够更轻松地进行 Web 规模的云计算。

  3. 腾讯云CVM

    CVM(Cloud Virtual Machine),提供安全可靠的弹性计算服务,可以在云端获取和启用 CVM,来实现计算需求。随着业务需求的变化,可以实时扩展或缩减计算资源。

  • 云虚拟机对比
  1. 性能评测:

在这里插入图片描述

(累计值越小, 综合排名越高。)

  1. 成本对比:

在这里插入图片描述

4 云虚拟机如何选型

  1. 虚拟机类型

    主要类型对比:

    类型AWS代号阿里云代号腾讯云代号
    通用型MGS
    计算型CCC、CN
    内存型RRM
    GPU计算型PGNAMD、NVIDIA
    存储型I、DI、DD

    阿里云还包含: 本地SSD型、高主频型、FPGA计算型、NPU计算型、超级计算集群(SCC)、弹性裸金属服务器(自研新一代云服务器)等。

    官方参考

    腾讯云还包含: 高 IO 型实例族、批量型实例族等。

    官方参考

  2. 代别更新

    随着虚拟化技术不断发展, 云厂商需要不断地对虚拟机进行更新:

    1. 硬件方面, 比如CPU的换代, 内存升级等;
    2. 软件层面,比如内核的改进,虚拟化技术的提升等。
  3. 实例配置

    实例按业界标准划分为micro、small、medium、large、xlarge。

    类型vCPU内存
    micro11
    small12
    medium24
    large28
    xlarge416
    2xlarge832

5 云虚拟机的创建操作

  1. 选择虚拟机类型

在这里插入图片描述

如果测试, 可以选取抢占实例, 节省成本。

在这里插入图片描述

  1. 网路和安全组配置

在这里插入图片描述

  1. 系统配置

在这里插入图片描述

  1. 分组设置

在这里插入图片描述

  1. 远程连接

在这里插入图片描述

通过远程连接可以直接进行操作, 一般会采用远程连接工具进行管理, 比如VNC或SSH连接工具。

如果需要节省成本, 可以选择“停机不收费”, 但不能保障稳定性。

在这里插入图片描述

6 服务部署访问

  1. 开通80端口访问权限

    在网络与安全 -> 安全组里面, 新增配置:

在这里插入图片描述

  1. 安装JDK

    yum -y install java-1.8.0-openjdk.x86_64
    
  2. 打包服务

    maven clean install
    
  3. 配置服务器连接

    直接通过外网IP访问:

在这里插入图片描述

  1. 运行服务

    java -jar app-basic.jar
    
  2. 访问验证

    http://47.104.9.75:10692/getOrder

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/976306.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

蓝桥杯备赛(Day5)——二叉树

二叉树存储 普通做法,二叉树一个节点包括结点的数值以及指向左右子节点的指针 在class Node中 def __init__(self,s,lNone,rNone):self.valNoneself.llself.rr 在竞赛中,我们往往使用静态数组实现二叉树,定义一个大小为N的静态结构体数组…

使用iCloud和Shortcuts实现跨设备同步与自动化数据采集

在如今的数字时代,跨设备同步和自动化数据采集对于提高工作效率和便利性至关重要。苹果的iCloud和Shortcuts App为我们提供了强大的工具,可以实现跨设备同步和自动化数据采集的功能。本文将详细介绍如何利用iCloud和Shortcuts App实现这些功能&#xff0…

英诺森供应链一体化平台解析

近日,2023年中国物流与采购联合会科学技术奖正式公布,该奖项经国家科技部批准,在国家科学技术奖励工作办公室登记备案,是我国物流行业最具影响力的奖项之一。 英诺森联合客户申报的科技项目“英诺森供应链智能数据平台”&#xf…

Golang编写客户端SDK,并开源发布包到GitHub,供其他项目import使用

目录 编写客户端SDK,并开源发布包到GitHub1. 创建 GitHub 仓库2. 构建项目,编写代码Go 代码示例:项目目录结构展示: 3. 提交代码到 GitHub仓库4. 发布版本5. 现在其他人可以引用使用你的模块包了 编写客户端SDK,并开源…

记一次以太网连接失败修复

症状: 很久没用这个电脑了,开机以后,发现连不上校园网。 遂检查网线,发现网线连在自己笔记本是可以用的,说明网线没问题。 但是网线连在主机是红灯常亮黄灯闪烁,怀疑是网卡有问题(后证明不是&#xff0c…

成都车展:比亚迪“豹力美学”杀入硬派SUV市场

在熙熙攘攘人头攒动的2023成都国际车展上,如果要评选一家人气最旺的车企展台,那必然非比亚迪莫属。 在比亚迪现场展示的多款车型中,作为比亚迪旗下方程豹品牌的首款车型,以“超级混动硬派SUV”著称的方程豹5,自然吸引了…

nuxt中extendRoutes添加多个扩展路由

文档中https://www.nuxtjs.cn/api/configuration-router有写使用extendRoutes添加多个路由 添加多个路由,数组拼接只能使用push,其实均不管用

【王道】操作系统笔记 第一章 操作系统概述

1.1.1 操作系统的概念和功能 我们熟悉的操作系统有哪些? 从计算机系统的层次结构上看操作系统: 以一台电脑的诞生为例: 第一步,厂家组装一台裸机 第二步,出售前安装操作系统 第三步,用户安装应用程序 第四…

一日一技:Python如何同时调用多个GPT的API?

相信很多同学或多或少都在Python中使用过GPT API,通过Python安装openai库,来调用GPT模型。 OpenAI官方文档中给出了一个示例,如下图所示: OpenAI API 测试 如果你只有一个API账号,那么你可能不觉得这样写有什么问题。…

其他计算机系统基础知识

其他计算机系统基础知识 概述计算机语言多媒体系统工程系统工程方法切克兰德方法并行工程方法综合集成法WSR方法 系统工程的生命周期基于模型的系统工程 概述 不考 学系统工程就行 整体来说考的概率不大,以了解为主 计算机语言 多媒体 15年之前考过 系统工程 系统工…

systemverilog仿真时候传递参数

$test$plusargs和$value$plusarg的区别和使用 本文参考的文章vcs2021 user guiger 别的版本可能会有不一样 纯学习笔记 文章原文 ( t e s t test testplusargs) 在运行时启用调试功能 在“ifdef”编译器指令的位置使用 t e s t test testplusargs系…

web靶场——xss-labs靶机平台的搭建和代码审计

目录 一、web靶场-xss-labs靶机平台的搭建 1、将下载好的压缩包放置php的WWW根目录下 2、配置网站 3、启动MYSQL和Nginx 4、完成后我们就可以在浏览器输入127.0.0.1:8088进入靶场 二、xss-labs靶场通关攻略 第一关: 1、输入代码进行测试&#xf…

Linux——(第三章)Vi和Vim编辑器

目录 1.Vi和Vim的基本介绍 2.Vi和Vim三种模式的切换 3.一般模式 4.编辑模式 5.指令模式 1.Vi和Vim的基本介绍 Vi是Unix操作系统和类Unix操作系统中最通用的文本编辑器。 Vim编辑器是从Vi发展出来的一个性能更强大的文本编辑器。可以主动的以字体颜色辨别语法的正确性&…

Python怎么实现更高效的数据结构和算法? - 易智编译EaseEditing

要实现更高效的数据结构和算法,你可以考虑以下几个方面的优化: 选择合适的数据结构: 选择最适合你问题的数据结构至关重要。例如,如果需要频繁插入和删除操作,可能链表比数组更合适。如果需要高效查找操作&#xff0…

加餐1|辞职问题:古人怎么写高端辞职信?

好诗相伴,千金不换。你好,我是天博。 我们这一讲是加餐,我想聊的是,古人是怎么处理我们现实生活里的一些难题的,比如古人是怎么面试的,怎么辞职的。在加餐里,我不会主讲某首诗,而是…

跨源资源共享(CORS)Access-Control-Allow-Origin

1、浏览器的同源安全策略 没错,就是这家伙干的,浏览器只允许请求当前域的资源,而对其他域的资源表示不信任。那怎么才算跨域呢? 请求协议http,https的不同域domain的不同端口port的不同 好好好,大概就是这么回事啦&…

高效能,一键批量剪辑,AI智剪让创作更轻松

在今天的数字化时代,视频制作已经成为各种行业和领域的必备技能。然而,视频剪辑过程往往繁琐且耗时,大大降低了我们的工作效率。幸运的是,随着人工智能技术的发展,我们有了新的解决方案——AI智剪软件。 AI智剪软件&am…

4年外包出来人废了,5个面试挂了4个....

我的情况 大概介绍一下个人情况,男,毕业于普通二本院校非计算机专业,18年跨专业入行测试,第一份工作在湖南某软件公司,做了接近4年的外包测试工程师,今年年初,感觉自己不能够再这样下去了&…

Spring源码解析-构造函数

1、构造函数概述 构造函数中,主要创建两个对象分别用来读取注解参数和classpath下的文件 AnnotatedBeanDefinitionReader 专门读取注解参数的Reader ClassPathBeanDefinitionScanner 专门读取classpath下的文件,例如yml、properties等。 AnnotationC…

hive指定字段插入数据,包含了分区表和非分区表

1、建表 语句如下: CREATE EXTERNAL TABLE ods_lineitem_full (l_shipdate date,l_orderkey bigint,l_linenumber int,l_partkey int,l_suppkey int,l_quantity decimal(15, 2),l_extendedprice decimal(15, 2),l_discount de…