(尧飘海:网易蜂巢首席架构师,负责容器云计算平台建设。曾负责过网易博客、游戏、易信,开源项目Pomelo研发工作,热爱开源和技术交流。)

到2016年,云计算发展已有十个年头。

十年前,亚马逊点燃了一场颠覆传统软件服务业的云计算革命。而后的十年间,中外互联网巨头倾巢出动,大大小小的新兴云服务商合纵连横,传统IT系、电信运营商系也迅速向云计算市场转型。等到2015年底网易蜂巢正式推出时,国内云服务市场已是一副比肩继踵、人头攒动的景象。

面对竞争,网易蜂巢选择了一个新的起点,基于Kubernetes和Docker技术打造了容器云,用不到一年的时间,凭借其开发效率高、迭代快、持续集成等优势,在云服务红海中杀出一条“血路”。

近日,开源中国有幸采访了网易蜂巢的首席架构师尧飘海,听他分享容器云对整个云服务现状带来的变化,以及从普通程序员到架构师的成长之路。

基于Kubernetes + Docker是“云时代”对效率的极致追求

常言道,“唯快不破”是互联网业务崛起的法门,这就要求产品能够跟上业务爆发的节奏,故而对于支持互联网业务的云计算平台而言,保证产品快速迭代落地和永远在线是其基本特性之一。

但事实上,传统云计算的开发和线上环境不一致,导致开发和运维之间的矛盾,并直接放慢了产品的迭代效率。在这样的行业大背景下,容器云服务于2013年兴起,是以容器为资源分割和调度的基本单位,封装整个软件运行时环境,为开发者和系统管理员提供用于构建、发布和运行的分布式应用平台。

在被问及Docker对整个云环境的变化时,尧飘海认为,从传统的私有云,到公有云、再到容器化的云,容器对于云计算的改变主要表现在效率的提升上,可以说容器云体现了“云时代”对效率的极致追求。

Docker出现之前,大多是静态环境的配置管理, 而Docker是一个完整的软件运行环境,打包了操作系统、库、运行时环境、业务代码,这使得容器作为一个整体一旦构建完成后可随处运行,这意味着运行环境也可以做到版本化,开发效率、迭代速度和扩展性得到了很大的提高。

当然,容器只能保证环境的一致性,跨云部署是其基本的能力,随着业务和架构的发展,更多的工作在于如何保证很好地协调大规模容器来满足业务的架构需求,也就是容器的编排服务,这是真正考验和体现应用弹性、DevOps能力的关键所在,也是提高生产效率的关键依赖路径。而Google基于自身生产经验和社区实践打造的Kubernetes,针对容器编排服务做了很好的框架性设计,能够与Docker组成先进的容器云平台,实现对极致效率的承诺。

云端之战的一匹黑马

也许正是因为解决了传统云计算效率上存在的问题,以Docker、Kubernetes为代表的容器技术很快形成一股新的热浪,并在IaaS、PaaS、SaaS之外衍生出的新型云服务类型CaaS(Container as a Service),席卷了整个云计算行业。包括亚马逊、红帽、IBM和 VMware 在内的云计算巨头无不加入了容器的行列,也掀开了容器云服务的序幕。

与之同时,国内也出现了大批容器云服务商。作为网易云云计算基础服务能力的对外输出,网易蜂巢另辟蹊径,设计了很多差异化的功能。以一匹“黑马”的姿态,杀出重围。

据尧飘海介绍,网易蜂巢提出了自助运维的概念,通过快速故障诊断和弹性伸缩等服务,来提高开发效率。

举个例子来说, 在容器云的开发环境下,开发人员可以通过编写程序控制镜像构建,开发、测试及运行都基于相同的Docker容器镜像,从而不再局限于Web应用类程序,也避免了环境不一致带来的各种折腾,开发效率可以带来极大的提高。

和亚马逊、阿里云这些云服务巨头一样,网易蜂巢容器云平台并非一开始就对外输出,而是先通过了很长时间的内部考验。

据尧飘海回忆,网易正式推出基于Node.js架构的Pomelo之前,2013年12月份的时候,就开始将一些容器技术运用在公司内部的一个千万级消息推送的平台。而到2014年12月份的时候,网易95%以上的互联网产品都已经运行在容器云上。

尧飘海认为,网易是网易蜂巢的第一个客户。在内部两年多的生产实践中走过的弯路是一笔丰富的宝藏,“规避掉我们曾经踩过的那些坑,在试错的过程后提供一个好的产品”。

从程序员到架构师:交流和分享最能让技术人进步

一路走来,从程序员到架构师,尧飘海感受着两个方面的转变:当程序员的时候,就是两耳不闻窗外事地完成任务,成为架构师后,要开始关注产品对于用户的价值;当程序员会因为写出完美的代码而产生满足感,成为架构师,就会因为产品为用户解决问题而带来满足感。

这个转变过程中,让他感受最深、帮助最大的就是交流和分享,无论是与客户,还是和同行。这种交流和分享是最能让技术人进步的。

在“分享”这件事情上,网易的技术团队已明确为其工作的部分职责,内部还设定了三个阶段:第一阶段是每周的内部分享、团队分享;第二个阶段是公司层面,有些人会成为讲师,在整个公司范围为大家做分享;第三个是参加外部会议。他鼓励团队成员循序渐进的分享,从第一阶段到第三阶段。

尧飘海认为,“交流和分享对于技术人员的改变和提升是很大的,它提供了一种‘社交属性’,技术人员将会直接面对用户、友商或是类似开源中国这样的平台。在我们自己的技术推广出去的同时,得到多维度的信息和感受,吸收一些好的想法和建议。对每一个讲师来说,对外分享的过程对于自身和团队都会产生巨大的积极影响,或是思路更加清晰,或是信心更加充沛。同时和用户交流过后,团队的眼界也会得到提升。”

开源是更“高级”的技术分享

开源的本质其实是分享,而且对于技术人而言,开源的益处更大。

尧飘海告诉我们,网易对于开源的支持,主要来自两个层面:第一种就是开源网易自主创新的项目、解决方案,类似2013年Pomelo这个开源项目,迄今为止都还有很多人在运用。

此外,因为网易本身很多的内容都是基于开源软件去构建的,所以逐步的内部组建了开源小组,在Github上和OSChina上都有贡献和维护,持续开源一些修改或是补丁。

“在开源过程中,我们几乎拿出完全透明的技术原理和实现方案成果,在社区或者平台进行交流,总是能带来新的想法和碰撞,非常有意思” ,尧飘海总结道。

专访|从程序员到架构师:交流和分享最能让技术人进步相关推荐

  1. 程序员晋升架构师的十项必备技能

    1.卓越的程序员 Fred George先生说:"不编程的架构师的职业生涯是短暂的".他说这句话的背景主要是针对有些架构师的设计与实现有断层的问题而言的,因为如果架构师不去实践,只 ...

  2. 软件架构设计(第2版)——程序员向架构师转型必备

    软件架构设计(第2版)--程序员向架构师转型必备 温昱 著 ISBN 978-7-121-17087-4 2012年7月出版 定价:39.00元 16开 256页 宣传语:本书内容务实.技能梳理清晰, ...

  3. 阿里内部从初级程序员到架构师学习路线+配套学习资源

    阿里巴巴终于公开了从初级程序员到架构师的学习路线图,这里相对应的基本上就是从P5到P8的晋升体系!今天将会带着大家从初级程序员开始一点点分享整个晋升体系! 职级:初级程序员 薪资: 6-12K 开发年 ...

  4. 从程序员到架构师的最佳技术成长之路

    我把程序员到架构师的技术成长之路分为几个典型的阶段:工程师 - 高级工程师 - 技术专家 - 初级架构师 - 中级架构师 - 高级架构师,总的成长原则是每个阶段都需要"积累经验.拓宽视野.深 ...

  5. 程序员进阶架构师路线

    作者简介:曾任职于阿里巴巴,每日优鲜等互联网公司,任技术总监,15年电商互联网经历. 下面是作者根据自己15年的互联网电商经验总结的,Java程序员进阶架构师的路线图,希望对初入职场的同学和对自己技术 ...

  6. 程序员到架构师,其实没那么难!

    程序员到架构师,其实很简单 很多人做java开发2,3年后,都会感觉自己遇到瓶颈.什么都会又什么都不会,如何改变困境,为什么很多人写了7,8年还是一个码农,工作中太多被动是因为不懂底层原理.公司的工作 ...

  7. Android从程序员到架构师之路3

    本文学习自高焕堂老师的Android从程序员到架构师之路系列教学视频 40 - 认识线程(Thread)模式a 1. 线程(Thread)概念 所谓线程(Thread) 是指一串连续的执行动作,以达成 ...

  8. 从程序员到架构师的转型思维的转变 NLP思维利器(二)

          导读:本文给大家推荐一个NLP里面非常重要的思维工具,可以说是帮助我们做出人生各种重大决策不可或缺的利器,也是形成本书框架的其中一个底层思维逻辑.       我一直在思考,人这一辈子,到 ...

  9. 从程序员到架构师都需要经历什么?

    目录 一.内容简介 二.程序员之间的能力差异在哪里? 1.经历的场景不同 2.在同一个场景中思考问题的角度不同 3.解决问题的方法不同 三.什么是架构? 四.从实际场景中学架构 1.数据持久化层场景实 ...

最新文章

  1. python 把2个列表或者2个元组转成字典
  2. UNITY 内存问题资料收集
  3. 第一行代码学习笔记第二章——探究活动
  4. SqlCommandBuilder
  5. python 东哥 with open_python 连接redis cluster
  6. Linux性能分析之IO篇
  7. stm32g474教程_(完整版)STM32F103通用教程
  8. 【机器学习系列】MCMC第一讲:蒙特卡罗方法初认识
  9. android屏幕尺寸像素详解
  10. WordPress导航主题/酷啦鱼导航主题模板
  11. Markdown编辑器简单大概语法学习
  12. 华为开放亚太首个OpenDaylight实验室――被纳入OpenDaylight官方Community Labs 获高度肯定
  13. Java知识——精华总结
  14. python赋值语句
  15. 《Activiti工作流框架》专题(一)-Activiti工作流框架基础入门
  16. 2022年8月29日 勒索病毒大爆发
  17. 2021-07-20 快捷键学习
  18. 多交个朋友?罗永浩跳槽淘宝直播间;5分钟搞懂XGBoost算法;CUDA C++最佳实践指南;手写字体的倾斜校正;前沿论文 | ShowMeAI资讯日报
  19. android手机录屏多少fps,如何在Android上以90fps或120fps的屏幕录制?
  20. Error creating bean with name ‘compositeCompatibilityVerifier‘ defined in class pathresource之类问题解决方案

热门文章

  1. 爬虫推特数据分析的外文文献_高效阅读英文文献你必须知道的技巧
  2. 毛绒材质渲染_零基础如何用OCtane做一只毛绒绒的皮卡丘?
  3. 中河广播服务器怎么连接无线话筒,无线话筒怎么连接音响 话筒连接音响方法...
  4. python沿中心线绘制矩形_间隙填充轮廓/线 - python
  5. Python中const类的实现
  6. python123测验答案测验3_知到app数学分析3-3测验答案查询服务
  7. RS232和RS485
  8. pandownload软件下载
  9. java 类加载的机制面试题_java 类加载机制 阿里面试题
  10. C++socket编程(八)8.3:UDP广播