总是后来居上,我曾经的偶像公司又火了 !

微软凭借在PC、云计算和AI领域的精准把握,实现了多次转型。从DOS到Windows,再到Azure云服务和AI投资,公司不断适应时代变化。CEO的角色至关重要,如纳德拉推动微软转向云优先战略,而背后的人才如RayOzzie和DavidCulter在云计算发展中起到关键作用。微软的成功也归功于其对优秀人才的吸引和投入,如CharlesSimonyi、AndersHejlsberg等。

1

有一家IT公司,在它成立40多年的历史上,非常幸运,非常罕见地踏中了三次浪潮。

这三次浪潮分别是PC、云计算和AI。

尤其是后两次,在十年的时间内连续踏上,实在是牛。

没错,这家公司就是微软。

3c5f480ce47129d17cdc83ab410c4895.png

PC时代,比尔·盖茨带领微软开发了DOS、Windows,Office,垄断了操作系统和办公软件市场。

在盖茨的带领下,微软持续辉煌了20多年,那个时候,微软和比尔·盖茨是我的偶像,我也抱着Visual Studio 混口饭吃。

90e54ad0e63694b14690999276ffe2a6.png

第二任CEO鲍尔默上台以后,守成有余,开拓不足,尤其在移动领域,收购诺基亚遭遇重大挫败,被认为是一家依赖个人电脑的公司、属于旧时代的公司。

就在大家都以为微软就此沉沦的时候,第三任CEO萨提亚·纳德拉力挽狂澜,拥抱开源,拥抱Linux,大力发展Azure云服务,收购Linkedin,GitHub,MineCraft......成功地从一家传统软件供应商转向到云计算,和开放生态领域。

2019年,微软10亿美元押注OpenAI,2022年底ChatGPT大爆发, 微软把AIGC的能力全面引入自己的各个产品,再一次站了浪潮之巅。 

微软员工第三次成为街上最靓的仔,幸福感满满。

仔细想想,微软在很多领域都不是先行者,DOS是购买的,Windows GUI是从Mac模仿的(都是从PARC的Alto来的),Word学的是WordStar,Excel学的是VisiCal,Lotus 1-2-3,PPT是买的。

云计算是亚马逊最先实现商业化的,AI很明显原来是Google做得最好。

感觉微软都是跟随者,但是跟着跟着就后来居上了,这个能力实在是太强了。

2

原来我认为卓越的CEO可以妙手回春,能拯救一个濒临危机的大公司。

比如苏妈(苏姿丰)担任AMD CEO之前,AMD一度陷入困境,苏妈上台后,把研发中心集中到高性能技术、GPU和数据中心等领域,推出了高性能的Zen架构,锁定对性能和价格敏感的中高端客户,从而赢得了大量用户的青睐。

再比如乔布斯1997年回归陷入严重财务危机的苹果,消减大部分产品线,坚持设计和创新,iMac、iPod、iPhone和iPad等具有革命性的产品。

还有“带着大象跳舞”的郭士纳,在1993年接手IBM时,他进行了一次大刀阔斧的改革,削减了成本,出售了不赚钱的业务,同时将公司重心转向了服务业和咨询业,使IBM成功转型。

但是如果把所有的功劳都放到CEO一个人身上,就忽略了在背后做出卓越贡献的优秀人物。

拿微软的云计算来说吧,很多媒体的报道都把聚光灯打到了纳德拉身上,似乎他一个人就调整了微软这条大船的航向,说转型就转型,说云计算优先,云计算就做起来了。

553a6c8ef2e6f1e93e06e713596314a0.png

实际上并不是这样,微软在云计算领域的成功还有两个至关重要的人物,一个是Ray Ozzie,另外一个是David Culter。

Ray Ozzie是Lotus Notes的创始人,现在听说过Lotus Notes的人不多了,这是一个非常厉害的企业级协作软件,1995年被IBM收购,很多世界500强企业都在使用。

23ee6a1dbb288311a2042a12404ac341.png

Ray Ozzie后来创立了Groove Networks,2005年被微软收购,他也进入微软成为了首席软件构架师。

Ray Ozzie是一位非常有远见的领导者,2005年10月28号,他写了一份长达7页的备忘录《互联网服务的中断》,全面阐述了他构建一个颠覆性平台的愿景。

他认为新平台将在互联网上复制 Microsoft Windows 操作系统、Office 套件和其他应用程序,因为Ray Ozzie认为,“很明显,如果我们不这样做,我们所知道的我们的业务就会面临风险……我们必须迅速而果断地做出反应。”

当时的CEO是鲍尔默,他是不同意这个想法的,因为软件服务化可能会蚕食微软的两大摇钱树Windows和Office,它们合计占了微软80%的收入。

最终鲍尔默被说服了,开始推进这个计划,这就是Microsoft Azure。

David Culter则是微软云操作系统的灵魂人物,他为Azure开发了虚拟机管理程序(Hypervisor),得益于以卡特勒在操作系统和硬件领域的深厚功力,微软的Hpervisor效率极高,开销非常低,这样就可以把硬件资源充分地划分给虚拟机。

2010年2月1日,Microsoft Azure正式上市,这时候鲍尔默还是CEO,也就是说,微软的云业务从鲍尔默时代已经开始了。

当2014年,纳德拉上台,他要求公司围绕移动优先和云优先的战略团结起来,而云优先的的要求迫使内部产品团队和外部合作伙伴在向企业销售时优先考虑 Azure。

这一策略获得了丰厚的回报,Azure迅速发展,可以和亚马逊AWS竞争,成为世界第二大云计算平台。

看了这个发展历程就知道,CEO纳德拉确实起到了重要的作用,但是鲍尔默,Ray Ozzie,David Culter以及其他工程师的贡献不容抹杀,没有他们打下的良好基础,纳德拉无论多么有远见,多么有洞察力,那也是“巧妇难为无米之炊。”

3

微软能屡次踏中时代浪潮,除了优秀CEO的英明领导之外,我想更重要的是背后大量优秀的人才。

除了前面说的Ray Ozzie和David Culter之外,这里我列举几个我比较熟悉的:

Charles Simonyi:1981年加入微软,主持开发了微软最赚钱的应用程序Word和Excel,著名的匈牙利命名法的作者。

3cbc80a433a8a51ec92da748933ae708.png

Anders Hejlsberg:“一个养活了四代程序员的男人”,在Borland开发了Turbo Pascal、Delphi,1996年被盖茨三顾茅庐请到微软,C#的首席架构师,TypeScript的发明人。

d44deb1e6a256f2aff966de7c9d8d4da.png

Erich Gamma : 《设计模式》作者之一,JUnit作者,Eclipse架构师,VS Code架构师,2011年从IBM跳槽到微软。

d0a330dd8cdbf8baaa001c7313a21822.png

James Gray : 数据库事务的开创者,1995年加入微软,1998年获得图灵奖

57e91374fb482328d370585cdba57ce6.png

Leslie B. Lamport:著名计算机科学家和数学家,LaTeX作者,因其在分布式系统方面的开创性工作而闻名,2013年获得图灵奖。

e3e44352d64a1e2df1f50d8a9df513c4.png

微软能聚集这么多人才,一方面自身吸引力很大,另一方面在挖人的时候向来是“不择手段”,不计成本。

1996年在挖Anders Hejlsberg的时候,微软第一次给他开了年薪百万美元(这可是90年代啊),Borland为了留住Anders,也进行了加码,微软又提出了两百万美金以上的条件,Borland 则提出了给Anders销售提成的方案。

最后Bill Gates亲自出马,找Anders吃饭,提出了年薪三百万美元以上,加数万股微软股票,并且答应“给Anders一个小组和极多的资源,让Anders尽情地发挥”,这才彻底打到了Anders的心底,Borland无法还价,只有眼睁睁看着Anders离开。

1995年在挖James Gray和戈登·贝尔的时候,在微软千方百计的说服下,James Gray终于同意为微软工作,但他们不喜欢西雅图冬季连绵不断的阴雨天气,比尔·盖茨说,这好办,就在硅谷为他们建立一个研究院。

4

微软1975年成立,快50岁了,曾经和它同时代的公司,与它竞争的产品,很多被边缘化,或者彻底消失,比如WordStar、VisiCalc、OS/2、Netscape、Sybase、Informix、Lotus、Sun、Novell、Borland、RealNetworks......

微软还能火多久呢?

<think>我们正在讨论UnionFS的分层叠加功能。根据用户提供的引用[1]和[2],我们可以这样理解: UnionFS(联合文件系统)的分层叠加功能是指将多个不同的目录(称为分支)以层次化的方式合并成一个统一的视图。每个分支可以是只读的或可读写的,UnionFS将这些分支叠加在一起,使得用户看到的是一个单一的文件系统。 具体来说: 1. **分层结构**:每个分支代表一个文件系统层。最底层的分支是基础层(通常是只读的),上面的层可以覆盖或修改下面层的内容。 2. **叠加规则**:当多个分支中有同名文件或目录时,上层分支的内容会覆盖下层分支的内容(类似于“后来居上”的规则)。 3. **写时复制(CoW)**:对于只读分支,当需要修改其中的文件时,UnionFS会将该文件复制到可写层(通常是最上层)再进行修改,从而保护底层只读分支的原始内容。 在Docker中,AUFS(Another UnionFS)就是UnionFS的一种实现,它被用来实现Docker镜像的分层存储: - 镜像的每一层对应一个只读的AUFS分支。 - 当启动容器时,Docker会在镜像层之上添加一个可写层(称为容器层)。 - 所有对容器的修改都发生在可写层,而不会影响底层的镜像。 这样设计的好处是: - 镜像层可以被多个容器共享,节省存储空间。 - 镜像层是只读的,保证了镜像的不可变性。 - 容器层的写操作通过写时复制(CoW)策略实现,高效且安全。 举例说明: 假设我们有一个基础镜像层(layer1)包含: ``` /file1 /dir1 /file2 ``` 然后我们在上面添加一个层(layer2),它修改了`/file1`并添加了一个`/file3`。那么叠加后的视图是: - `/file1` 来自 layer2(覆盖了layer1的同名文件) - `/dir1/file2` 来自 layer1(未被修改) - `/file3` 来自 layer2(新增文件) 当容器运行时,如果我们要修改`/dir1/file2`,AUFS会先将该文件从layer1复制到可写层(容器层),然后在可写层中修改。这样,底层镜像保持不变。 引用[1]中说明UnionFS支持将修改作为一次提交一层层叠加,而引用[2]则具体说明了AUFS的分支权限设置和分层增量修改。 因此,UnionFS的分层叠加功能为Docker提供了高效的镜像管理和容器运行机制。 相关问题: 1. UnionFS在Docker中具体是如何实现镜像层的共享的? 2. 除了AUFS,Docker还支持哪些联合文件系统? 3. 写时复制(CoW)策略在UnionFS中是如何工作的?</think>UnionFS 的文件系统分层叠加功能是其核心创新,它通过独特的目录合并机制实现文件系统的"透明叠加"。让我们逐步解析其工作原理和实际应用: ### 一、分层叠加的核心机制 1. **目录合并原理** UnionFS 将多个独立的目录(称为**分支**)合并为单一视图: ```mermaid graph LR A[分支1:只读层] --> C[虚拟文件系统] B[分支2:可写层] --> C ``` - **只读分支**:通常包含基础系统文件(如操作系统库) - **可写分支**:存放用户修改(位于最上层) - **虚拟视图**:用户看到的是所有分支合并后的统一目录结构[^1] 2. **文件访问规则(覆盖优先级)** $$ \text{文件显示} = \begin{cases} \text{最上层文件} & \text{若存在同名文件} \\ \text{下层文件} & \text{若上层无此文件} \end{cases} $$ 例如: - 分支1有 `/app/config.cfg` - 分支2新增 `/app/config.cfg` → 用户看到的是分支2的文件(上层覆盖下层) ### 二、写时复制(CoW)机制 当修改只读层文件时触发**写时复制**: ```mermaid sequenceDiagram 用户->>UnionFS: 请求修改只读层文件 UnionFS->>可写层: 复制该文件到最上层 UnionFS->>用户: 重定向修改到副本 ``` - **原始文件**:保留在只读层不变 - **修改副本**:存储在最上层可写分支 - **优势**:保护基础镜像完整性 + 节省存储空间[^2] > 示例:容器中修改 `/etc/nginx.conf` > 实际发生: > 1. 将只读镜像层的文件复制到容器可写层 > 2. 所有修改作用于可写层副本 > 3. 原始镜像文件保持未污染状态 ### 三、在Docker中的具体实现 以AUFS(Docker早期默认驱动)为例: ```bash # 查看容器分层结构 $ docker inspect nginx | grep MergedDir "MergedDir": "/var/lib/docker/aufs/mnt/3ac4...e1b" ``` 实际存储结构: ``` /var/lib/docker/aufs/ ├── diff/ # 各层差异文件 │ ├── layer1/ # 基础层 (只读) │ ├── layer2/ # 软件层 (只读) │ └── container-id/ # 容器层 (可写) └── mnt/ # 合并后的视图 ``` - **启动容器时**:AUFS 将 `diff/` 下的所有层按顺序挂载到 `mnt/` - **用户视角**:在 `mnt/container-id` 看到的是所有层的统一视图 ### 四、分层叠加的关键优势 | 特性 | 技术原理 | 实际效益 | |---------------------|----------------------------|----------------------------| | **存储复用** | 相同层被多个容器共享 | 节省90%磁盘空间[^2] | | **快速启动** | 只需加载差异层 | 容器秒级启动 | | **版本追溯** | 每层对应Dockerfile一条指令 | 精确追踪文件变更历史 | | **安全隔离** | 只读层不可篡改 | 防止基础镜像被意外破坏 | > 典型案例:当100个容器基于同一Python镜像运行时,宿主机只需存储**1份Python层** + **100份可写层**,而非100份完整系统拷贝。 ### 五、与其他技术的对比 ```mermaid pie title 文件修改效率对比 “UnionFS写时复制” : 65 “完整文件复制” : 25 “直接修改原始文件” : 10 ``` - **传统复制**:修改文件需复制整个目录(高磁盘开销) - **直接修改**:破坏原始文件(不安全) - **UnionFS**:仅复制被修改文件(高效+安全) ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值