元计算比较

时间:2020-08-11 19:28:01   收藏:0   阅读:62

《写作是最好的投资》

我们有没有一个长期坚持的习惯,并且觉得这个习惯挺有价值的?

写作是利用碎片化时间的最好的方式。

写作是就是打造你个人品牌最好的方式之一。

职场,或者说当代社会,最重要的能力是表达能力。

因为在未来社会,最重要的资产是影响力。影响力怎么构成?有两个能力:第一是写作,第二是演讲。

会表达的人,是这个时代最大的红利收获者。

这年头,会说话的人很多,能写的人太少,不会写作的人,正在失去职场竞争力,无法冲破上升的天花板。

写作本身就是对写作者最好的回馈。至少对三方面有帮助:对世界更敏感,思维更缜密,认知更深刻。

写作时比追求新意更重要的,是诚实。

写作之难,在于把网状的思考,用树状结构,体现在线性展开的语句里。

经典句子

眼光看长远些,等承认内需和出口的确走不通的时候,房地产爆发期才会到。

愿风指引你的道路,愿星辰照亮你前进的方向。

你为一个人自愿地付出越多,不会让对方更依赖你,却会让你更舍不得离开对方。

永远盼着身边的人好。嫉妒不会让你的生活有丝毫改变,能祝福别人的人,才会有机会得到机遇和给予。

科学概念

单例模式

class Student(object):
	__instance = None
	def __new__(cls, name, age, sex):
		if not cls.__instance:
			cls.__instance = object.__new__(cls)
		return cls.__instance
		
class GlobalVars(object):
    """
    Singleton class GlobalVars to store and manage global variables.
    """

    _instance = None
    _var_dict = {}

    def __new__(cls, *args, **kw):
        """
        Ensure that when creating a new instance, it‘ll be the only
        instance. Otherwise return existing instance.

        :param args:
        :param kw:
        :return: cls._instance
        """

        if not cls._instance:
            cls._instance = super(GlobalVars, cls).__new__(cls, *args, **kw)
        return cls._instance

Python知识点

GIL

为什么GIL锁会影响多线程的性能?

因为在多线程的情况下,只有当线程获得了一个全局锁的时候,那么该线程的代码才能运行,而全局锁只有一个,所以使用python多线程,在同一时刻也只有一个线程在运行,因此在即使在多核的情况下也只能发挥出单核的性能。

正因为解释器锁的原因导致python的多线程说到底还是单线程,每个线程在执行的过程都需要先获取GIL,保证同一时刻只有一个线程可以执行代码。所以就算使用多线程,其实还是一个线程在工作,但是由于在在IO操作等可能会引起阻塞,会暂时释放GIL,执行完毕后,再重新获取GIL,所以在进行IO等操作时的运行速度还是要比单线程速度快。

但是在运行计算密集型的程序时,需要使用CPU进行大量的计算,但由于GIL锁的性质导致程序巡行中始终都是一个CPU进行计算,所以计算速度及其缓慢,运行此类的程序不推荐使用线程,有两种方式解决:

如何调度?

既然python在同一时刻下只能运行一个线程的代码,那线程之间是如何调度的呢?

  1. 对于有io操作的线程,当一个线程在做i/o操作的时候,因为i/o操作不需要cpu,所以,这个时候,python会释放python全局锁,这样其他需要运行的线程就会使用该锁。
  2. 对于计算密集型的线程,比如一个线程可能一直需要使用cpu做计算,那么python中会有一个执行指令的计数器,当一个线程执行了一定数量的指令时,该线程就会停止执行并让出当前的锁,这样其他的线程就可以执行代码了。 当然此处的线程切换不一定就一定会切换到其他线程执行,因为如果当前线程 优先级比较高的话,可能在让出锁以后,又继续获得锁,并优先执行。

全局解释器锁,什么时候释放?

  1. 在当前线程执行完成时释放
  2. 在当前线程执行超时后会自动释放
  3. 在当前线程执行堵塞操作时会自动释放

遇到IO等待会释放GIL。会有一个专门ticks进行计数,一旦ticks达到100时,这个时候释放GIL锁,线程之间开始竞争GIL锁。说明:ticks这个数值可以进行设置来延长或者缩减获得GIL锁的线程使用cpu的时间。

互斥锁和GIL锁的关系

Gil锁 : 保证同一时刻只有一个线程能使用到cpu。

互斥锁:多线程时,保证修改共享数据时进行有序的修改,不会产生数据修改混乱。

未加GIL锁存在的安全隐患(线程安全)

这把锁存在的必要,是因为CPython的内存管理不是线程安全的。对于同一个数据,线程1的处理是使用数据计算,垃圾回收线程的处理是进行回收。因为进行并发执行,存在恰好,线程1在处理数据前,进行了IO操作导致被垃圾回收线程夺取了解释器执行权,则等线程1再次获取权限执行的时候,数据已经被回收。

原因:

  1. 相同进程内的线程数据共享
  2. 当CPU处理资源遇到IO操作等会进行权限切换

总结

阿里云与华为云

业界主要玩家:阿里云、腾讯云、电信天翼云、AWS、华为云。

阿里占比第一,但华为云增长也很快。

性能

内存带宽上,华为云在Scale、Add以及Triad三项上,内存带宽表现基本上是其他两家的2倍。

华为在存储市场上是非常领先的,特别是企业全闪存领域。

云主机的内网性能中,腾讯云大幅度领先,位列第一 。

稳定性

各家的业务侧重并不一样。传统上,阿里云的主要客户为中小型的客户,特别是互联网客户;腾讯云的优势领域是游戏类客户;华为云更偏重大型政企类的业务关键型客户

这里面,阿里云的盘子比较大,爆出的问题也比较多。从去年到今年,已经出了不少问题。从SLA的公开承诺来说,这是合理的。但客观的说,一般选择阿里云的企业其实对这种不稳定性的容忍度比较高,毕竟业务规模和云计算负载还没有达到那么大的地步。

腾讯云的客户相对比较固定,只是去年爆出的管理员磁盘操作丢用户数据的事件,也是比较让人头疼。但近期没有看到太多出问题的报道。

华为云的基本盘是大客户,一般稳定性上的要求都比较高。相对来说,华为的产品线比较长,包括服务器、存储、网络等硬件产品方面都有芯片级自研能力和强势的市场地位,服务这类业务关键型客户的经验比较丰富,在稳定性上的考量一直比较多。也正因为此,很多大互联网厂商逐步开始往华为云上迁移,比方说新浪微博。今年华为云也在宣传微博依靠华为云,撑住了明星离婚。目前从公开的报道来看,华为云出现稳定性问题的概率相对小一些。

就成熟度、稳定性还是阿里云强很多,华为云上很多服务都不成熟,功能缺失,不过如果仅仅只是用IAAS层,我觉得区别倒是不大,但是如果要用到其他服务,比如CDN、OSS、大数据、DDOS等一些中间件服务,阿里要好用很多。

华为是IT领域的巨头,但在DT时代,阿里是走在前面的。

价格

从价格上来看,各家其实都差不多。因为IaaS这个产品属于市场上头部玩家之间必争之地,彼此价格战打的非常激烈。真的特别特别在意价格,腾讯云确实比较便宜。毕竟AMD实例的价格,也是低到潜水。如果愿意双十二期间蹲守各家活动,也都能从各家薅到超低价的羊毛,但这个还是看运气。

如果你是大客户,那外面的目录价都就都不用考虑了。毕竟,客户越大,话语权越高。

one more thing

上面说的所有公有云实例,都是基于X86架构。但实际上在业界,多元架构的计算服务正在成为共识,特别是基于ARM架构的云实例。

目前已经公开发布并提供服务的ARM云实例包括AWS的EC2 A1(基于Graviton处理器)和今年re:Invent上发布的EC2 M6g(基于Graviton 2处理器);华为云的KC1实例(基于华为鲲鹏920处理器);金山云的AC1实例(大概率是国产的飞腾处理器)。

从手里的一些评测来看,ARM实例的性能还是不错的(鲲鹏云服务器实战:华为云鲲鹏KC1实例 vs. 阿里云G5实例),特别是在高并发、数据库、大数据、HPC、手机测试、云手机、手机云游戏等场景上有天然的优势。考虑到国内很多大型政企和互联网巨头们都在推进ARM架构的应用,未来在云服务的技术选型上,基于ARM架构的公有云服务也会是很重要的选择之一。

客户评论

华为自研的多,阿里集成的多。

业内都知道阿里云底层是自研的神龙构架,华为云底层是OpenStack改的,华为投入十几个亿没搞出来自研,到底谁是小学生谁是博士,阿里不也有平头哥自研芯片吗,你吹华为好没必要踩其他厂家,腾讯的黑石服务器也挺强,华为云应该排名是第五吧,低于金山云这些,在网络交换机和边缘芯片上华为确实强,在云领域,华为还真是弟中弟,无论在技术成熟度上还是规模上。

openstack不是架构,只是一个虚拟化平台的管理工具,没人会说虚拟机运行在openstack上,实现云计算的基层是底层虚拟化,华为云用的是kvm-qemu软件,阿里云宣传的神龙架构就是将kvm-qemu硬件化,如果非要说亚马逊云、谷歌云、阿里使用kvm依旧属于自研阵营,你是否对华为太双标了呢。

主要都是数据安全性问题,稳定性和可持续发展的问题;华为和阿里巴巴的区别还是一个靠技术设施吃饭,一个是靠数据吃饭,那么对于中小企业的互联网公司如何选择不同的平台,简单来说就是站队。

阿里云可能更加的偏向于企业的服务器需求,但是华为云大多数是政府的服务器需求。

阿里云很早就开始了商业应用,而华为云要晚了几年。

就目前的水准和多年实际成功案例而言,阿里云领先华为云太多。阿里云是自研的,淘宝和天猫就是基于阿里云的,经受了多年实际业务的考验,每年双11的压力都被阿里云一次次都扛下来了。华为云基于开源项目OpenStack,其实也是借OpenStack开源、标准API的特点,来向大型国企和政府来推广,但目前成功案例不多。在同行评价里,阿里云口碑要好些。

趋势

基于安全性/保密性/法律法规等考虑,用户不可能将所有业务都放到公有云上,故用在本地部署私有云。

Cloud2.0时代,云计算开始向传统的企业和政府拓展,他们的需求、痛点更为复杂,也因此对云厂商的产品和服务能力提出了新的更高的要求:

简单的公有云无法满足它们的上云需求,混合云成为大势所趋。

华为优势:大中型政企在数字化转型过程中,华为本身就是做2B行业的,传统企业和政府是它的优势客群,它对这些客群的需求无比清楚。HCS

阿里云快速迭代、美其名曰敏捷式开发。

阿里专有云 vs HCS IaaS功能层面

内部聚合资源、外部聚合生态。

轻量化不足、产品化不足、运维工具化不足、需求落地难

业务中台:中间件产品线丰富,成熟度高;开源生态影响力好

数据中台:行业能力,工具集如数据治理、数据开发、AI模型

不承诺可跨版本平滑升级: HCS升级能力

起步厚重:管理服务资源起步成本高

华为基于私有云交付项目的持续积累、在线下场景的特性满足度上覆盖率更高,也有短板如LB/磁盘加密特性在规划中;阿里也会按需通过项目需求来推动来补齐;

飞天平台 vs HCS底座

IaaS服务:

计算/网络虚拟化:阿里后裔洛神 vs 华为OPS/瑶光

存储虚拟化:阿里盘古 vs 华为FusionStorage/Dorado

公私有云交付场景差异引起,核心在架构设计的标准化、规范化、模块解耦及架构稳定策略,华为在I层有优势,但面临阿里的快速追赶,需继续在I层领先并解决高阶产品化质量问题。

内核架构:针对华为云内核的开源选择,阿里的打击点是针对开源DFX劣势的大规模验证、商用成熟度,防守点是把开源强势的南北向开放兼容性作为自身专有云设计原则。这一点随华为对开源增强和现网叠代积累的成熟度增加,以及内部逐步闭源的策略,在逐步弱化;

混合云能力:当前主要是管理面多云集成,以及混合灾备。从更广的混合云视角,兼顾企业数字化的阶段性过程需考虑客户的业务平滑(BM->虚机->容器微服务的改造、可共存可改造),存量和演进(新老架构含虚拟化的升级、演进、共管),数据平滑(流动迁移)能力

阿里运维服务工具框架 vs ManageOne运维体系

?ManageOne在告警监控、故障定位方面相对有优势,尤其是在底座故障,后续引入高阶云服务也需要加强这方面的能力。

?面向专有云运维场面,阿里提供了相对完整的运维框架,并不强调远程连线运维。

?ManageOne在线服务能力缺失,尤其是移动服务能力缺失,后续建议考虑集成Welink。

阿里优势在于提供统一运维界面,基本覆盖单数据中心所需要的运维能力,对于多个region需要按region切换。ManageOne优势在于多region/多数据中心统一管理,多云监控、两级运维,弱势在于运维功能不全,急需补齐完整运维工具链条。

数据

阿里提供了针对各个行业的端到端大数据解决方案,不仅仅提供了各种能力的服务化,更是把这些服务化能力按照行业特点进行了补充和配合,形成了面向各个行业的端到端数据解决方案。用户使用这些解决方案,可以无盲死角的解决业务问题,充分体现阿里云的整体竞争力。

混合云主机容灾分析

对比项 阿里 华为
容灾能力 秒级RPO,分钟级RTO 持平
容灾管理 一键式切换,容灾编排,容灾可视化
自主可控 通过浪潮技术产品包装相关服务(自主化规划中) 全面自研

混合云安全分析

阿里云云盾,线下由数梦交付。

边缘计算

?物联网边缘计算:

是阿里云专门为物联网领域开发人员推出的产品,核心价值是将计算扩展至边缘,在离设备最近的位置执行计算,提供软件、硬件边缘接入网管,实现边缘节点(Linux,Windows)和应用(Docker 容器,本地应用)生命周期管理。为边缘应用提供SDK和云端服务。

生态运营

关键项目重点投入,占领制高点

最新发布的专有云敏捷版不容小觑。基于敏捷版,钉钉、云效下沉形成场景化方案面对中小市场,将会对我司存量市场形成巨大冲击。当前HCS混合云存量市场70%为中小规模局点,8.x版本目前无法很好覆盖。疫情加速国内政企数字化转型,HCS6.5.1需要持续演进,经营守护好这部分存量长尾用户。

为什么是VMware?

VMware与我司的混合云战略和站位更类似,即基于虚拟化和私有云存量客户的全栈混合。混合云在VMware业务中的占比持续增加(目前为12.5%),VMware 2019年混合云营收为108亿美元。

虚拟基础架构 -> 软件定义数据中心 -> 混合云平台

业务敏捷,业务创新,业务连续性是混合云三大关键场景,而成本是凌驾于三大关键场景之上的用户核心关切,是决定项目成败的关键。

部署生命周期管理:规格调整、部署删除、资源回收

网络可视化:混合云和多云环境下物理网络、虚拟网络和SD-WAN的可视化

自我介绍

华为云的基本盘是大客户,一般稳定性上的要求都比较高。相对来说,华为的产品线比较长,包括服务器、存储、网络等硬件产品方面都有芯片级自研能力和强势的市场地位,服务这类业务关键型客户的经验比较丰富,在稳定性上的考量一直比较多。也正因为此,很多大互联网厂商逐步开始往华为云上迁移,比方说新浪微博。今年华为云也在宣传微博依靠华为云,撑住了明星离婚。目前从公开的报道来看,华为云出现稳定性问题的概率相对小一些。

就成熟度、稳定性还是阿里云强很多,华为云上很多服务都不成熟,功能缺失,不过如果仅仅只是用IAAS层,我觉得区别倒是不大,但是如果要用到其他服务,比如CDN、OSS、大数据、DDOS等一些中间件服务,阿里要好用很多。

华为是IT领域的巨头,但在DT时代,阿里是走在前面的。

阿里云可能更加的偏向于企业的服务器需求,但是华为云大多数是政府的服务器需求。

原文:https://www.cnblogs.com/kelvinchiang/p/13478709.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!