基于Kebernetes 构建NET Core技术中台

分享创业公司如何基于腾讯云容器服务构建基于微服务场景下企业级的技术中台构建的实践落地,包括最新的.NET Core 结合容器技术低成本构建企业的中台,创业公司也可以构建中台赋能业务创新。
展开查看详情

1.云+社区技术沙龙

2.基于Kubernetes 构建.NET Core 技术中台 张善友 深圳友浩达科技创始人

3.SPEAKER 张善友 深圳友浩达科技创始人 .NET技术专家,连续14年被评为微软最有价值专家(MVP),腾 讯云最有价值专家(TVP)。拥有超过十七年IT行业经验,2018 年创立深圳市友浩达科技有限公司,从事.NET 技术顾问工作,工 作之余,他还热心于进行社区奉献,运营微信公众号“dotnet跨平 台”,同时积极参与.NET社区开源项目,被尊称为张队长

4. 议程 01 为什么需要中台 企业信息化的新时代 02 基于K8s搭建技术中台 创业公司技术栈 03 为什么选择.NET Core 云原生应用开发

5.为什么需要中台 1998-2008 2008-2018 2018-2028 PC互联网时代 移动互联网时代 企业服务时代 做内容拉消费者流量然后 中国互联网企业纷纷进入 中国互联网进入了交易时代。 拉企业广告变现 to B市场纷纷进入企业服 从2008年之后,中国电子商务 务领域 公司如雨后春笋爆发

6.为什么需要中台 企业内部信息化 从内部单部门单岗位应用,进化到内部多部门多岗位应用 企业外部信息化 连接消费者、连接产供销研上下游、连接社会基础设施 中国的消费者是巨量的 中国每一个省就相当于欧洲的一个国家的大小 与外部连接相关的的应用场景 一定要做成微型化、场景化、碎片化、微服务Open API技术

7.为什么需要中台 集成各类企业内部ERP 企业云盘 统一会员 音视频会议 集成各类公有云SaaS 统一认证 产业主数据 企业直播 统一营销 画像标签 IM 集成各类互联网电子商务 统一订单 业务模型 聚合支付 Open API 统一库存 业务算法 电子发票 统一支付 对外统一开放API,便于外部 电子合同 生态应用接入与融合 业务中台 应用中台 数据中台 技术中台 做商业应用级别的基础设施,带有业务应 统一的东西来自一个地方,分别支持多个 利用获取的各类信息、行为习惯信息和算 过去我们把他们叫做技术平台。它是企业 用特征,不是纯技术。但是他们又不是具 系统对业务的管理要求。 法,获取分析结果 应用的技术平台 体的业务场景应用

8. 议程 01 为什么需要中台 企业信息化的新时代 02 基于K8s搭建技术中台 创业公司技术栈 03 为什么选择.NET Core 云原生应用开发

9.基于K8s搭建技术中台 1 2 3 4 架构 技术 研发&运营 业务发展 云原生服务开发 基于.NET Core的容器化应用 DevOps的敏捷研发 企业服务领域应用探索

10. 基于K8s搭建技术中台 容器 & Kubernetes 趋势 “By 2020, more than 50% of enterprises 超过一半以上的容 will run mission-critical, containerized 器环境需要编排工 cloud-native applications in production.” 具的辅助。 77% 公司的编排工具会选择 77% Kubernetes 容器部署正以每年75% 大企业正在Leading 的速率在增长。 容器化转型。 50% 75% 近50%组织的容器集群中包含 了超过1000台的工作机器

11.基于K8s搭建技术中台 开发人员的心声 我需要快速的创建应用, 新开发的应用在我机器上跑 我的产品化开发跟发散性想 但不需要担心IT基础设施 的没有问题,但生产环境中 法验证总是受限于IT 的限制 就不工作了

12.基于K8s搭建技术中台 IT人员的心声 我需要管理服务器并在几 我不确定如何集成不熟悉的 我无法同时关注服务器保护 乎没有中断的情况下保持 应用程序, 我需要开发人员的 和应用程序合规性 合规性 帮助

13.基于K8s搭建技术中台 编排引擎的要素 调度 Affinity/anti- 健康监测 故障转移 affinity 可扩展性 网络 服务发现 平滑的应用升级

14.基于K8s搭建技术中台 Kubernetes: 编排引擎界的标准 Portable Extensible 自愈 公有云,私有云,混 模块化,可插拔, 自动配置,自动重启,自动 合云,甚至多云融合 Hookable,易组合 复制,自动缩放

15.基于K8s搭建技术中台 Kubernetes: 助力您的成功 快速、可预测的部 快速扩展您的 无感知的更新服 仅使用分配的资 署您的应用 应用 务 源

16.基于K8s搭建技术中台 TKE 是什么 —— 一站式 PaaS 解决方案 TKE(Tencent Kubernetes Engine)是腾讯云提供的基于 Kubernetes,不依赖任何 IaaS 层的一站式云原生 PaaS 服务平 台。为用户提供集成了容器集群调度、Helm 应用编排、Docker 镜像管理、Istio服务治理、自动化DevOps以及全套监控 运维体系的企业级服务。 / IaaS 云服务 IDC 4

17.基于K8s搭建技术中台 类比 开源自建 Kubernetes TKE 完全自建,包括各种解决方案的选型、开源软件的实际应用、和云上其 和云上其他IAAS、PAAS产品拥有统一的产品体系,完全兼容,产 体系 他产品的对接、整套系统的维护等等 品和团队久经考验,功能更强且相对成熟 人工搭建,需要解决操作系统、网络、docker、K8S 实际使用的诸多问 一键创建,更成熟稳定,持续排查并解决各类bug,持续优化性能 维护成本 题,例如各种卡死、性能差、网络不通等等 需要配套搭建大量开源或自研监控、日志、审计、数据存储等系统 提供配套的监控、告警方案,提供日志采集、操作记录、事件持久 运营成本 化存储等运维功能 技术支持 K8S易部署,但实际运营门槛高,更新快,需要大量的技术投入 深度参与K8S,技术积累多 K8S组件众多,集群规模越大越可能出问题,而且集群节点易出问题 管理面支持集群化托管维护,各种节点监控检查、热重启机制,提 稳定性 高稳定性 应用管理、镜像构建、发布管理、service mesh、监控告警、日志服务 功能齐全, 配套特性 等功能,均需自研 根据自建情况而定 完全兼容,提供多个 Kubernetes release 版本,支持版本升级能力, 生态兼容 且集成了大量自研和社区推荐插件或服务,如ipvs、networkpolicy、 fluentd、prometheus、npd等

18.基于K8s搭建技术中台 1、使用TKE 搭建的统一容器 PaaS 平台,将软件从底层硬件中解耦,提供更好的可移植性和速度,打造轻量、快速、高效、友好的服 务运行及开发环境,极大的降低了运维成本; 2、开发微服务架构应用,实现多个微服务组件可以独立部署,通过统一通信协议互相连接,保证独立性和高可用性,同时简化了部署、 监控、运维、治理与微服务应用生命周期的管理; 3、使用微软先进成熟的Azure DevOps 产品,重新规划设计开发测试运维的工作流程,优化开发测试标准的同时将日常繁琐的重复性 工作交由平台来自动化完成,包括源代码管理、自动化构建、自动化测试、持续集成、持续部署等,显著的提高了应用系统的开发迭代 效率; 4、基于 Kubernetes 核心支撑能力,实现对于应用服务的灰度发布、滚动升级、弹性伸缩、故障自愈、配置管理、服务高可用等多种 治理手段,提供了统一的企业IT管理平台,提高了企业IT管理效率; 5、基于.NET Core的高效率开发微服务,高性能运行的微服务系统开发

19.基于K8s搭建技术中台

20.基于K8s搭建技术中台

21. 议程 01 为什么需要中台 企业信息化的新时代 02 基于K8s搭建技术中台 创业公司技术栈 03 为什么选择.NET Core 云原生应用开发

22.为什么选择.NET Core

23. 为什么选择.NET Core 语言: 用了哪些开发语言,如:C++/C#/Java/Go/PHP/Python等等; 组件:用了哪些组件,如:消息队列组件,数据库组件等等; 流程:怎样的流程和规范,如:开发流程,项目流程,发布流程,监控告警 流程,代码规范等等; 系统:系统化建设,上面的流程需要有系统来保证,如:规范发布流程的发 布系统,代码管理系统等等;

24. 为什么选择.NET Core 选择团队熟悉的/能掌控的,创业公司人少事多,无太多冗余让研发团队熟悉新的语言,能快速上手,能快 速出活,出了问题能快速解决的问题的语言才是好的选择。 选择更现代一些的,这里的现代是指语言本身已经完成一些之前需要特殊处理的特性,比如内存管理,线 程等等。 选择开源轮子多的或者社区活跃度高的,这个原则是为了保证在开发过程中减少投入,有稳定可靠的轮子 可以使用,遇到问题可以在网上快速搜索到答案。 选择好招人的 一门合适的语言会让创业团队减少招聘的成本,快速招到合适的人。 选择能让人有兴趣的 与上面一点相关,让人感兴趣,在后面留人时有用。

25. 为什么选择.NET Core 选择靠谱的云服务商; 选择云服务商的组件; 选择成熟的开源组件,而不是最新出的组件; 选择采用在一线互联网公司落地并且开源的,且在社区内形成良好口碑的产品; 开源社区活跃度;

26. Free. Cross-platform. Open source. A developer platform for building all your apps. www.dot.net

27. Steeltoe DotNetNuke SourceLink nUnit IronPython MvvmCross ILMerge Infer.NET StackExchange.Redis

28. Top 30 Highest Velocity OSS Projects on GitHub https://www.cncf.io/blog/2017/06/05/30-highest-velocity-open-source- projects/https://raw.githubusercontent.com/cncf/velocity/master/charts/top30_20170801_20180801.png

29. 为什么选择.NET Core .NET 开源之路 .NET .NET Aug. 2017 2001 2008 .NET Core 2.0 April 2014 发布 ECMA 335 ASP.NET MVC Sept 2019 Nov 2020 .NET 编译器平台 2016 (web platform) .NET Core .NET Core (“Roslyn”) 开源 开源 Mono 项目加入 3.0 5.0 .NET Foundation .NET Foundation Dec. 2018 2002 成立 .NET Core 2.2 NET 1.0 for 发布 Windows 发布. Nov. 2014 Mono 项目启动 .NET Core .NET Core 3.0 (cross-platform) preview 项目启动 WinForms 和 WPF 开源