专栏名称: 高效运维
高效运维公众号由萧田国及朋友们维护,经常发布各种广为传播的优秀原创技术文章,关注运维转型,陪伴您的运维职业生涯,一起愉快滴发展。
目录
相关文章推荐
InfoQ架构头条  ·  “天价”ERP ... ·  3 天前  
51好读  ›  专栏  ›  高效运维

DevOps时代,没想到微软都在干这些事!

高效运维  · 公众号  · 运维  · 2017-07-03 07:01

正文

这副漫画很好的说明了当下软件业和IT业普遍遇到的问题,传统软件庞大而复杂的代码令其无法很好的适应现代IT生产环境要求,往往为了添加一些新特性,公司耗费大量精力维护并更新代码,在与以云计算为模型的新产品的竞争下,无论是设计模式还是各种重构技巧,都时常显得无能为力。

就像这条巨龙,纵使你有顶尖的云架构师、专业的数据库和运维,庞大数量的高级开发和无数产品经理,也难以全面掌控。

相比之下,借助以云计算为核心的现代应用架构和模型,不仅可以轻松实现业务上线,云自身所具备的高可用、可扩展和规模经济效益都让它无论从哪个角度看都是现如今DevOps最适应的生产环境。

 

IT业界风云变幻莫测,大型厂商和行业巨头各霸山头,而这些表面可见的山头其实就像冰山,你所看不到的地方,才是行业发展最具潜力的地方,这就如同三十年前的PC市场,即使有IBM这样的大厂商垄断着企业和政府大型机业务,但蕴藏在波澜下的个人PC才真正推动了业界向小型机、智能机、可穿戴设备的发展。

DevOps时代,软件环境的不断更新,给开发者带来了更为轻松地处理方法,而对于运维来说,这些变化却带来了不小的挑战。软件开发环境和运行环境在过去十年中最大的变化就是通过开源和云来生产基础设施,而在产品的生产力和灵活性方面,这种变化对开发者来说是有力的,而对运维人员来说却带来个更多更为细致的工作。

而细数最近几年的业界变化,抛开AWS不谈的话,微软的Azure业务发展让很多人都感到惊讶不已,微软Azure从以微软服务器产品为核心的云计算,现在发展到全面支持所有开源技术栈,并且从IaaS(VM)、PaaS和SaaS(CRM、PowerBI、Office 365)全面支持用户的灵活选择,这不仅颠覆了很多人对微软的传统认识,对于微软自身来说,也可谓是另一个可以媲美个人PC战略的下一个巨大机遇。

在Azure上,有基础架构的IaaS,支持Linux、FreeBSD等开源系统,提供VM Scale Sets,让基础架构服务能够弹性伸缩,让大家能够自己建立属于自己的开源架构。而最重要的PaaS层服务,微软与其他公有云服务商最大不同点,在于通过提供多种PaaS架构,能够让各个企业都能够快速在Azure上面进行快速布署,专注于开发应用与商业逻辑,减少管理底层基础架构与运维的麻烦,这与现在DevOps的核心理念密不可分。

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

在数据存储与分析领域,微软Azure提供的MySQL PaaS服务甚至可以完全兼容于Mongo DB的Document DB、缓存快取的Redis Cache,实现包含基于Hadoop等各项数据处里用的HDInsight,支持快速配置和部署Hadoop、HBase、Apache Storm、Hive、Spark、Kafka与R Server,并且提供Jupyter, Zeppelin等方便的数据分析笔记本让数据科学家也能快速上手。

这张Azure开源应用和服务的概览图可以让大家目对前Azure上面比较常见的各种Open Source工具有个一目了然的认识:

 

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

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

对于微软最重大的改变,莫过于2014年10月,出任微软首席执行官的萨提亚∙ 纳德拉,第一次公开宣布“微软爱Linux”。同年,微软首次发布.NET Core并将其开源,随后更成立基金会来协助更多的开源用户。

众所周知,微软核心的技术栈长期以来基于.NET和Windows绑定。在重写标准库之后,2016年6月.NET Core 1.0实现跨平台(Windows、Linux和Mac),这意味着开发者可以使用Windows开发而Linux部署。

后续,微软陆续在许多开源项目中提出不小的贡献,包含加入Apache基金会、创造开源的TypeScript、在Linux Kernel中贡献超过20K行、贡献Hadoop的Hbase……等等。

现如今,除了Azure这个充满了开源产品的大平台,Windows还为Ubuntu Linux Bash提供原生支持,这意味着Windows操作系统级别的开放,Win10 可以当作一台Ubuntu开发机来使用,使所有想运用开源的用户,都能快速在这个微软的技术大平台上进行开发、测试、布署至生产环境以及最后的运维,透过丰富的服务与完整的内容来协助客户减少困难,并且提升支持。

最后,回到DevOps的理念上,DevOps并不是专门称呼一项技术,也不是一套流程和方法论,更不是一套简单的工具产品,越来越多的迹象表明,DevOps是一种文化,这种文化崇尚的是以客户价值为根本导向让IT可以变得更敏捷更精益。

在DevOps时代,我们可以大胆猜测,微软向云计算、开源世界的转型是必然的,如同工业自动化对传统工业的冲击一样,这是一种先进生产方式替代落后生产方式的过程,是无法阻挡的趋势。

未来也希望各位的开源服务,能够积极利用云计算的优势,获得效益最大化,并且更专注在自己公司的商业逻辑与应用上。