热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

张善友:基于Kubernetes构建.NETCore技术中台(附视频回顾)

5月25日,云社区技术沙龙-互联网架构成功举办。本期沙龙特邀请腾讯的技术专家分享关于技术架构、落地实践案例、无服务器云函数架构、海量存储系统架构等话题,

5月25日,云+社区技术沙龙-互联网架构成功举办。本期沙龙特邀请腾讯的技术专家分享关于技术架构、落地实践案例、无服务器云函数架构、海量存储系统架构等话题,从技术角度看架构发展,为开发者们带来丰富的实践经验内容,深度揭秘技术架构。下面是张善友老师关于利用Kubernetes构建.NET Core技术中台的相关分享。

讲师介绍:

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

点击观看视频回顾

今天我跟大家介绍的内容有三个:为什么需要中台?二是基于K8S搭建技术中台,我们已经进入了新时代,不能用老的一套,如果用老的一套就没有什么优势了。三是为什么用.NET Core做应用开发?

为什么需要中台

这个图是中国互联网的发展图,前面老师也介绍过了互联网经历了三个时代,我们现在已经处于第三个时代。2018年—2020年是企业服务时代,在国内不管是阿里还是腾讯都开始向2B转型。PC、移动怎么划分?98—2008年很多都是搞一个网站,搞一个博客,拉了很多的流量发个广告变现了,之后很多电子商务公司起来了,有了淘宝和微信进入了交易时代,这些交易的网站、流量包括企业内部也有很多的OA、ERP等等各种,要到应用从你的企业扩大到你的合作伙伴,从一个单独的系统用很长的链条串起来,进入到了企业服务时代。

企业应用信息化以前叫信息化,现在都叫数字化转型,其实说的就是原来的应用信息化都是企业内部的一个系统架一个网站,比如说这个系统就是给这个部门用的,再发展会给整个公司不同的部门用,你的公司如果大的话,这个系统还要给外部的一些合作伙伴用,我原来最早在腾讯的IT待过八年,在腾讯的财富通待过三年,做的都是企业的服务。不过腾讯的IT是腾讯自己的企业服务,那些系统因为没有对外面的消费者开放出来,一旦要连到外面的消费者,这个量就发生了质的变化。还有你的上下游,都是要把你的产业链串起来。中国的消费者市场是和全世界其他国家非常不一样的,中国的每个省都是其他一个国家的量,特别是中国的市场,像微信、支付宝这些平台和外国对比非常不一样,他们把我们整个应用的场景非常碎片化,有些API,API对外还要做小程序还有APP等等。

为什么需要中台?业务中台我们希望业务是从同一个地方发出的。接下来讲一下怎么构建一个技术的中台,其实技术的中台以前叫做技术平台,现在为什么叫做技术中台呢?一个技术平台构建完以后,平台的技术可能十年都不变,现在和原来最大的变化就是更新非常快,你要快速地去应对。

基于K8s搭建技术中台

当你去构建一个创业公司的时候,需要去构建这些IT系统,这些IT系统还是按老方式构建还是新的方式构建?我的选择是基于K8s搭建技术中台。

不管是架构还是技术以及研发运营包括业务发展等等各个方面的来说,K8s是我们去构建这些平台的非常好的基础平台,我公司的架构是以云原生应用,这几年也非常火,我的技术用的是.NET Core,这是微软的技术做的容器化应用,研发运营是用Devops的敏捷研发,由这些推动很多的应用,特别是创业公司肯定要做很多应用都是在试错,这个试错要越快越好,而且成本还不能很大,特别是像我这样的一个公司四个人,如果很多东西没有快速的话就出问题了。我们看看K8s的容器,容器部署正以每年75%的速率在增长,超过一半以上的容器环境需要编排工具的辅助,77%的公司的编排工具不会选择。我们从两个角度来看看为什么要K8s,开发人员的心声说,我创建的应用要在我的基础设施,原来虚拟机这些东西太烂了,K8s就是一个命令,开发也是一样,你的测试环境还是运营环境帮我们解决了不可变的,就是你开发测试运营是一样的,不会因为你的运营环境的问题,容器天生帮你解决了这种问题。

做一个东西的话,容器非常容易就去做了,一个想法去实施,包括前面提的无服务器计算也是基于容器,那是更好的一种实验方式。从做IT管理服务器的同学来说,我的服务器需要保证我服务的网页以及程序员开发给我的应用,让我能够我不需要去了解你具体是干什么的,还有服务的稳定有很多的程序合规等等各种问题,这些问题在传统的虚拟机或者物理服务器都是非常头痛的问题,在容器里头搭配K8s容易解决一个问题。这是K8s的编排,这些特性大家一看开发服务化的应用,这些都要去关注;其实这些内容在K8s都有,K8s帮我们去解决这些问题。

它有非常好的架构,它成为一个编排引擎界的标准,它的标准在18个月前,2016年底的时候,那时候在编排领域还有非常多的竞争者, 现在已经确定K8s就是容器编排的一个标准,它有公有云、私有云、混合云、模块化、可插拔等等的特性。谷歌成立了一个基金会,这个基金的第一个开源项目就是K8s,这不是谷歌控制的,是一个基金会控制的,早期包括红帽就在参与,我也对比了一些国内公有云的容器服务,腾讯云的容器服务是非常好用的;现在K8s已经赢了这场战役,未来的方向是容器化。

K8s开发的时候可以助力整个应用,给大家介绍一下腾讯云的容器,它的容器服务产品叫做TKE,是腾讯云基于K8s不依赖与IaaS层的一站式云原生Paas服务平台,有包括集群调度、Helm应用编排、Docker镜像管理、Istio服务治理等等的功能。这里有一个大家要面对的问题,是自建到K8s还是云自建到K8s,我画了一个表,自己构建一个K8s集群要面对的问题,这些问题对于一个创业公司来说是不可能完成的任务,如果能够完成这个任务就可以去搞一个用容器云的创业公司,2015—2018年非常火热的领域,有很多人在搞这些,也有很多基于开源的K8s自己搞容器云的创业。对于我们来说为什么选择TKE?这是一个对比图,如果大家自己没有一个团队去运营这个K8s,云上K8s是一个非常好的选择。除了K8s之外,还有另外一种,我们公司基于K8s技术平台的几点,在TKE上面构建,它有一套的系统,还有微服务的架构,包括dotnet,我还是要吐槽一下腾讯云开发组的服务不太好用,我用了微软云的来搭配腾讯云。我希望后面腾讯云能够把这一块产品做好,我可以把它切回来。基于K8s很多的核心能力可以完成非常多的功能,灰度发布、滚动升级、弹性伸缩、故障自愈这些都不是问题,开发微服务可以用任何云,但是对一个创业公司来说一定是统一的进入站是最好的,所以我选择了.NET Core开发微服务和高效能的微服务,下面会介绍一下.NET Core的内容。

基于K8s搭建技术中台,一是业务,二是公共服务,三是PaaS运行平台,在还有网关,腾讯云也有网关,我用自己开发的网关,这是我参与的开源项目,和K8s非常的配合。

为什么选择 .NET Core

为什么选择.NET Core?我们可能只会占到这个里面的一部分,首先对创业来说,一定是选择一个平台一种语言是最好的,这个是语言平台给我们提供的,包括系统的整个规范;选择我们团队熟悉能掌控的技术来做,也要选择一个更现代一些的,包括设计活跃度要高,.NET Core社区这几年也非常活跃,上面有非常多的.NET Core的开源项目,这是我们的选择的理由。.NET Core是一个跨平台的开发平台,有非常短的名字,www.dot.net,它成立了一个基金会,有非常多的公司参与,生态非常丰富。生态里面有非常多的项目,可以跑在各种平台,这个图是云原生基金会,有两个轴,一是X轴开源项目的开发速度,整个成长速度,Y轴是提交的PR或者问题的,体现它的活跃度,K8s都是非常活跃的,但是有一个开发平台在里面非常活跃。

这个图是微软的.NET Core的开源之路,微软在2001年有一个ECMA335协议,就是可以实现.NET Core跨平台的,微软在20年后才实现这个目标,有这个规范以后,微软在2002年发布了NET1.0 for Windows,Mono项目启动。2008年ASP.NET MVC开源,2014年微软启动.NET Core项目的开发开源,在启动的项目之前成立这个基金会,2017年发布.NET Core2.0,现在最新版本是2.2版本在今年的9月份也就是未来的三个月后会发布.NET Core3.0,性能会提高很多。2020年微软会实现一个大目标,.NET Core5.0。

这是性能的对比,.NET Core是Java的两倍多,可以做所有的产品,桌面、WEB、云端开发、手机、GAMING、IOT和AI,中国有一堆培训公司哪个热门就生产哪个,我认为.NET Core一样可以开发。你可以享用你的任何工具,这就是对一个创业公司基于.NET Core可以看的事,我们能做所有的事情。对于很多大公司来说降低成本也是用这个,可以带来非常大的益处。这是从推特上截的图,.NET Core3.0还没有发布,3.0到2.0的性能优化非常恐怖,性能的吞吐提升42%,内存下降90%。如果大家需要用TKE的一些问题也可以找我,下午分享的内容就是这些。

Q:您好,我想问一下开源以后微软是否会继续进入手机操作系统的市场?

A:这个图表明了你很容易把你的技能在移动端实现,比如说你做IOS安卓的开发,.NET Core这个平台也可以做。你想进腾讯做游戏,IEG的手游,也是可以转,这些都是客户端。

Q:您好,我有两个问题,一是如果是多云的环境下,如何统一管理基于.NET Core以及K8s的平台?二是目前在测试.NET Core的测试环境中遇到的问题,比如说通用宿主如果出现了问题,需要运维去人工干预的话,有没有什么好的工具或者方式来减少人工干预的次数?

A:云都会提供产品,我记得华为有一个,有很多创业公司也在搞这个,多云的管理也是一个多集群的管理,跨越的管理,我有一个朋友在创业就是搞容器,后面我可以介绍给你。第二个问题,在虚拟机上跑或者物理机上跑,会发生这种情况你要解决为什么会发生这种情况,是不是因为你自己服务的不稳定。

-------END-------

你可能还想阅读:

  架构师成长之路之限流

  腾讯游戏营销活动在腾讯云K8S上的实践

  详解腾讯云IoT全栈产品矩阵,6大产品及3大案例

  韩欣:企业微服务技术中台落地实践(附视频回顾)

关注云加社区,回复 3 加读者群

在看,让更多人看到!



推荐阅读
  • Docker下Prometheus和Grafana三部曲之一:极速体验
    开源监控工具Prometheus目前广为使用,配合Grafana即可直观展现监控数据,但对于初学者来说搭建这样一个系统要花费些时间,或者有 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 云原生SRE
    序言年底了,没有分手的朋友的赶紧分了,所谓新年新气象,年年不重样。去留无意,望看风卷残云。。。运维不会消失,但 ... [详细]
  • 团队作业第二次—项目选题报告(追光的人)
    所属课程软件工程1916作业要求团队作业第二次—项目选题报告团队名称追光的人作业目标组员提出选题,大家挑选出可行性最高的进行分析,制作选题报告和选题PPT目录队员贡献分比例选题报告 ... [详细]
  • 阿里巴巴DevOps实践指南 | 云端开发
    开发者工具打造围绕开发者全生命周期的工具产品https:developer.aliyun.comtool?spma1z389.11499242.0.0.654524137BG3J ... [详细]
  • Ubuntu下怎么安装docker-ce
    这篇文章主要介绍“Ubuntu下怎么安装docker-ce”,在日常操作中,相信很多人在Ubuntu下怎么安装docker-ce问题上存在疑惑,小编查阅了各式资料,整 ... [详细]
  • 恶意软件分析的最佳编程语言及其应用
    本文介绍了学习恶意软件分析和逆向工程领域时最适合的编程语言,并重点讨论了Python的优点。Python是一种解释型、多用途的语言,具有可读性高、可快速开发、易于学习的特点。作者分享了在本地恶意软件分析中使用Python的经验,包括快速复制恶意软件组件以更好地理解其工作。此外,作者还提到了Python的跨平台优势,使得在不同操作系统上运行代码变得更加方便。 ... [详细]
  • Servlet多用户登录时HttpSession会话信息覆盖问题的解决方案
    本文讨论了在Servlet多用户登录时可能出现的HttpSession会话信息覆盖问题,并提供了解决方案。通过分析JSESSIONID的作用机制和编码方式,我们可以得出每个HttpSession对象都是通过客户端发送的唯一JSESSIONID来识别的,因此无需担心会话信息被覆盖的问题。需要注意的是,本文讨论的是多个客户端级别上的多用户登录,而非同一个浏览器级别上的多用户登录。 ... [详细]
  • Spring框架《一》简介
    Spring框架《一》1.Spring概述1.1简介1.2Spring模板二、IOC容器和Bean1.IOC和DI简介2.三种通过类型获取bean3.给bean的属性赋值3.1依赖 ... [详细]
  • OpenMap教程4 – 图层概述
    本文介绍了OpenMap教程4中关于地图图层的内容,包括将ShapeLayer添加到MapBean中的方法,OpenMap支持的图层类型以及使用BufferedLayer创建图像的MapBean。此外,还介绍了Layer背景标志的作用和OMGraphicHandlerLayer的基础层类。 ... [详细]
  • 本文探讨了容器技术在安全方面面临的挑战,并提出了相应的解决方案。多租户保护、用户访问控制、中毒的镜像、验证和加密、容器守护以及容器监控都是容器技术中需要关注的安全问题。通过在虚拟机中运行容器、限制特权升级、使用受信任的镜像库、进行验证和加密、限制容器守护进程的访问以及监控容器栈,可以提高容器技术的安全性。未来,随着容器技术的发展,还需解决诸如硬件支持、软件定义基础设施集成等挑战。 ... [详细]
  • 微信商户扫码支付 java开发 [从零开发]
    这个教程可以用作了解扫码支付的整体运行过程,已经实现了前端扫码,记录订单,回调等一套完整的微信扫码支付。相关链接:微信支 ... [详细]
  • TiDB | TiDB在5A级物流企业核心系统的应用与实践
    TiDB在5A级物流企业核心系统的应用与实践前言一、业务背景科捷物流概况神州金库简介二、现状与挑战神州金库现有技术体系业务挑战应对方案三、TiDB解决方案测试迁移收益问题四、说在最 ... [详细]
  • 周末,受微软公司的邀请,参加微软主持的云容器培训会议,为参加培训的学院提供技术辅导,引导学员体验微软云端的DevOps实践。说是辅导,实际上自己也学到了许多的内容,包括K8S集群、负载、Azure中 ... [详细]
  • 语境:我们正在使用AzureDevOps,并且开始在我们的DevOps周期和流程中利用越来越多的PAT。我们有大约30个用户, ... [详细]
author-avatar
平凡咸伟
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有