蓝盟系统集成,转向微服务的八条建议

发布者:上海IT外包 发布时间:2019/4/3 9:43:25来源:www.linemore.com

“这个过程更快的发展是优秀的,但不要忽略了变更控制和其他重要的政府程序失去微服务的好处,”罗恩海曼,云计算先锋通讯主任。为IT渠道销售市场提供云服务。
  对微服务的改变代表了应用程序开发的巨大变化。以下是如何揭示这一巨大变化的复杂性。
  目前新应用的开发与交付速度有关。在大规模转移到一个灵活的环境已经持续了多年,这导致人们得到的是如何快速,轻松地部署软件的想法。
  一个microservicio是构建应用程序的松耦合服务架构的集合的面向服务的架构(SOA)的变体。将应用程序拆分为更小的服务的好处包括更好的模块化,使应用程序更容易开发和测试。
  “科技服务提高了设备的能力,降低耦合,允许团队加快创新速度,降低了团队之间的沟通,并已做出架构,语言和框架,决策的权力,” Verizon的传媒集团(EJ坎贝尔,副总裁Verizon Media Group的工程,体育和媒体制作部门表示,该集团是一家拥有50个在线品牌的通信公司的子公司。
  坎贝尔说:“我们已经看到,作为球队采用微服务,从申请到生产的周期时间缩短显著。” “很多球队实现微服务,每天数次无需任何人工干预,依靠测试,代码审查和复杂性。” CI/CD(持续集成/连续交付),以确保安全实施修改后的内容。“
  该产品“雅虎日报幻想”公司包含几个微服务业务,包括基本的游戏,运动数据服务,服务钱包和内部服务的一些支持服务。 “每个服务都有自己的渠道持续部署,独立于存储的数据和他们负责开发和运营各自球队,”坎贝尔说。
  使用微服务时,组织可能会遇到许多挑战。这些挑战包括识别多个服务之间的界限正确,克服在微服务环境的代码共享计算机之间的困难和克服变革管理的复杂性,因为每个团队独立发布的代码。
  通过该微服务是一项重大变革和组织必须做好准备,这个伟大的变化做出反应。
  “进化到微服务就像是骑自行车,或骑自行车到汽车的过程中,”周杰伦贝尔谢尔,项目解决方案的副主任通过设计II(SBD),企业管理咨询和技术服务与所述联邦政府。机构合作,帮助他们转向基于微服务的IT方法。“当我们经历多个发展阶段时,我们发现还有更多需要改变,”Bercher说。 “每一个变化,需要维护的一定水平。在许多方面的支持和监督,不仅解决复杂化,而且也增加了相关费用。因此,我们必须仔细阅读我们的决定,以确保这些决定不仅这是最好的技术决策,也是有利可图的。“
  另一个挑战是安全性。 “我们必须决定是否要在整个应用程序中实施单一验证解决方案,或者我们是否要为每个微服务配置自己的验证流程,”Bercher说。 “这是一个必须根据具体情况做出的决定,是每个项目团队必须做出的决定。”
  这些是建议面对挑战并在微服务环境中无问题地增长的一些最佳实践。
  域驱动设计
  Bercher表示,微服务的创建是为了将服务结合起来并应用单一责任原则。
  “尽管有各种开发方法和方法,基于域的设计和微服务似乎是完美的组合,”Bercher说。 SBD团队使用基于域的设计,一种创建应用程序的主题方法,创建一个有效的开发模型,消除大多数团队的相互依赖性。
  “在我们的工作中,微服务领域的相关性基本上是一对一的,”Bercher说。 “因此,每个开发团队负责的区域,并且还负责开发相应的微服务。这建立明确的责任划分,这限制了可以在并行开发工作产生的冗余。”
  创建基本代码指南
  坎贝尔说,在微服务环境中,在计算机之间共享代码要困难得多。
  “不像一个整体架构,公共代码只是一个方法调用,以及微服务的体系结构的多样性应分为不同的服务代码,或者必须在共享库打包,”坎贝尔说。
  这些库的使用通常很慢,并且进行更改需要库的所有者与多个服务之间的协调。 “因此,组织对公共图书馆和在线产品采用一套强有力的指导方针非常重要,”坎贝尔说。
  不要在微服务之间共享数据库
  “通过创建我们的分离服务,我们允许我们的开发团队构建自己的数据库,为我们的(后端系统)提供数据,这将限制对其他开发团队的依赖,”Bercher说。
  “我们的开发团队将他们的着作放到最后,以便其他人可以使用它们,我们的数据团队负责管理这些信息,”Bercher说。 “继续使用即插即用的概念,如果您需要更换服务,只需将其取出并插入新服务,就像更换灯泡一样,有点复杂。”由于微服务采用模块化设计,因此开发过程主要是即插即用,这有助于解决可能出现的任何问题。
  “因为代码没有扩展到整个平台,我们可以快速将问题隔离到特定的源,然后将其追溯到微服务,”Bercher说。 “通过允许上演的更新和各microservicio的更新,可以很容易地更新应用程序。你能想象一个系统升级的时间没有大规模的替代品?这个概念已经彻底改变了系统的发展。”
  SBD在美国有一个开发团队,可以改善微服务的好处。南卡罗来纳州查尔斯顿的团队成员具有更大的开发独立性,因为他们正在开发自己的微服务,并可以将它们添加到解决方案中。
  解决安全问题
  像其他任何与IT相关的东西,微服务都有自己的安全问题。
  电子商务,支付和营销服务提供商Digital River的信息总监Ryan Douglas说,公司必须经常在软件开发生命周期的早期寻找已知的漏洞。
  道格拉斯说:“对于在加速环境中工作的任何IT团队来说,重要的信条就是识别和修复第三方软件中的本地解决方案和漏洞。” “这对于维护软件生态系统的安全至关重要。采用全球方法并理解它如何协同工作以及潜在问题所在的区域是至关重要的。”
  道格拉斯表示,使用微服务时,软件补丁的实施更容易测试。 “这不仅适用于我开发的代码,”他说。 “IT工程师可以在开发自己的软件时测试第三方软件中的漏洞,一旦发现漏洞,该解决方案可以比以前的独特代码结构更快地部署。”
  避免并发症
  DXC技术是一家IT服务提供商,在CSC和惠普业务部门合并后成立,该公司的应用服务技术总监JP Morgenthal可能是大型部署中的复杂情况。微服务。
  “如果组织不小心确保系统架构管理微服务,甚至可能存在递归数据路径,”Morgenthal说。 “使用单独的多功能设备和服务存储库之间可能存在依赖关系,因此,系统使微服务原理无效,”他说。
  应该可以改变或消除单个微服务,而不会对整个系统产生重大影响。 Morgenthal表示,最佳做法是使用企业架构来验证微服务的设计。
  考虑从头开始构建应用程序
  房地产服务提供商Carrington Mortgage Holdings推出了Vylla.com,这是一个直接的消费者抵押贷款平台,最近将其技术架构转移到微服务。“当我们决定搬到了微服务,我们面临的挑战之一是,是否通过一个应用一个分割或做一个完全重写,”约翰·尼古拉斯,技术卡林顿抵押的主任。
  “由于一些预定义的业务需求,我们必须在短时间内提供新功能,”尼古拉斯说。 “起初我们尝试将整个架构集成到一些成功的结果中,但我们也知道拆分应用程序比重写大多数现有功能更困难。”
  考虑到这一点,开发团队认为最好的方法是从头开始构建新的应用程序。 “这是一项艰巨的任务,需要我们团队所有成员的辛勤工作,但自从这一改变以来,它在短时间内是值得的,”尼古拉斯说。
  尼古拉斯说,由于微服务的成功部署需要大量的技术投资的,它有一个明确的情况下,描述如何利用新技术可以提高性能或提高运营效率的业务是非常重要的。
  “这里的关键是找到合适的人才,”尼古拉斯说。 “这是不容易找到一个有经验的工程师,谁可以很容易地做到这一点。我们能够建立一个坚实的工程技术队伍,了解正确的架构和有质量控制的一个坚实的团队为各地应用自动化测试。”
  攀爬时,请测量您的表现。
  添加服务器时,一般的应用可以充分扩展,以满足不断增长的需求,普利文Kányádi,SpotCues的创始人之一,它采用人工智能提供生产力软件说。
  “对于微服务,模块化架构只允许对系统的某些部分进行扩展,”Kanyadi说。 “然而,微服务需要一种非常不同的扩展方法,因为微服务架构的典型实现可能涉及在不同服务器上运行的多个组件以及虚拟化协同工作。”
  这增加了识别哪些个别组件被更新的挑战。 “这是性能至关重要的地方,应用程序交付驱动程序等工具可以帮助测量和检测性能问题,”Kanyadi说。
  Kányádi表示,企业还应考虑服务水平协议(SLA),基于业务优先级各microservicio的性能和可靠性的定义。
  专注于变革管理
  公司必须更新变更管理和变更控制流程和支持文档,从从整体架构架构微服务转型中受益。
  “这个过程更快的发展是优秀的,但不要忽略了变更控制和其他重要的政府程序失去微服务的好处,”罗恩海曼,云计算先锋通讯主任。为IT渠道销售市场提供云服务。“确保将变更控制和审批流程与敏捷开发生命周期相匹配,”Hayman说。

 

上海IT外包服务网 链接:http://www.linemore.com

>
400-635-8089
立即
咨询
电话咨询
服务热线
400-635-8089
微信咨询
微信咨询
微信咨询
公众号
公众号
公众号
返回顶部