巧思云服务容器化架构实践

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 在云栖TechDay : Docker深度实践专场,巧思科技CTO张杰分享了题为《巧思云服务容器化架构实践》的演讲。他主要介绍了巧思在应用容器服务过程中遇到的一些问题,包括想要解决什么问题,遇到的问题,以及阿里云怎么解决这些问题。

巧思科技简介

巧思科技公司的定位是以问卷的形式做精准数据,出发点是SASS服务,把问卷分为问卷的咨询、问卷的设计、问卷的分发,包括问卷的答题和问卷的数据结果。巧思云服务的部署方案包括: 按照SaaS云计算服务性质可以分为公有云、混合云、私有云等等;巧思系统是基于SaaS模式在线数据收集服务,是属于公有云范畴;巧思系统提供的SaaS服务基于组件化、模块化的,因此系统部署可以提供个性化、定制化、弹性化的SaaS服务,并且可以为客户提供通用型、专业型、私有型三种的服务部署方案。

遇到问题

  • 发布更新流程长、速度慢。
  • 并发能力、响应速度问题。
  • 问卷之间计算资源相互干扰。
  • 私有化部署问题。

容器服务选型

第一步是自己做,想想还可以,但是直接到正式环境上去用的时候,会发现自建这个几乎是不太可能的。第二步,找服务商帮忙解决。国内的技术超越DaoCloud很难,因为它集聚了国内在容器方面比较优秀的人,它的核心代码很多在国内还比较有名的,所以第二步选了DaoCloud。容器服务涉及到整个系统、网络、硬件、软件、进程调度,容易遇到铺天盖地的问题,有一个环节漏掉就没办法去做。比如,我们有的是计算型的,有的是IO密集型的,我们需要根据不同的应用把容器管理进行扩展,在这些层面DaoCloud会有一些弱势。第三步,尝试了一下阿里云。选择阿里云的一个优势是,由于我们原来的系统是在阿里里面的,再把它放到UCloud和DaoCloud里面,这样会把整个系统的线拉的特别长,一个远程的调用远程的API,会使系统非常庞大和复杂。如果将其换到阿里云上,很多调用都成了内部网调用,即局域网调用,就不用去考虑这些问题。

3e9d51495c0b946d489fb907193ea563ecf2a8af

首先要支持网络4层和7层协议、TCP/Websocket、支持https、支持.net、mono。

自定义路由。比如,我们的一个场景很重要的,不同的问卷到不同的容器,历史问卷到历史的容器里面去,活动的到活动的容器,还有不同厂商的要指定到不同的容器里面去,发红包的要到发红包的容器里面去,这样就完全隔离,解决了云计算资源抢占的问题。将其分布到不同的容器里面,不同的容器会做不同的事情。

两层弹性伸缩,一个是容器本身的,根据CPU或者是根据类层去弹性伸缩,还有一个是弹性节点,节点进行弹性。

监控,现在阿里这边的监控远远不够用,巧思科技还有自己的监控,需要对达到业务层面的一定应用、业务层面返回的结果做一些监控。

海外镜像一定要支持。

权限控制。由于我们的整个系统里面有很多容器,有些管前台,有些管后台,有些管正式环境,有的管测试环境。比如,我们现在是有三个集群,一个是测试环境的测试集群,一个是预生长环境的预生环境集群,还有一个正式发布的正式集群,三个集群里面,有这样一个流程,先测试,测试完了送到预生产,数据库都连着相同的,最后正式环境下发布。这样就需要一个权限去控制每个集群由不同的人去管,职责到人,这样就保证到了预生产环境,正式的环境基本上就没问题了。

容器化的原则

选择容器化的原则是伸缩、快速、安全。伸缩是指两层伸缩,按照CPU和内存进行弹性。快速是指能做到快速响应。安全,包括压力测试、稳定性。

系统结构

d25a7f2cfb0ccaa44135000abb0a7cac5ea3b2ad

右边是主系统,设计问卷发布好以后,会生成一个二维码、一个链接、一个node值,这是我们现在实际应用场景所要求的。上图中左边是API、右边是APP的每一个方框都是一个容器,既是APP的容器,也是API的容器。容器之后的进程,把Redis读到数据库里面,最终数据汇总到主系统里面。最终根据这样子的改造,APP是前台,API是后台的一个接口,前面和后面做了分离,API实现了微服务化,一个个细小的微服务去向前台提供服务。整个从这样的系统结构,可以看到,我们满足了我们对一个弹性伸缩,包括对于私有化部署,包括路由的方向的要求。

优势及优化

关于硬件资源,不想一边是UCloud,另一边是DaoCloud,这样会使技术站的侧重点不明确,其实侧重点应该是业务。所以,应用了阿里最成熟的几个产品,包括ECS服务、RDS、Redis、SLB等。其中,RDS在大数据存储上非常强大。在综合能力方面,巧思云服务单个点上功能不突出,但是综合、集成性、整体性最好。

后续会利用队列服务和容器服务提升并发处理能力;利用API网关服务和容器服务进行服务治理优化;利用Spark等大数据存储、分析服务和容器服务进行大数据分析;利用前置域名的路由自定义、私有化部署和容器服务进行私有化部署。
相关实践学习
Docker镜像管理快速入门
本教程将介绍如何使用Docker构建镜像,并通过阿里云镜像服务分发到ECS服务器,运行该镜像。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
2天前
|
Kubernetes 监控 开发者
探索后端开发中的微服务架构实践
在现代软件开发领域,微服务架构作为一种灵活、可扩展的后端解决方案,正逐渐取代传统的单体式架构。本文将深入探讨微服务的设计理念、实施策略及其在企业级应用中的具体应用案例,旨在为读者提供一套系统的微服务实践指南。通过对比分析微服务与单体架构的性能差异,结合具体数据和案例研究,本文揭示了微服务在提高系统可维护性、可扩展性和敏捷性方面的优势。最后,文章讨论了微服务实施过程中可能遇到的挑战及解决策略,为后端开发者提供了宝贵的参考和启示。
|
4天前
|
Kubernetes 搜索推荐 开发者
探索后端开发的未来之路:微服务架构与容器化技术
随着云计算技术的不断成熟和普及,后端开发领域正经历着前所未有的变革。本文将深入探讨微服务架构和容器化技术如何重塑后端开发的面貌,提升系统的可扩展性、灵活性和可靠性。通过分析现代后端系统面临的挑战,我们将展示微服务和容器化如何提供解决方案,并预测这些技术如何塑造后端开发的未来发展。
20 3
|
3天前
|
消息中间件 监控 Kubernetes
后端开发中的微服务架构实践与挑战
在数字化时代的浪潮下,后端开发不断演化,微服务架构应运而生,成为解决复杂系统设计问题的一种新范式。本文将深入探讨微服务架构的核心概念、实施策略以及面临的主要技术挑战,同时结合具体案例分析其在实际开发中的应用效果和价值体现,旨在为后端开发人员提供一套系统的微服务实践指南和思考框架。
|
6天前
|
存储 边缘计算 安全
操作系统的未来:容器化与微服务架构的融合
【7月更文挑战第21天】在数字化浪潮不断推进的今天,操作系统的角色和功能正在发生深刻变化。本文将探讨操作系统如何适应现代应用的需求,特别是容器技术和微服务架构对操作系统发展的影响。我们将分析容器化的优势、微服务架构的特点以及它们如何共同推动操作系统的创新,从而为读者揭示一个更加灵活、高效和安全的未来计算环境。
19 2
|
9天前
|
监控 前端开发 JavaScript
构建高效实时应用:Python WebSocket在前后端分离架构中的实践
【7月更文挑战第18天】WebSocket助力实时Web应用,通过一次握手建立持久连接,解决HTTP实时性问题。Python中可用Flask-SocketIO创建WebSocket服务器,前端JavaScript使用Socket.IO库连接。确保安全可采用HTTPS、认证及跨域限制。示例代码展示如何实现双向实时通信。
32 4
|
9天前
|
消息中间件 运维 API
探索后端开发中的微服务架构实践
本文将深入探讨微服务架构在后端开发中的应用,包括其设计原则、优势与挑战。通过对具体案例的分析,我们将了解如何在实际项目中有效实施微服务,以及如何克服实施过程中的常见问题。文章旨在为后端开发人员提供一套微服务架构的实践指南,帮助他们构建更加灵活、可扩展的系统。
22 1
|
1天前
|
存储 运维 Kubernetes
容器镜像的构建与管理实践
在云原生时代,容器技术已成为现代软件开发和运维不可或缺的一部分。本文将深入探讨容器镜像的构建流程、管理策略以及安全性考量,旨在为读者提供一套系统化的容器镜像管理方案。我们将从实际案例出发,分析容器镜像构建的最佳实践,同时指出常见的陷阱与误区。此外,文章还将介绍如何有效利用现有的工具和平台来提升容器镜像的安全性和管理效率,确保在快速迭代的开发周期中,能够维护镜像的一致性和可靠性。
4 0
|
8天前
|
监控 Cloud Native 安全
云原生架构在现代企业中的实践与挑战
本文深入探讨了云原生架构在现代企业中的应用及其面临的主要挑战。通过分析多个行业案例,文章揭示了云原生技术如何促进企业的数字化转型,提高系统的弹性、可扩展性和自动化水平。同时,指出了在实施过程中可能遇到的技术、安全和成本管理等问题,并提供了相应的解决策略,旨在为企业采用云原生架构提供实用的指导和建议。
|
4天前
|
Kubernetes 持续交付 开发者
探索后端技术的未来:微服务架构与容器化部署的融合
在数字化时代的浪潮中,后端技术正经历着前所未有的变革。本文将深入探讨微服务架构和容器化部署如何共同推动后端技术的发展,提升应用的性能、可扩展性和可靠性。通过分析现代软件开发的需求,我们将揭示这两种技术如何互补,以及它们在未来后端开发中的潜力和挑战。
|
1天前
|
负载均衡 监控 安全
微服务架构下的API网关实践
在微服务架构的实践中,API网关作为系统入口的关键组件,承载着请求路由、负载均衡、认证授权等核心功能。本文将深入探讨API网关的设计与实现,通过具体案例分析其在微服务架构中的应用场景和挑战,并分享实践经验与优化策略,旨在为开发者提供一份实用的API网关部署指南。