云技术介绍

news2024/11/14 4:51:47

声明!
学习视频来自B站up主 泷羽sec 有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关,切勿触碰法律底线,否则后果自负!!!!有兴趣的小伙伴可以点击下面连接进入b站主页B站泷羽sec

云技术介绍

云技术历史

从前构建系统需要购买设备,租用数据中心机柜,搭建基础设施
随着处理器进化升级,虚拟机将一台机器的资源分成多台机器
提高资源利用率,灵活可拓展,从裸机基础设施到虚拟化基础设施
容器化进一步提高效率,实现服务器,网络和存储的虚拟交付
最新一代的基础设施我们称为“云”,它不是单一的技术,而是技术的集合。

云服务

云是一种 IT 基础设施系统,它将资源的创建抽象在软件层面。
云服务的要求:

  • 云基础架构必须稳定且无频繁中断
  • 地理分布的云基础设施提高容错能力
  • 云必须能够快速扩展以满足需求
    常见公有云服务商:
  • Amazon web services (AWS)
  • Azure
  • google(GCP)
  • 华为云,腾讯云,阿里云…
    私有云:
    组织可以使用openStack等工具在自己的数据中心搭建私有云。或者部分业务运行在
    一些企业的模式:
    私有云中,部分运行在公有云中

云分类

基础设施既服务(laas)

定义 :

  • IaaS 是云计算服务模式的最底层,它提供了基本的计算资源,如服务器、存储设备、网络设备等,以虚拟机或裸金属服务器的形式出租给用户。用户可以像使用自己的数据中心资源一样,在这些基础设施上安装操作系统、部署应用程序、配置网络等。
    示例 :
  • 亚马逊的 AWS EC2(Elastic Compute Cloud)是典型的 IaaS 服务。用户通过 AWS 控制台或 API,可以选择不同类型的 EC2 实例,这些实例具有不同的CPU、内存、存储等配置。例如,用户可以选择一个具有 2 个 vCPU、8GB 内存和 100GB 存储的实例来运行自己的 Web 服务器。另外,像微软 Azure 的虚拟机服务也是 IaaS 的一种,用户可以在 Azure 提供的虚拟机上构建自己的开发、测试或生产环境。

平台既服务(PAAS)

定义 :

  • PaaS 在 IaaS 的基础上,提供了一个完整的应用程序开发和运行平台。它包括操作系统、编程语言运行环境、数据库管理系统、中间件等,让开发者能够专注于应用程序的开发,而无需关心底层的基础设施。
    示例 :
    Heroku 是一款流行的 PaaS 产品。开发者可以使用多种编程语言(如Python、Ruby、Node.js 等)在 Heroku 平台上开发应用程序。Heroku 会自动处理应用程序的部署、运行环境的配置、扩展等工作。例如,开发者编写一个 Python的 Web 应用程序后,只需将代码推送到 Heroku 的仓库,Heroku 就会自动构建和部署该应用程序,并且根据应用程序的流量自动调整资源。另外,谷歌的 AppEngine 也是 PaaS 的代表,它支持 Java、Python 等多种语言,为开发者提供了便捷的应用开发和部署环境

软件既服务(SaaS)

定义 :
SaaS 是一种通过互联网提供软件应用服务的模式,用户无需在本地安装软件,而是通过浏览器或专用客户端访问云端的软件应用。软件的维护、升级、数据存储等工作都由 SaaS 提供商负责。

示例 :
Salesforce 是一款知名的 SaaS 产品,主要用于客户关系管理。企业用户可以通过浏览器访问 Salesforce 的应用程序,进行客户信息管理、销售机会跟踪、营销活动策划等业务操作。用户只需要一个账号和密码,就可以在任何有网络连接的地方使用该软件。另外,微软的 Office 365 也是 SaaS 的典型代表,用户可以在云端使用 Word、Excel、PowerPoint 等办公软件,并且可以实现多人协作编辑文档等功能,数据存储在云端,方便用户随时随地访问

总结

lass–>PAAS–>SaaS 这个过程其实就是递增的过程
lass只有最基础的服务器,PAAS就有了开发的环境之类的,而SaaS就几乎可以开箱即用了,和本地电脑类似

云架构

虚拟化

虚拟化将一台机器的资源分 成多台虚拟机器,多台裸机汇集形成的资源集群隔离资源的使用,灵活且可扩展资源池.抽象了硬件安装过程,但仍有改进空间(并非为云而生)

技术栈的灵活性和可定制性提升,导致容器出现容器允许开发 人员与堆栈各部分进行灵活交互,实现按需生成服务和网络抽象程度不断提高,方便应用迁移扩展,更加高效使用资源

云架构设计

组件选择
  • 确定架构(难改),选择绑定/非绑定组件(开发、开源、购买)
  • 云原生组件: 为分布式系统设计,CNCF认证(非必须)、安全编码、开源(部分)
  • laC:引导介质(Packer)、安装系统(Terraform)、 自动配置(Ansible)、 状态强制(Monit)
集成部署

使用持续集成和持续交付(CICD) 管道来构建环境,包括测试、测量和扫描代码更改的自动化测试和部署(GitOps)

弹性可靠

任何单点故障都有故障转移或其他机制,使业务可以持续提供(冗余),例如GSLB (智能DNS、GTM)解决客户单访问的单点故障隐患

平衡控制
  • 控制保护系统免受漏洞和内部攻击的组件,应平衡控制和可用性

云设计模式

云架构设计不必从头开始, 使用已检验的设计模式是最佳选择微服务架构

微服务架构
  • 松散耦合、 模块化服务而设计,微服务协同工作以完成整体服务每个服务都可以独立修改代码和重用,提高系统整体弹性和容错
    特点:
  • 大多数云利用微服务架构,云原生应用被构建充当微服务,便于水平扩展安全优势
  • 每个微服务应用强化、隔离,单一服务漏洞对整体系统影响小缺点
  • 调试更加复杂,需要跨不同服务跟踪事务;
  • 性能短板
零信任架构
  • 对资源的每个请求都需要验证来源已授权,然后授权短期访问(令牌)实现ZTA的一种常见方法是Open ID Connect (OIDC) 联盟访问
  • 授权处于活动状态时可以访问任何联合内服务
    常见攻击手段:
    密码重置是针对ZTA的常见攻击方式

安全控制

网络控制

传统架构使用防火墙实现网络控制,云环境网络抽象为SDN、SD WANSDN对不同的接口(如API或GUI) 设置网络规则

通过mTLS不仅流量加密,也对客户端进行身份验证,拥有证书才能访问微服务访问控制

不正确的访问管理可导致权限提升,甚至破坏整个基础设施

现代访问管理系统多使用令牌进行访问控制,提供对服务的短时访问权

JWT通常用于访问云端资源,伪造和破解密码是常见攻击手段

另一种类型的权限控制机制是强制访问控制MAC

身份管理

企业通常使用AD、LDAP进行身份管理

AWS IAM是身份和访问管理(IAM)的公共云服务

Google联盟认证OIDC经常用于2FA

云身份提供者(ldP)作为真实身份来源, 是更安全的解决方案(Azure AD)

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

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

相关文章

UniApp 应用、页面与组件的生命周期详解

UniApp 应用、页面与组件的生命周期详解 在uni-app中包含了 应用生命周期、页面生命周期、和组件生命周期&#xff08; Vue.js的&#xff09;函数。 应用生命周期 应用生命周期仅可在App.vue中监听&#xff0c;在其它页面监听无效。 <script>export default {onLaunc…

Optimism掀起发链热潮,还有哪些发链 平台值得关注?

继电子巨头索尼在OP上发布L2 Soneium之后&#xff0c;10月29日&#xff0c;再质押协议巨头Swell宣布迁移至Optimism超级链&#xff0c;通过OP Stack构建Rollup加入OP生态系统。据DeFilama数据显示&#xff0c;Swell的TVL最高曾超过30亿美元&#xff0c;目前为13.4亿美元&#x…

0. 0:《跟着小王学Python·新手》

《跟着小王学Python新手》系列 《跟着小王学Python》 是一套精心设计的Python学习教程&#xff0c;适合各个层次的学习者。本教程从基础语法入手&#xff0c;逐步深入到高级应用&#xff0c;以实例驱动的方式&#xff0c;帮助学习者逐步掌握Python的核心概念。通过开发游戏、构…

如何优化Kafka消费者的性能

要优化 Kafka 消费者性能&#xff0c;你可以考虑以下策略&#xff1a; 并行消费&#xff1a;通过增加消费者组中的消费者数量来并行处理更多的消息&#xff0c;从而提升消费速度。 批量消费&#xff1a;配置 fetch.min.bytes 和 fetch.max.wait.ms 参数来控制批量消费的大小和…

Golang | Leetcode Golang题解之第556题下一个更大元素III

题目&#xff1a; 题解&#xff1a; func nextGreaterElement(n int) int {x, cnt : n, 1for ; x > 10 && x/10%10 > x%10; x / 10 {cnt}x / 10if x 0 {return -1}targetDigit : x % 10x2, cnt2 : n, 0for ; x2%10 < targetDigit; x2 / 10 {cnt2}x x2%10 -…

AscendC从入门到精通系列(一)初步感知AscendC

1 什么是AscendC Ascend C是CANN针对算子开发场景推出的编程语言&#xff0c;原生支持C和C标准规范&#xff0c;兼具开发效率和运行性能。基于Ascend C编写的算子程序&#xff0c;通过编译器编译和运行时调度&#xff0c;运行在昇腾AI处理器上。使用Ascend C&#xff0c;开发者…

unity基础,点乘叉乘。

简单记录下点乘叉乘&#xff0c;要不每次用完就忘&#xff0c;忘了又查。 using System.Collections; using System.Collections.Generic; using UnityEngine;public class TestCrossDot : MonoBehaviour {/// <summary>/// 原点/// </summary>public Transform t…

AI写作(二)NLP:开启自然语言处理的奇妙之旅(2/10)

一、NLP 的基本概念与任务 &#xff08;一&#xff09;自然语言处理的研究对象 自然语言处理&#xff08;NLP&#xff09;处于计算机科学、人工智能和语言学的交叉领域。它所聚焦的人类社会语言信息是无比丰富和复杂的&#xff0c;包括口语、书面语等各种形式。这种语言信息在…

Windows 局域网IP扫描工具:IPScaner 轻量免安装

IPScaner是一款258KB的工具&#xff0c;具备快捷修改IP、批量扫描、地址计算等功能&#xff0c;自动识别本机IP网段&#xff0c;快速查看IP使用情况&#xff0c;适用于监控维护、企业IT运维等场 软件功能介绍&#xff1a; 1&#xff09;快捷修改本地IP、IP批量扫描、IP地址计算…

【3D Slicer】的小白入门使用指南二

3D Slicer中DICOM数据加载和三维可视化 任务 数据集下载和解压缩 加载和查看DICOM数据 1)将第一个数据集文件夹,整个往3Dslicer左侧拖动即可 得到 2)选中右侧patient 1就可显示出该患者的基本信息 (第二行蓝色是研究信息;第三行蓝色是序列信息)

在移动硬盘中创建vue项目 报错

如图所示&#xff0c;在U盘或者移动硬盘当中 创建vue项目&#xff0c;报错 如图所示&#xff0c; 这个问题与 Git 的安全设置有关&#xff0c;尤其是在跨用户或跨文件系统的环境下&#xff08;例如&#xff0c;移动硬盘或不同账户&#xff09;。Git 检测到当前项目的文件夹 的…

qt QDockWidget详解

1、概述 QDockWidget是Qt框架中的一个窗口部件&#xff0c;它提供了一个可停靠的面板&#xff0c;该面板可用于显示和编辑各种内容。QDockWidget可以在主窗口中创建并停靠在不同的位置&#xff0c;如左侧、右侧、顶部或底部。此外&#xff0c;QDockWidget还具备浮动功能&#…

Android 开发指南:初学者入门

Android 是全球最受欢迎的移动操作系统之一&#xff0c;为开发者提供了丰富的工具和资源来创建各种类型的应用程序。本文将为你提供一个全面的入门指南&#xff0c;帮助你从零开始学习 Android 开发。 目录 1. 了解 Android 平台[1]2. 设置开发环境[2]3. 学习基础知识[3]4. 创…

每日小练:Day2

1.乒乓球筐 题目链接&#xff1a;乒乓球筐__牛客网 题目描述&#xff1a; 这道题主要考察B盒是不是A盒的子集&#xff0c;我们可以通过哈希表来做 单哈希表 import java.util.Scanner;// 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main {public stat…

Java反序列化之CommonsCollections4、5、7 链的学习

一、前言 前面的文章中&#xff0c;基本把CC链的关键部分学习的差不多了&#xff0c;利用过程也是比较清晰了&#xff0c;接下来把 CommonsCollections 4、5、7 利用链学习下&#xff0c;扩展下思路 二、CommonsCollections4 利用链的学习 运行环境&#xff1a; java 1.8.0_71…

A030-基于Spring boot的公司资产网站设计与实现

&#x1f64a;作者简介&#xff1a;在校研究生&#xff0c;拥有计算机专业的研究生开发团队&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的网站项目。 代码可以查看文章末尾⬇️联系方式获取&#xff0c;记得注明来意哦~&#x1f339; 赠送计算机毕业设计600…

qt QVideoWidget详解

1. 概述 QVideoWidget是Qt框架中用于视频播放的控件。它继承自QWidget&#xff0c;并提供了与QMediaPlayer等多媒体播放类集成的功能。QVideoWidget可以嵌入到Qt应用程序的用户界面中&#xff0c;用于显示视频内容。它支持多种视频格式&#xff0c;并提供了基本的视频播放控制…

PG逻辑复制的REPLICA IDENTITY几种设置

前两天同事问了一个PG的错误&#xff0c;创建一张普通表&#xff0c;insert插入正常&#xff0c;但是执行update和delete时&#xff0c;提示这个错误&#xff0c; 代码语言&#xff1a;javascript 复制 SQL 错误 [55000]: ERROR: cannot delete from table "temp_tb&qu…

Flutter 小技巧之 Shader 实现酷炫的粒子动画

在之前的《不一样的思路实现炫酷 3D 翻页折叠动画》我们其实介绍过&#xff1a;如何使用 Shader 去实现一个 3D 的翻页效果&#xff0c;具体就是使用 Flutter 在 3.7 开始提供 Fragment Shader API &#xff0c;因为每个像素都会过 Fragment Shader &#xff0c;所以我们可以通…

<项目代码>YOLOv7 草莓叶片病害识别<目标检测>

YOLOv7是一种单阶段&#xff08;one-stage&#xff09;检测算法&#xff0c;它将目标检测问题转化为一个回归问题&#xff0c;能够在一次前向传播过程中同时完成目标的分类和定位任务。相较于两阶段检测算法&#xff08;如Faster R-CNN&#xff09;&#xff0c;YOLOv7具有更高的…