专栏名称: 程序猿
本微信公众号:imkuqin,为程序员提供最新最全的编程学习资料的查询。目前已经开通PHP、C/C++函数库、.NET Framework类库、J2SE API查询功能。
目录
相关文章推荐
OSC开源社区  ·  在RISC-V上构建AI应用 ·  22 小时前  
OSC开源社区  ·  【直播预告】AiEditor:面向AI的下一 ... ·  昨天  
程序员的那些事  ·  年薪154w!又一新兴岗位崛起!这才是程序员 ... ·  昨天  
51好读  ›  专栏  ›  程序猿

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

程序猿  · 公众号  · 程序员  · 2017-06-29 22:01

正文

这副漫画很好的说明了当下软件业和 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项目的难度和流程。







请到「今天看啥」查看全文