阿里云高级解决方案架构师 杨旭

世界最大混合云的总架构师,4年前,开始作为双11阿里云技术负责人,负责搭建全球最大的混合云结构,把 “双11”的电商业务和技术场景在阿里云上实现,并保障这个混合云在双11当天能够满足全球客户的购物需求。

正文:

随着IT技术的发展,特别是serverless概念被提出以后,网络上出现了很多唱衰虚拟化以及对未来虚拟化方向的讨论,很多文章都做了vm和容器的对比,任何一种技术存在都有其合理性,我们不妨客观分析两种技术的特点选择适合自己业务的,才是最重要的,开始之前先再简单介绍下两种。

技术的定义:

所谓虚拟机(VM)就是对操作系统的完全模拟,虚拟机是架构在虚拟化指令之上,需要特定的硬件、软件同时的支持,,每台虚拟机会预分配需要的资源,包括CPU,内存,磁盘等,以及一个完整的用户操作系统
容器就是隔离一个运行环境,每个封装好的隔离环境我们就称为一个容器,容器包含应用以及其运行的依赖包,容器之间大家互相共享内核,所有的容器在宿主机操作系统中以分离的进程运行。

1

图片来自网络

从图上可以看出容器和虚拟机最大的区别就是容器没有Hypervisor这一层,每个容器和宿主机共享资源,主要为了解决了传统Hypervisor带来的性能开销;反之,虚拟化创造的是更加隔离的环境,每个虚拟机有独立的guest os,大家各自封闭运行,所有应用程序跑在虚拟机内部,不会因为某个虚拟机内部应用程序
的漏洞给宿主机造成危害,虚拟化技术是在硬件资源层面的虚拟,容器技术则是对应操作系统的进程层面,下面从几个方面做进一步对比:
15_36_48__08_08_2018

容器技术之所以火的原因笔者总结主要有三个:

1.传统IT诉求的演进

随着资源利用率,设备可维护性等问题的解决,人们对于资源的关注从基础iaas层开始向上发展,特别是微服务等概念的提出,大家都从一个大而全的应用演变成希望一个应用就只完成某个特定的功能,,更希望今天我们的开发是开箱即得,按需索取,并且 “build once,run everywhere,彻底解决应用的部署,分发,可用性,可运维性,监控等问题运维等问题,特别是线上线下的兼容性,我相信很多开发都遇到测试环境调通一到线上就挂的囧境,为什么—环境不一致导致,今天容器又天然就和微服务的理念是match的。

DevOps最佳实践

运维这个职位是个吃力不讨好的高危行业,干对了你是应该了,干错了第一个责任人就是你,运维本身不像研发没有实际产出,不出问题的时候大家不会感觉到你的存在,所以作为运维的职业如何在公司快速发展的业务过程中找到自我价值和定位是很多运维人在探索的方向,google最早对运维进行了重新定义,提出SRE的概念,并且结合devops在实际工作中的落地,取得了很好的效果,阿里在这条路上也进行了探索,并且觉得docker是最佳的落地方式,今天阿里也在做大规模的docker化,今天做docker化是为了解决我们环境不一致问题,提升我们的开发和发布效率,在阿里内部,docker和虚拟化根据各自处理场景的不通相互融合的非常好。

2

最底层的ECS服务可以是多种介质的异构,传统的kvm,最新的神龙裸金属服务器,GPU,FPA方案,上层可以直接对用户提供VM,也可以是容器,所以的容器服务都基于ECS来构建,最顶层的业务平台根据自身需求可以通过k8来进行容器的定义也可以通过paas平台直接调用api进行虚拟资源的弹性伸缩。

对性能的要求

传统部署在物理机上的高IO业务有服务化需求之后自然想到的就是docker+物理机,例如数据库服务,在未经优化的情况下,在虚拟机化上跑I/O业务性能将受损失。经过可靠的测试虚拟化对于物理硬件的损耗在优化的情况下也要有5%左右。

未来大部分业务系统将会变成虚拟机+Docker形式的组合,操作系统和Docker本身采用虚拟机镜像方式部署,软件、业务依赖组件,业务定义等与业务相关属性采用容器镜像,既实现安全隔离有提升资源的高利用率。
3

当然我们需要去优化和解决虚拟化以及容器带来的性能损耗,阿里云在裸金属服务器上的探索通过将虚拟化逻辑offload到神龙的MOC卡中,通过专有硬件方案来解决虚拟化的损耗,这样物理机本身的性能就和普通PC无异,完全给到业务使用,基于裸金属的方案可以跑anystack的方案,可以支持xen,kvm,vmware等,在阿里内部,已经开源的pouch通过内部大量场景的优化加上基于神龙的底座方案可以将整个三层的损耗做到<3%,让我们既做到了服务化又不损失性能。

【往期回顾】
1.阿里云王牌架构师一问开发者:我需要一个高并发的架构,我的系统要改造成微服务吗
https://yq.aliyun.com/articles/623271?spm=a2c4e.11155435.0.0.120433122PgFrW

2.阿里云王牌架构师杨曦:也谈系统缓存设计误区及高阶使用技巧
https://yq.aliyun.com/articles/624061

3.阿里云王牌架构师杨曦:N多环境N多应用个性配置管理如何从混乱到简单?
https://yq.aliyun.com/articles/623882

更多干货内容尽在阿里云总监课,戳链接报名:https://yq.aliyun.com/promotion/689

阿里云总监系列课重磅上线!聚焦人工智能、弹性计算、数据库等热门领域,首次集齐12位阿里云技术高管,耗时半年精心打磨,从理论到实践倾囊相授,从零开始绘制技术大牛成长路径,限时直播课程免费报名中!

_

阿里云王牌架构师二问开发者:容器和虚拟化你会怎么选?相关推荐

  1. 阿里云王牌架构师一问开发者:我需要一个高并发的架构,我的系统要改造成微服务吗

    阿里云高级解决方案架构师 杨旭 世界最大混合云的总架构师,4年前,开始作为双11阿里云技术负责人,负责搭建全球最大的混合云结构,把 "双11"的电商业务和技术场景在阿里云上实现,并 ...

  2. 阿里云王牌架构师一问开发者:系统要改造成微服务吗

    阿里云高级解决方案架构师 杨旭 世界最大混合云的总架构师,4年前,开始作为双11阿里云技术负责人,负责搭建全球最大的混合云结构,把 "双11"的电商业务和技术场景在阿里云上实现,并 ...

  3. 阿里云王牌架构师一问开发者:我需要一个高并发的架构,系统要改造成微服务吗

    摘要: 最近大家都在谈微服务,随着越来越多的在线业务需要提供更大并发的scale-up 和 scale out能力,微服务确实提供了比较好分布式服务的解决方案. 阿里云高级解决方案架构师 杨旭 世界最 ...

  4. 阿里云王牌架构师杨曦:也谈系统缓存设计误区及高阶使用技巧

    阿里云高级解决方案架构师 杨旭 世界最大混合云的总架构师,4年前,开始作为双11阿里云技术负责人,负责搭建全球最大的混合云结构,把 "双11"的电商业务和技术场景在阿里云上实现,并 ...

  5. 阿里云王牌架构师杨曦:N多环境N多应用个性配置管理如何从混乱到简单?

    摘要: 众多项目研发过程中为了调试观察应用运行时表现,修改常量配置的场景下往往需要频繁地对应用代码及配置项做打包发布进行应用版本更新甚至回滚代码.基于该场景,任何的应用配置项变更都需要将整个应用重新打 ...

  6. 阿里云首席架构师唐洪:拥抱开源的云端更具生命力

    近日, 国际开源界顶级会议LC3(LinuxCon + ContainerCon + CloudOpen)首次在国内举行,阿里云首席架构师唐洪作为特邀嘉宾出席并发表主题演讲.唐洪首先从一组数字开始,回 ...

  7. 阿里云首席架构师解读开源和云端结合的三大优势

    本文讲的是阿里云首席架构师解读开源和云端结合的三大优势[IT168 云计算]6月20日,在LC3(LinuxCon+ContainerCon+CloudOpen)2017中国大会,在阿里云被宣布成为是 ...

  8. 阿里云解决方案架构师张平:云原生数字化安全生产的体系建设

    2022 年 6 月 17 日,阿里云用户组(AUG)第七期活动在合肥举办.活动现场,具有十多年安全生产经验的阿里云云原生团队解决方案架构师张平,向参会企业代表分享了阿里云安全生产的产品和服务体系.本 ...

  9. 【阿里云原生架构】二、云原生架构的原则和模式

    一.云原生架构原则 云原生架构本身作为一种架构,也有若干架构原则作为应用架构的核心架构控制面,通过遵从这些架构原则可以让技术主管和架构师在做技术选择时不会出现大的偏差. 1.1 服务化原则 当代码规模 ...

最新文章

  1. python中哪里用到缩进_Python编程常见十大错误
  2. ubuntu安装时N卡黑屏处理
  3. C# ListView添加DragDrop
  4. Error:Execution failed for task ':dexDebug'
  5. Jackson第二篇【从JSON字符串中取值】
  6. 终于有人把ROS机器人操作系统讲明白了
  7. SpringBoot脚手架工程快速搭建
  8. 分布式架构中常见理论以及如何才能设计出高可用的分布式架构?
  9. Redhat Enterprise Linux 5系统引导故障解决方法
  10. Linux 之 NTP 服务 服务器
  11. 2017.07.16小组赛题目I
  12. linux下重启tomcat,日志查看
  13. 七 代码检查工具安装
  14. 使用SDK Manager给TX2刷机且安装OpenCV3.4.0、CUDNN7.6.5、Pytorch、Miniforge(含百度云安装包)
  15. 搜索引擎duckduckgo
  16. 深圳学校积分计算机,深圳市龙岗区小学积分入学排行榜
  17. 解决tomcat启动-Skipping unneeded JARs during scanning can improve startup time and JSP compilation time
  18. WORDPRESS 网站打不开 error establishing a database connection 、is marked as crashed and should be repa
  19. tableViewcell 闪动
  20. 协处理器CP15介绍—MCR/MRC指令(6)

热门文章

  1. 文档服务器sos,Cliosoft SOS 使用手册
  2. mysql sql查询昨天的数据_sql语句,查询昨天的数据
  3. wireshark分析tcp协议(二)四次挥手(异常情况)【理论 + 实操】
  4. 武铁机械电子工程_机械电子工程
  5. 细数那些最令人难忘的电视剧
  6. 检查计算机电源,如何检测电脑电源的状况
  7. kali ifconfig没有wlan0的解决方法
  8. FVCOM三维水动力、水交换、溢油物质扩散及输运数值模拟丨FVCOM模型流域、海洋水环境数值模拟方法
  9. 阿里巴巴收购中天微,中国“芯”指日可待!
  10. 水生植物(挺水、沉水、浮叶、漂浮植物)