立即咨询

电话咨询

微信咨询

立即试用
商务合作

Serverless:“一学就会”的公司微服务架构搭建与运维

2024-03-27

  不管你喜不喜欢微服务,现在微服务无疑已经是企业经营绕不过去的话题了。无论是想把目前的架构改成微服务,还是要对微服务架构进行快速转型,都需要深入理解微服务。

  微服务架构(microservice)是一项在云中围绕业务领域组件来创建和部署应用和服务的新技术,由Martin Fowler于2012年提出。

  微服务架构构建的基本思想在于创建的应用可独立地进行开发、管理和加速,在分散的组件中使用微服务云架构和平台,使服务等功能的交付变得更加简单。

  企业和服务提供商正在寻找更好的方法将应用程序部署在云环境中,微服务就被认为是未来的方向,通过将应用和服务分解成更小的、松散耦合的组件,它们可以更加容易升级和扩展,理论上是这样。

  使用微服务架构来构建企业的应用程序是很有意义的,它既能利用横向扩展架构,也利用纵向扩展架构;还额外得到API的组合,且在整个业务中可重复利用。

  微服务的生态和实践目前已经比较成熟,其设计方法、开发框架、CI/CD工具、基础设施管理工具等,都可以帮助企业顺利实施微服务。然而,微服务远没有达到完美,它在架构、开发、基础设施方面仍然面临新的挑战。

icon 微服务面临着巨大挑战

  对于任何一个应用系统而言,其构建目标都是为了满足某类用户的需求,即为用户传递价值。一直以来,架构设计是决定应用系统是否能够被正确、有效实现的关键要素之一。

  微服务如今面临着粒度、开发、弹性等多方面的新挑战。

1、粒度大

  微服务不需要像普通服务那样成为一种独立的功能或者独立的资源,是需要与业务能力相匹配的,不过能力模型粒度的设计不能是错误的。服务粒度越粗,就越难以符合规定原则。服务粒度越细,就越能够灵活地降低变化和负载所带来的影响。

  当前微服务划分主要遵循单一职责的原则,比如将用户管理的功能作为一个单独的微服务。用户管理微服务提供了API注册、登录、登出功能。

  通常,从提升用户体验的角度来看,浏览器会保留用户的会话,除非用户主动登出,否则不会请求登出API。所以,登出和注册的QPS差距较大,对扩展的诉求完全不同。虽然进一步拆分可以带来扩展性等便利,但整个微服务的数量也会提升一个量级。

  微服务数量的上升会给基础设施的管理带来负担,那么如何做好架构权衡,既能够拥有架构上的高可扩展性,又不用增加基础设施管理成本呢?

2、微服务管理难保证

  容器和Kubernetes工具的使用,提升了应用部署及基础设施运维自动化的能力,但保证基础设施高可用、可扩展对运维人员的能力要求很高。服务上云后,基础设施团队可以不用再关心服务器、交换机等硬件的运维,但仍然需要关心虚拟机的维护。

  此外,想要熟悉微服务的开发运维,也需要长时间的人才培养,时间成本迅速上升。是否存在一种新的编程模型及开发框架,让开发者在了解基本的语言特性和编程模型后,便可上手开发业务逻辑,而不用关心网络、并发、服务治理等问题?

3、基础设施成本高

  微服务会增加基础设施的成本。每个微服务都要保证高可用,所以数量会持续增加,基础设施的数量会呈现指数级增长,但云服务的基础设施收费方式没有改变,对企业来说存在成本的浪费。

icon Serverless应用引擎:从0搭建微服务架构

  2012年,Ken提出了Serverless的概念,他认为“即使云计算兴起,世界仍然围绕着服务器运转。不过,这不会持续下去。云应用程序正在进入无服务器世界,这将对软件和应用程序的创建和分发产生重大影响。”

  维基百科将Serverless定义为一种云计算执行模型。Serverless是指开发者不再需要将时间和资源花费在服务器调配、维护、更新、扩展和容量规划上,这些任务都由平台处理,开发者只需要专注于编写应用程序的业务逻辑,运维工程师能够将精力放在业务运维上。

  从技术的角度看,Serverless对架构有着极大的创新。Serverless架构可以将微服务的粒度进一步降低到函数级,同时不会对基础设施和运维产生新的负担,只是增加了少量的函数管理成本,相比其带来的收益这是完全可以接受的。

  阿里云的Serverless 应用引擎(简称 SAE)是首款面向应用的Serverless PaaS,提供成本更优、效率更高的一站式应用托管方案。支持Spring Cloud/Dubbo/HSF应用零改造上云,提供监控诊断、自动构建镜像、Java全链路加速、多发布策略、秒级自动弹性等能力,支持Jenkins/云效/插件等部署应用,还能通过Docker镜像部署任何语言的应用。

  企业生产环境中,通过合理微服务拆分,将每个微服务应用打成WAR/JAR/Docker镜像存储在阿里云镜像仓库。我们只需要基于Spring Cloud/Dubbo开发规范迭代每个微服务应用,由阿里云SAE提供底层资源调度、部署、灰度发布、微服务治理和监控诊断能力。

1、零代码改造平滑迁移应用

  零代码侵入就能完成 Dubbo/Spring Cloud 应用快速上云。

2、免运维底层IaaS,K8s、微服务组件、APM组件等

  免运维底层基础设施,无需自建 ZooKeeper,Eureka,Consul、Skywalking 等,极大降低开发运维成本。 提供商业化稳定性兜底。

3、零门槛,一站式开箱使用全套微服务能力

  提供自动构建镜像能力,内置灰度发布,流量控制,环境隔离、应用监控诊断、权限管理等企业级高级特性,零基础开箱即用。

 

更多产品了解

欢迎扫码加入云巴巴企业数字化交流服务群

产品交流、问题咨询、专业测评

都在这里!

 

热门数字化产品

橙色云CRDE智橙协同设计研发平台橙色云CRDE智橙协同设计研发平台是SaaS云原生平台,整合云CAD、项目管理、BOM管理等多功能,支持多终端、跨地域协同工作。它以云PLM与云CAD一体化为核心,提供一站式产品创新解决方案,推动企业数字化转型,实现高效、低成本研发设计。
堆雪球 SCRM私域运营管理系统堆雪球科技有限公司,是一家专注微信生态,帮助客户进行风控管理、销售提效、私域运营、自动化营销,致力于让企业营销高效可控,过程更聪明。 堆雪球目前旗下拥有: 客户营销解决方案、私域营销系统、线索导流方案、上下游配套资源。
优易WMS智能仓储管理系统优易WMS智能仓储管理系统系统是服务专业物流云仓客户的大型自动化智能仓库管理软件。支持B2C、B2B业务,深耕于鞋服、快消品行业,积累仓储行业多年实践经验。通过对出入库、库位精细化管理,实现对仓库的先入先出、效期等全方位管理,全面支持云仓客户的电商业务,满足电商客户的各种复杂仓库内场景作业需求。
腾讯Tapd研发项目管理平台TAPD是源自于腾讯的敏捷产品研发协作平台,提供贯穿敏捷开发生命周期的一站式服务。覆盖从产品概念形成、产品规划、需求分析、项目规划和跟踪、质量测试到构建发布、用户反馈跟踪的产品研发全过程,提供了灵活的可定制化应用和强大的集成能力,帮助研发团队有效地管理需求、资源、进度和质量,规范和改进产品研发过程,提高研发效率和产品质量。
腾讯乐享企业培训管理系统腾讯乐享连接知识、沉淀经验,整合学习地图、课堂、考试、直播、文档、社群、问卷、员工关怀、项目管理、讲师管理等多应用于一体,帮助团队建立学习型组织、降低沟通成本,提升员工自发性和组织内协同性,助力企业数字化管理升级。
为你推荐
查看更多