×

云原生转型引导者Pivotal

消耗积分:1 | 格式:rar | 大小:0.2 MB | 2017-10-09

分享资料个

 此前,国内某汽车行业的客户也在采访中提到,汽车行业作为一个发展一百余年的传统行业积累了大量的法律法规和管理条例。由于这种“法规驱动”而非“创新驱动”的天性,汽车行业比之新兴的互联网企业有很重的枷锁。若能真的将云原生的种种理念,如微服务、DevOps等植入汽车开发领域,就能更快地将创新想法实际地呈现在思想偏保守的管理者面前,从而让他们切身体会其中的价值。可见,Pivotal的数字化转型方法深切汽车行业的痛点,能够大大改善其内部组织架构的滞后性,从而提高创新的速度。
  作为云原生概念的提出者,Pivotal深知云原生中蕴含的推动企业进行数字化转型的强大力量,因此,Pivotal在帮助企业进行数字化转型的过程中不仅为用户提供工具,还提供咨询、方法、组织架构管理的建议。Pivotal本身就是做敏捷开发的企业,Pivotal公司在全球有多个 Pivotal Lab,而Pivotal Lab本身就是敏捷开发的一个例子,通过Pivotal Lab的应用实践,Pivotal将IT架构如何演进,自身组织架构如何调整的经验传授给客户,从而帮助客户响应更快、开发更有效率、开发运维更快速地融合,并向数字化企业迅速转型。
  此外,Pivotal在美国还专门成立了数字化转型办公室,专门与客户方的技术高层进行沟通,通过云原生的理念、技术和工作方法从根本上帮助企业实现数字化转型。
  Pivotal Cloud Foundry,为云原生而生
  事实上,Pivotal在云原生战略的发展方向上一直以来都主要围绕技术和企业管理这两个方向, 在技术方面最重要的部分是微服务。微服务这个词现在在全球范围内已经非常火热,所有人想方设法要将自己的云和微服务结合起来;但当2009年Netflix采用微服务重新定义它的业务应用开发模型时,很多人都认为这是一个错误的技术路线。而现在,Netflix的成功证明了微服务是行之有效的。 Netflix长期以来一直都在使用Spring技术,Netflix的微服务框架也已经进入Spring Cloud Framework,这些大型企业利用微服务架构为自身创造了一条真正走向云原生的新路,能够实现非常高的开发效率,这充分证明了微服务框架是经得起实践检验的。
  目前,Spring Cloud中已经包含了大量的组件模块,如分布式配置服务、Twitter的分布式服务追踪。下一阶段,Spring Cloud微服务架构将会增强Micro Data Service的部分,提供大数据的微服务框架,而且会增强反应能力来适应大规模微服务的并行处理能力。
  云原生转型引导者Pivotal
  云原生另一个重点的技术就是PaaS运行平台——Pivotal Cloud Foundry。2015年起,Pivotal制定了以PaaS为主的工作方向,致力于帮助企业进行数字化转型。微服务诞生之后,大家发现需要一个载体把它的运行、管理、运维、编排结合起来,从而在管理上实现一个真正完整的生命周期, 而早前出现的PaaS平台和微服务两者恰好是一个非常完美的结合。Cloud Foundry能够满足云原生高度自动化、敏捷驱动的契约要求,为微服务提供资源编排和生命周期管理的基础,新版本的Pivotal Cloud Foundry更将聚焦于云原生的十二要素,同时Spring Cloud 为运行在PaaS平台的应用优化了管理功能。同时,Cloud Foundry平台始终在按照开源、敏捷的方式不断演进升级,每个季度都会带来很多全新功能。
  国内某保险行业的客户曾评价道:“PCF是一套完整的原生云解决方案,和各种开源技术相比较拥有更高的整体性,不存在模块兼容的问题,能够满足一些高难度的技术要求;同时,它有统一的监控系统,对传统企业至关重要的运维而言有重要的价值;除此之外,其共享机制也是其他许多技术不能实现的。开源技术的发展往往日新月异,传统企业的IT人员往往没有精力去追踪所有的新技术和实时更新运行环境,因此,针对企业而生的PCF在各方面都比传统企业自行跟进开源技术要完善得多。”
  最近,Pivotal开源了自己的CICD工具来帮助企业进行微服务的敏捷管理。Pivotal去年在全球开设了20多个敏捷实验室Pivotal Labs帮助客户学习实践DevOps、微服务和持续交付的云原生应用开发,同时还设计了Dojo服务,可以到客户现场帮助客户实践云原生技术和管理的创新。
  云原生、微服务、容器的三角关系
  在谈到云原生时就避不开微服务,因为微服务非常契合云原生的原则,所以它会成为云原生的明显特征之一。事实上,微服务目前并没有一个准确的定义,这其中一个重要的原因就是微服务和云原生架构、PaaS平台紧密相关,不能认为简单将一些服务框架运行在容器上就叫微服务了,如果还没有建立“快速失败”和“自动优先”的 DevOps 文化,就很难成功地实施微服务战略。
  刘伟光认为,要采用微服务的客户首先要问自己一个问题,自己的业务要求做到每周、每天甚至随时向客户发布新特性吗?自己的业务面向客户和面向互联网的驱动力强烈吗?新加入的开发者需要在他们工作的第一天就部署代码吗?只有在答案都是肯定的时候,微服务才会对这些客户有用。
  实际上,微服务的定义应该包含这样几个部分: 去中心化的分布式服务系统、按照业务而不是技术划分组织、每个组织对应到有生命的产品而不是项目。微服务应用应该运行在云原生的生态系统上,使用云原生的技术和管理理念。微服务框架也需要包含完整的功能组件,如服务发现注册、路由、负载均衡、优雅降级、分布式配置、分布式服务追踪等等。从Netflix到Uber的成功经验可以看到,微服务的应用场景非常广阔,既可以是面向企业内部的核心业务应用,也可以是面向企业最终客户的外部应用,具体如何着手取决于企业的云原生战略。Pivotal在实践过程中也为企业定义了微服务和Cloud Native的成熟度模型,包括Cloud Ready(云就绪)、Cloud Friendly(云友好)、Cloud Resilient(云弹性)。每个不同阶段都可以有不同的切入点。
  

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !

'+ '

'+ '

'+ ''+ '
'+ ''+ ''+ '
'+ ''+ '' ); $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code ==5){ $(pop_this).attr('href',"/login/index.html"); return false } if(data.code == 2){ //跳转到VIP升级页面 window.location.href="//m.obk20.com/vip/index?aid=" + webid return false } //是会员 if (data.code > 0) { $('body').append(htmlSetNormalDownload); var getWidth=$("#poplayer").width(); $("#poplayer").css("margin-left","-"+getWidth/2+"px"); $('#tips').html(data.msg) $('.download_confirm').click(function(){ $('#dialog').remove(); }) } else { var down_url = $('#vipdownload').attr('data-url'); isBindAnalysisForm(pop_this, down_url, 1) } }); }); //是否开通VIP $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code == 2 || data.code ==5){ //跳转到VIP升级页面 $('#vipdownload>span').text("开通VIP 免费下载") return false }else{ // 待续费 if(data.code == 3) { vipExpiredInfo.ifVipExpired = true vipExpiredInfo.vipExpiredDate = data.data.endoftime } $('#vipdownload .icon-vip-tips').remove() $('#vipdownload>span').text("VIP免积分下载") } }); }).on("click",".download_cancel",function(){ $('#dialog').remove(); }) var setWeixinShare={};//定义默认的微信分享信息,页面如果要自定义分享,直接更改此变量即可 if(window.navigator.userAgent.toLowerCase().match(/MicroMessenger/i) == 'micromessenger'){ var d={ title:'云原生转型引导者Pivotal',//标题 desc:$('[name=description]').attr("content"), //描述 imgUrl:'https://'+location.host+'/static/images/ele-logo.png',// 分享图标,默认是logo link:'',//链接 type:'',// 分享类型,music、video或link,不填默认为link dataUrl:'',//如果type是music或video,则要提供数据链接,默认为空 success:'', // 用户确认分享后执行的回调函数 cancel:''// 用户取消分享后执行的回调函数 } setWeixinShare=$.extend(d,setWeixinShare); $.ajax({ url:"//www.obk20.com/app/wechat/index.php?s=Home/ShareConfig/index", data:"share_url="+encodeURIComponent(location.href)+"&format=jsonp&domain=m", type:'get', dataType:'jsonp', success:function(res){ if(res.status!="successed"){ return false; } $.getScript('https://res.wx.qq.com/open/js/jweixin-1.0.0.js',function(result,status){ if(status!="success"){ return false; } var getWxCfg=res.data; wx.config({ //debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId:getWxCfg.appId, // 必填,公众号的唯一标识 timestamp:getWxCfg.timestamp, // 必填,生成签名的时间戳 nonceStr:getWxCfg.nonceStr, // 必填,生成签名的随机串 signature:getWxCfg.signature,// 必填,签名,见附录1 jsApiList:['onMenuShareTimeline','onMenuShareAppMessage','onMenuShareQQ','onMenuShareWeibo','onMenuShareQZone'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 }); wx.ready(function(){ //获取“分享到朋友圈”按钮点击状态及自定义分享内容接口 wx.onMenuShareTimeline({ title: setWeixinShare.title, // 分享标题 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享给朋友”按钮点击状态及自定义分享内容接口 wx.onMenuShareAppMessage({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 type: setWeixinShare.type, // 分享类型,music、video或link,不填默认为link dataUrl: setWeixinShare.dataUrl, // 如果type是music或video,则要提供数据链接,默认为空 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ”按钮点击状态及自定义分享内容接口 wx.onMenuShareQQ({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到腾讯微博”按钮点击状态及自定义分享内容接口 wx.onMenuShareWeibo({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ空间”按钮点击状态及自定义分享内容接口 wx.onMenuShareQZone({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); }); }); } }); } function openX_ad(posterid, htmlid, width, height) { if ($(htmlid).length > 0) { var randomnumber = Math.random(); var now_url = encodeURIComponent(window.location.href); var ga = document.createElement('iframe'); ga.src = 'https://www1.elecfans.com/www/delivery/myafr.php?target=_blank&cb=' + randomnumber + '&zoneid=' + posterid+'&prefer='+now_url; ga.width = width; ga.height = height; ga.frameBorder = 0; ga.scrolling = 'no'; var s = $(htmlid).append(ga); } } openX_ad(828, '#berry-300', 300, 250);