云上运维架构
科普类、闲扯类......
1、何为云?作为一个小白对云的理解,刚入职的外包中心经历和面试经历
2、运维的工作:拉网线、搬服务器、换硬盘、配置环境......
一、云计算的概念
1、几个阶段
2、什么是云计算
云计算的概念是由多个概念组合而成
如果不特殊提,都是公有云
2.1、云计算的运作模式:
云计算并不是新技术,只是运作模式区别于传统的IDC的IT模式。
传统:采购 ---> 机器安装配置 ---> 机器上架 ---> 机器后期机房托管,配置网络 ---> 安装环境 ---> 开发完交给运维部署。
云:web界面简易操作即可完成各种资源操作。
混合云:公有云 + 私有云
2.2、云计算的基石:
现在经常听人说“我的东西都存在云上”,这句话对吗?
也对,也不对。对:东西存在服务器上,如果服务器出在云环境里,那就对,如果服务器比较孤立就不对。而且,云 ≠ 服务器,云除了服务器之外还有其余资源、计算等等。E生活现在的系统算是部署在云环境里吗?算,不是很成熟的私有云
成熟的基建(一堆机器、网络、存储、虚拟化) + 便捷的资源获取与计算 + 平台化的资源管理系统
2.3、云计算的特点:
稳定性、弹性扩展、安全性、成本、易用性。
2.4、常见的例子:
很多时候我们都是无感知使用云,公司是混合云的方案,所以其余的云上资源用的少
1、OSS
2、搭建云上私有网络,比如:斑马与华为云相通
3、磁盘扩容,比如ECS磁盘扩容
4、安装负载均衡,比如配置负载均衡
5、安装mongodb、mysql、redis等
6、安装K8S等
二、云平台的选择
没有永不宕机的云,没有,绝对没有......
阿里云
上云就上阿里云,NO1
腾讯云
游戏、社交业务,17年一分钱中标政务云
华为云
公有云起步晚,私有云起步早,三大运营商的云基本是华为的,私有化优势
百度云
主要以AI为主,《最强大脑》、李彦宏的自动驾驶
三、云产品的选型
1、云产品的主要分类:
云计算基础、大数据、安全、企业应用、物联网、人工智能、开发者服务
2、企业主要的云产品:
ECS云服务器、RDS关系型数据库、SLB负载均衡、OSS对象存储服务、VPC私有网络、PASS层产品(中间件、容器......)、大数据、人工智能
四、常用系统技术选型
1、云端网络VPC&VPN
VPC虚拟私有云,VPC为云服务器、云容器、云数据库等资源构建隔离的、用户自主配置和管理的虚拟网络环境,提升用户云上资源的安全性,简化用户的网络部署。
2、云端负载均衡
1、SLB
2、SNAT
3、弹性公网IP
3、云端数据库
数据备份、安全、稳定、扩容
4、云端存储
1、云盘
2、NFS
3、对象存储:OSS、OBS
五、云端实践
1、PV、UV概念
PV:Page View的简写,一般指一天内页面访问次数,每打开或刷新一次页面,就算作一个PV
UV:Unique Visitor的简写,一般指一天内访问站点的用户数
2、CPU、内存配比
1、如何根据访问量计算出合适的资源需求?
需要将业务指标转换成技术指标,才能做好机器资源规划
2、“一个500万PV的网站,大概需要用多少台服务器?”
每秒请求数:500万 / 24 / 60 / 60 = 57 个?
一天中80%的业务请求量发生在40%的时间内
(500万 * 0.8) / (24 * 60 * 60 * 0.4) = 115.7 个
偶尔还有高峰、和低谷,高峰可能是2倍或者3倍
115.7 * 2 = 231.4 个
如果一台服务器每秒能处理347以上的请求就可以抗住500万的PV,本机mac基本每秒能处理200~250请求
3、IP转换成PV量
IP量 / 活跃用户量 * 5
4、用户数转换出并发用户数
用户数 * 0.2 = 活跃用户数
活跃用户数 * 0.2 = 在线用户数
在线用户数 * 0.2 = 并发用户数 ≈ 每秒请求数
5、根据PV量选择机器
6、CPU和内存资源配比:
根据监控数据显示,互联网企业的服务器CPU利用率平均在10% ~ 20%之间,磁盘空间利用率在20% ~ 30%,在云端,80%的企业存在计算资源和存储资源限制浪费的现象
一般云服务器的CPU和内存资源配比在:1:1、1:2、1:4、1:8
- CPU与内存资源配比:1:1
个人网站、小官网 - CPU与内存资源配比:1:2
黄金比例
部署应用,比如tomcat,单进程多线程,一般2C4G,4C8G,不适合跑高配机器,如果是高配机器,不能跑满服务器性能,就部署多个tomcat
nginx,php ...... - CPU与内存资源配比:1:4
适合部署数据库,比如2C8G,4C16G,8C32G - CPU与内存资源配比:1:8
适合部署分布式缓存,比如Redis,Memcache,比如2C16G
redis单进程单线程模式,对多核利用不太好。如果部署8C16G就浪费了。
3、带宽估算
宽带选择的8 / 2原则,
在云端带宽配置的选择中,80%默认选择按量带宽,也能应对突发流量,最佳实践,
20%选择固定宽带。如果每天的下行流量合计费用超过按量的平均费用,才使用固定宽带。
1、宽带计算
假设每个请求平均返回的数据是20KB
231.4个请求 * 20KB / s = 4628KB/s = 37024bps/s = 37Mbps
4、云主机
不需要与真机比性能,按需索取、低成本、灵活管理、扩展能力
1、按量付费、包年包月
2、云的技术本质优势:
传统的物理机环境强调的是单一系统的纵向扩展能力,即IOE架构的硬件。随着互联网的发展,传统物理机下的技术架构很难再支撑业务发展。云计算的出现,解决了多系统的横向扩展能力,通过添加大量的廉价云主机来满足业务发展。
3、混合云发挥最大优势:
比如在红米手机的秒杀活动中,会瞬间开始200台机器且持续2个小时来应对,然而IT资源才消耗了600元
5、云端运维
5.1、运维网络
混合云
5.2、运维的发展阶段
1、人工阶段
7 * 24背着笔记本的IT民工
搬服务器、网络部署、机器上架、重启机器、更换硬盘、更换内存、解决硬件故障、环境配置、安全、故障处理、发布上线
2、脚本及工具阶段
脚本解决大量重复的工作,python、shell。
Python已成为云端通过脚本进行自动化运维的标准,Ansible无疑也已成为云端通过工具自动化运维的标准。
3、DevOps阶段
什么是DevOps?什么叫容器编排?什么叫云计算?
敏捷开发的出现。
DevOps的出现是为了解决软件软件开发人员和IT运维技术人员之间的沟通协作问题,以使得构建、测试、发布软件能够更加快速、频繁和可靠,提升业务快速集成和交付。
运维自动化主要解决资源集中管理方面的问题。运维只是帮助把基础建设做好,其余的可以完全交由开发人员自己玩儿。
4、平台化阶段
通过图形化界面快速处理机器,比如咱们的“布加迪”
5、智能化阶段-AIOps
AI = 大量数据训练 + 算法
需要大量的千奇百怪的故障出现,对故障的历史数据进行场景分类和标注,不断用模式识别和数据来训练机器识别和分析,然后让机器自动准确判断。
AIOps的核心在于AI算法在运维领域的运用,但是目前市面上类似的成熟解决方案和产品少之又少,还处于概念期。