未来之星 发表于 2018-8-23 11:28:34

DevOps时代,微软都在干什么?

这副漫画很好的说明了当下软件业和IT业普遍遇到的问题,传统软件庞大而复杂的代码令其无法很好的适应现代IT生产环境要求,往往为了添加一些新特性,公司耗费大量精力维护并更新代码,在与以云计算为模型的新产品的竞争下,无论是设计模式还是各种重构技巧,都时常显得无能为力,就像这条巨龙,纵使你有顶尖的云架构师、专业的数据库和运维,庞大数量的高级开发和无数产品经理,也难以全面掌控。

相比之下,借助以云计算为核心的现代应用架构和模型,不仅可以轻松实现业务上线开发运维一体化,同时在测试环境与生产环境的快速调度更是采用公有云服务一个重点,云自身所具备的高可用、可扩展和规模经济效益都让它无论从哪个角度看都是套用现今DevOps最适应的环境。

IT业界风云变幻莫测,大型厂商和行业巨头各霸山头,而这些表面可见的山头其实就像冰山,你所看不到的地方,才是行业发展最具潜力的地方,这就如同三十年前的PC市场,即使有IBM这样的大厂商垄断着企业和政府大型机业务,但蕴藏在波澜下的个人PC才真正推动了业界向小型机、智能机、可穿戴设备的发展。
而细数最近几年的业界变化,因为公有云的崛起,互联网企业因为不需要自行建设基础设施而得以快速发展并取得市场先机,然而微软这间体量巨大的平台公司,在拥有数万开发人员与庞大Codebase的状态下,不但透过建构Azure公有云服务来改善其既有各项服务,更导入DevOps功法,将数项惊人之作如Windows、Office、Azure的相关服务都进行了一轮快速迭代,更惊人的是,微软融合自身服务开发转型经验,在开发上积极贡献与拥抱开源,建构Azure云平台迅速转型为世界级的云与生产力平台供应商,从服务内部巨量应用开始的种子慢慢拓展到提供服务给全球用户的云计算业务,现在更发展到全面支持所有开源技术栈,并且从IaaS(VM)、PaaS和SaaS(CRM、PowerBI、Office365)全面支持用户的灵活选择,这不仅颠覆了很多人对微软的传统认识,对于微软自身来说,也可谓是另一个可以媲美个人PC战略的下一个巨大机遇。

在这个DevOps时代,软件环境的不断更新,给开发者带来了更为轻松地处理方法,而对于运维来说,这些变化却带来了不小的挑战。软件开发环境和运行环境在过去十年中最大的变化就是通过开源和云来建设生产环境用的基础设施,而在产品的生产力和灵活性方面,这种变化对使用者与开发者来说是有利的,而对运维人员来说却带来了更多更为细致的工作。即便微软这样的公司也在转型时碰上不少挑战,但也因此,得以借由由自身巨型软件开发经验,推出许多基于开源或与开源相互支持的各项工具来协助DevOps时代的软件开发运维转型,从开发工具的Visual Studio Team Service支持各项开源版本管理、单元测试、CI/CD等工具与多人同步工作布署。

透过Azure的IaaS基础架构,不仅支持Linux、FreeBSD等开源系统,提供VMScale Sets,让基础架构服务能够弹性伸缩,更让大家能够自己建立属于自己的开源架构。而与其他公有云服务商最大不同点,在于Azure云服务通过提供多种PaaS架构,能够让各个企业快速在Azure上面进行快速部署,结合方便的开发者服务VisualStudio,整合成一个从开发、测试、迭代合一的大平台,让各个应用开发者能更专注于开发应用与商业逻辑,减少管理底层基础架构与运维的麻烦,这与现在DevOps的核心理念密不可分。

PaaS有许多种类,从应用开发部分,微软提供支持各项开源语言的AppService,让大家可以快速建立运用PHP、Python、Ruby、NodeJS、JAVA、Golang等语言开发的跨平台网页与行动装置应用。

在数据存储与分析领域,微软Azure提供的MySQLPaaS服务以及可以完全兼容于MongoDB的DocumentDB、缓存快取的RedisCache,实现包含基于Hadoop等各项数据处理用的HDInsight,支持快速配置和部署Hadoop、HBase、ApacheStorm、Hive、Spark、Kafka与RServer,并且提供Jupyter、Zeppelin等便利工具,让数据科学家也能快速上手。

而对于跨平台、混和云和容器方面,Docker、CloudFoundry、OpenShift、DEIS等相关的容器都可以在Azure上使用,对于DevOps还支持CI/CD的各项开源工具,如Jenkins、CHEF、Puppet等等,大大简化了在云上快速实现DevOps项目的难度和流程。

读者可能会觉着奇怪,尤其是长期工作在开源领域的读者,会疑问怎么微软现在也和开源有这么多关联?但是只要上去GitHub看一下,会发现贡献最多的公司,不是Facebook,也不是Google,而是微软。这也是前文提到冰山的原因,如今,微软在风平浪静的海面之下,正在为开源世界做出可以影响整个产业的大变革。

对于微软最重大的改变,莫过于2014年10月,出任微软首席执行官的萨提亚∙纳德拉,第一次公开宣布“微软爱Linux”。同年,微软首次发布.NETCore并将其开源,随后更是成立了基金会来协助更多的开源用户。众所周知,微软核心的技术栈长期以来基于.NET和Windows绑定,在重写标准库之后,2016年6月.NETCore 1.0实现跨平台(Windows、Linux和Mac),这意味着开发者可以使用Windows开发而在Linux上部署。
后续,微软陆续在许多开源项目中提出不小的贡献,包含加入Apache基金会、创造开源的TypeScript、在LinuxKernel中贡献超过20K行、贡献Hadoop的Hbase……等等。
现如今,除了Azure这个充满了开源产品的大平台,AppService + DevOps on Azure让应用解决方案上线更快速,Windows还为UbuntuLinux Bash提供原生支持,这意味着Windows操作系统级别的开放,Win10可以当作一台Ubuntu开发机来使用,使所有想运用开源的用户,都能快速在这个微软的技术大平台上进行开发、测试、部署至生产环境以及最后的运维,透过丰富的服务与完整的内容来协助客户减少困难,并且提升支持。
就像在微软与开源合作伙伴共同主持的全球云端开源技术在线研讨会(OpenDev直播回放)介绍的一样,现如今,在微软平台上,无论是运行Redhat开源企业产品、开发Java跨平台应用,还是使用JavaScript建立容器微服务都已不再是不可能,微软云首席架构师JohnGossman描绘了一幅几年前我们根本无法想象的微软开源新世界,包括Redhat, Docker, Deis, Canonical, Cloud Foundry, Chef等等诸多开源厂商成为微软的官方合作伙伴外,与微软一同提供了丰富的DevOps和云端解决方案。
最后,回到DevOps的理念上,DevOps并不是专门称呼一项技术,也不是一套流程和方法论,更不是一套简单的工具产品,越来越多的迹象表明,DevOps是一种文化,这种文化崇尚的是以客户价值为根本导向让IT可以变得更敏捷更精益。在DevOps时代,我们可以大胆猜测,微软向云计算、开源世界的转型是必然的,如同工业自动化对传统工业的冲击一样,这是一种先进生产方式替代落后生产方式的过程,是无法阻挡的趋势。未来也希望各位的开源服务,能够积极利用DevOps和云计算的优势,获得效益最大化,省却运维的麻烦后,将精力更专注放在开发自己公司的商业逻辑与应用上。原创:程序猿
页: [1]
查看完整版本: DevOps时代,微软都在干什么?