OptaPlanner - 把example运行起来(运行并浅析Cloud balancing)

经过上面篇长篇大论的理论之后,在开始讲解Optaplanner相关基本概念及用法之前,我们先把他们提供的示例运行起来,好先让大家看看它是如何工作的。OptaPlanner的优点不仅仅是提供详细丰富的文档 ,还为各种应用场景提供丰富的示例,它的文档里都是以几个简单经典的例子来说名各种功能特征和深层次概念的,例如Solver, Phase及Move等,以下我们就先把这些示例运行起来,先看看整体的情况,下一往篇我们再把示例的源码导进Eclipse,拿一个简单经典的示例,讲解一下Optaplanner规划引擎工作时需要哪些要素,它是如何工作的。1.下载: 首先得把示例下载回来,大家到Optaplanner的官网就可以看到一个绿色的按钮(见下图),点击它就可以下载了。它的版本更新非常快,我们就基于7.6.0Final进行讲解。图片描述解压:下载回来的压缩包“optaplanner-distribution-7.6.0.Final.zip”包含了Optaplanner的源码、各种包(引擎自己的核心包及其依赖包)、说明文件和示例及其源码。其中示例包括两个版本,一个是基础Swing的,也就是Java的Windows程序;另一个是基于Web的,以War包提供,需要自己部署Tomcat等App服务器来运行。我们着重讨论Swing版本的,因为它不需要我们部署App服务器。如果以后大家有需要,我可以另写一篇专门部署Web版本示例的文章详细讲解。打开压缩包,里面的文件夹结构如下图:图片描述试运行示例:因为压缩包中除了提供源码,还提供了已编译的包,只要在你系统中安装好Java环境,就可以运行起来,先看个究竟了。ps:java要1.8以上。3.1: 解压示例文件:你会看到一个包文件夹(binaries),一个源码文件夹(sources),一个windows批处理命令文件(runExamples.bat)和一个Linux下运行示例的Shell文件 (runExamples.sh). 因为我是在Windows环境下运行的,所以把binaries和runExamples.bat解压出来放在同一文件夹即可,examples子文件夹中的目录结构如下图。图片描述3.2 运行示例:如果windows下使用cmd不太熟悉的话,就按我下面的步骤操作.完成之后就可以看到它示例的真容了。示例程序是基于Swing做的,理论上通过里面的批处理文件就可以运行起来,其实里面就是一些运行jar包的命令,只不过它会有更多的功能,例如检查当前系统的JRE等等。不过中间有点小插曲,我使用7.6.0的示例运行的时候,它报了一个slf4j找不到的异常,应该是一个日志组件缺少了,我要看看它这个版本的更新记录,看是否有相关的提示,否则我得联系一下他们项目组的人才行。后来我用7.5.0Final的示例可以正常运行起来了。图片描述通过鼠标右键调出CMD图片描述运行示例批处理文件图片描述多达18个示例,最简单的N王后问题,到复杂的车辆路线规划问题.7.5.0版本提供了18个示例,已经 包含了几乎所有Optaplanner规划引擎具有的特性及应用模式。但其实在他们的Github中提供了更多的示例,有兴趣的同学可以关注一下Github上optaplanner项目的leader Geoffrey De Smit,他现在是Optaplanner项目的头儿,也是Optaplanner的作者,10多年前他开发了Optaplanner,前些年他把它贡献给了JBoss开源社区,任这个项目的头儿。我在使用Optaplanner做项目的时候,他们的讨论组上向他提过一些问题,他为人相当nice且有耐心,给我解答了不少问题。3.3 运行示例: 我们选择一个比较经典的Cloud balancing示例运行一下看看。先说明一下这个示例,这个示例是模拟在云端进行进程管理(或称进程调度,或称任务调度吧),也就是进程分配到不同的计算资源(也就是计算机)的方案,演示Optaplanner规划引擎是如何在保证每个进程都满足运行要求的情况下,以最节省成本的方式分配计算机资源的。示例中有两个主要实体概念 - 进程(Process,下面跟着官方文档称Process吧, 可以理解为我们的程序,或任务)和Computer(也就是我们理解的计算机、服务器了)。每个Process有CPU速度,内存大小和网络带宽三大要求。对应地,每台Computer也有一个固定的参数,表明该Computer可提供的CPU速度、内存大小和带宽;Computer另外还有一个属性就是成本。也就是这台电脑一但被使用了,就需要花费成本去维护。这个示例的目标是:给出一些Process和一些Computer,Optaplanner规划引擎在对这些实体进行对比运算,将所有Process分配到指定的一台Computer, 这个分配方案有两个要求:1.硬性要求: Process所分配到的Computer必然满足CPU,内存和带宽三大要求要求。ps:当多个Process被分配到同一个Computer时,它的CPU,内存和带宽资源占用是累加的,也就是说,当台Computer只有2G内存,若已经有一个内存需求是1G的Process被分配在它上面,那后面可以再分配给它的Process,其内存要求必然是1G以下的,因为这进修这台Computer还只剩下1G内存了,CPU和带宽也是同样的分配规则。软性要求:任何一台Computer一旦有任务分配进去,即表示该Computer被占用,需计算这台Computer的成本。Optaplanner规划引擎需要找找出一个方案,在满足了第1点的硬性要求的前提下,令到这所有被占用的Computer的成本加起来尽量小(为什么不能说最小呢?因为这是一个NPC问题,不一定可以找到成本最小的,也就是 说不一定能找到最佳方案的,详情参考本系列文章中,关于规则问题与NP, NPC问题的篇章). 下图是我进入这个示例后,选择了9个Processes分配到3台Computers上的示例。Optaplanner的示例程序都提供这些示例的相关数据,只要选择就可以了,所以还是比较贴心的,但我们自己做项目过程中,去生成、处理这些数据的工作量,就点了系统的不少比例了。图片描述Cloud balancing示例中Process与Computer信息图片描述每个Process对计算资源的要求3.4. 运行并解读示例:点击顶端的Solve按钮,引擎就开始工作,它会不断尝试不同的组合方案(这是一个非常复杂的过程,涉及到中种搜索算法Tabu,模拟退火等),找到既满足Process对CPU、内存和带宽的要求,且所使用的所有Computer中,成本加起来尽量小。下面就是运行了一段时间之后,9个Process分配到了两个Computer的情况。所得的方案的好坏,是通过评分来实现的,关于评分,可以查看后面Optaplanner规划引擎关于分数方面的文章。图片描述运行结果,以硬分数(反映资源敏合度)和软分数(反映成本)组成。 好了,到目前为止我们已经初成功能运行起了它的示例,大家也可以尝试一下其它示例,各个示例的背景,可以到Optaplanner官网关于示例的章节中查看。我在后面的文章中,也会找几个具代表性的示例进行翻译。在下一篇,我们就要用这个示例的源码生成Eclipse中项目,好让大家可以更深入具体了解Optaplanner的实现。谢谢。End.Optaplanner开源规划引擎地址:www.optaplanner.org如需了解更多关于Optaplanner的应用,请发电邮致:kentbill@gmail.com或到讨论组发表你的意见:https://groups.google.com/for…若有需要可添加本人微信(13631823503)或QQ(12977379)实时沟通,但因本人日常工作繁忙,通过微信,QQ等工具可能无法深入沟通,较复杂的问题,建议以邮件或讨论组方式提出。(讨论组属于google邮件列表,国内网络可能较难访问,需自行解决)

April 18, 2019 · 1 min · jiezi

网络分析利器wireshark命令版:Apache Spot中tshark模块(3)

tshark是网络分析工具wireshark下的一个工具,主要用于命令行环境进行抓包、分析,尤其对协议深层解析时,tcpdump难以胜任的场景中。本系列文章将整理介绍tshark相关内容。本文将介绍与tshark相关的开源系统。Apache SpotSpot简介Apache Spot是一个开源软件,提供流量和数据包分析的洞察力。通过透明的服务交付,可以帮助识别企业与服务提供商或在云规模运营的资源之间发生的攻击、潜在安全威胁,深入了解其网络环境及安全风险。虽然威胁情报工具有助于识别未知威胁和攻击,但发现未知威胁仍然是一项挑战。 Apache Spot通过大数据和科学计算学科中强大的技术,专注于检测诸如横向移动,旁道数据逃逸,内幕问题或隐身行为等事件的“深层安全问题”,使用流量和数据包分析技术暴露可疑连接和以前看不见的攻击的能力,为公司构建一个旨在支持这一战略的解决方案。整体架构主要功能及特点 感知Telemetry Flows.域名解析DNS (pcaps).代理Proxy.** 并行采集框架Parallel Ingest Framework开源解码器Open source decoders.读取hadoop数据Load data in Hadoop.数据转换Data transformation. 机器学习Machine Learning 快速过滤10亿级事件Filter billion of events to a few thousands.无监督学习Unsupervised learning. 操作分析Operational Analytics 可视化Visualization.启发式分析Attack heuristics.噪音过滤Noise filter.Spot采集架构由上图可知,Apache Spot在处理DNS流量时采用tshark方案,用于协议解析数据ETL等工作。tshark相关源码根据架构图,发现主要在ingest模块,查看相关源码,可以发现Spot是如何应用tshark的。具体代码如下:查看源码 spot-ingest/pipelines/dns/worker.py # build process cmd. process_cmd = “tshark -r {0}{1} {2} > {0}{1}.csv”.format(self._local_staging, file_name, self._process_opt)再查看相关配置 spot-ingest/ingest_conf.json “dns”:{ “type”:“dns”, “collector_path”:"/collector_path/dns", “local_staging”:"/collector_path/dns/tmp", “supported_files”:[".pcap"], “pkt_num”:“650000”, “pcap_split_staging”:"/collector_path/dns/dns_staging", “process_opt”:"-E separator=, -E header=y -E occurrence=f -T fields -e frame.time -e frame.time_epoch -e frame.len -e ip.src -e ip.dst -e dns.resp.name -e dns.resp.type -e dns.resp.class -e dns.flags.rcode -e dns.a ‘dns.flags.response == 1’" },上面Dshark命令就不详细介绍,可参考上篇文章: tshark使用示例(2)尝试Demo部署docker环境抽取docker镜像: docker pull apachespot/spot-demo启动镜像: docker run -it -p 8889:8889 apachespot/spot-demo在浏览器中打开 http://localhost:8889/files/ui/flow/suspicious.html#date=2016-07-08 参考 Apache Spot主站incubator-spot 系列文章: 网络分析利器wireshark命令版:tshark简介(1)网络分析利器wireshark命令版:tshark使用示例(2)网络分析利器wireshark命令版:Apache Spot中tshark模块(3)[网络分析利器wireshark命令版:tshark结合ES(4)] ...

April 17, 2019 · 1 min · jiezi

Python写的比特币和多种加密通货钱包

啥东西一个用python和urwid写的多功能数字货币钱包为什么你需要这个东西透明这是一个开源项目,所有人都可以看代码。安全你持有账户私钥,没人能偷走你的资产。可靠基于一个透明且开源运作的分布式区块链项目 :Mixin Network。主网已经于2019年2月末上线。有用不仅仅能保存比特币,还能保存其他币(Ethereum, EOS, XRP…)。快确认一笔交易只需要1秒钟。保护你的隐私匿名创建账户,匿名交易和付款。强大内置1秒闪兑交易所,可以交易比特币和主流加密资产。交易结束资产回到自己的钱包,不用放在中心化交易所,不担心交易所被攻击。 这是一个开放世界的入口通过开放式交易所可以在买卖任何ERC20 token。你自己创建都可以。有真随机数生成器保证的骰子游戏。安装Python 3:这个钱包基于Python3。macOSbrew upgradebrew install python@3Ubuntu使用第三方源安装python3sudo apt updatesudo apt install software-properties-commonsudo add-apt-repository ppa:deadsnakes/ppa遇到如下提示,敲击EnterPress [ENTER] to continue or Ctrl-c to cancel adding it.更新apt,安装 python3.7, python3.7-venvsudo apt updatesudo apt install python3.7 python3.7-venvsudo ln -s /usr/bin/python3.7 /usr/bin/python3确认python3 和Python3-env$ python3 -VPython 3.7.2下载代码库并且创建env环境git clone https://github.com/awesome-mixin-network/bitcoin-cli-wallet-python.gitcd bitcoin-cli-wallet-pythonpython3 -m venv ./激活环境source ./bin/activate安装依赖包先升级pip,然后安装依赖软件库pip install –upgrade pippip install -r requirements.txt运行代码python Bitcoin_Wallet_Mixin_consoleGUI.py

April 2, 2019 · 1 min · jiezi

RISC-V中国路演

我们很高兴的公布11天内跨5个城市的RISC-V中国路演。RISC-V基金会将在中国举办一系列免费的RISC-V入门活动。这些为期一天的活动将展示基金会成员的创新RISC-V实施。深圳5月6日 May 6, 2019深圳富苑皇冠假日套房酒店成都5月8日 May 8, 2019成都天府丽都喜来登饭店杭州5月13日 May 13, 2019JW万豪酒店上海5月14日 May 14, 2019上海苏宁宝丽嘉酒店北京5月16日 May 16, 2019北京中关村皇冠假日酒店KubeCon + CloudNativeCon + Open Source Summit大会日期:会议日程通告日期:2019 年 4 月 10 日会议活动举办日期:2019 年 6 月 24 至 26 日KubeCon + CloudNativeCon + Open Source Summit赞助方案KubeCon + CloudNativeCon + Open Source Summit多元化奖学金现正接受申请KubeCon + CloudNativeCon和Open Source Summit即将首次合体落地中国KubeCon + CloudNativeCon + Open Source Summit购票窗口,立即购票!CNCF邀请你加入最终用户社区

March 28, 2019 · 1 min · jiezi

Zephyr OS 1.14(LTS)错误修复大赛

Zephyr项目社区正在准备发布Zephyr OS 1.14,这是迄今为止我们最大的合作项目!我们感谢成员和才华横溢的开发者的所有支持,帮助我们满足这么多技术里程碑。为了表达我们的赞赏,Zephyr项目将向Zephyr OS 1.14修复bug最多的5个贡献者,发送由我们的白金会员NXP提供的i.MX RT1050!该板将高性能与实时功能相结合。i.MX RT系列分频处理器旨在支持下一代物联网应用,具有高水平的集成度和安全性,并以实惠的价格实现MCU级别的可用性。使用i.MX RT1050 EVK,开发者可以通过类似MCU的可用性简化产品设计,并利用当前的工具链,包括MCUXpresso。i.MX RT1050 EVK是一款4层通孔USB供电PCB。i.MX RT1050交叉处理器的核心是NXP先进的Arm® Cortex®-M7内核,运行速度高达600MHz。要获得i.MX RT1050的参赛资格,请将所有已解决的错误和问题列表发送至info@zephyrproject.org。请确保在2019年10月到2019年4月中旬Zephyr OS 1.14版本之间包含你的名称和链接到你负责修复的错误。Zephyr Project TSC成员不符合参加本次竞赛的资格。欢迎并鼓励来自Zephyr项目成员公司的非TSC成员参与。还有时间参与其中!如果你是Zephyr项目的新贡献者,那么开始的好地方就是查看GitHub的“问题”部分。请遵循贡献者指南,确保你的贡献符合我们的编码标准。如有疑问,请联系Thea Aldrich,电子邮件:info@zephyrproject.org。请继续关注Zephyr项目博客,了解NXP和其他Zephyr项目成员赞助的更多竞赛和赠品。Zephyr OS 1.14(LTS)发布一周后,将通知本次比赛的获胜者。要了解更多信息或提出问题,请注册Zephyr Project Slack频道:https://zephyrproject.slack.com/。KubeCon + CloudNativeCon + Open Source Summit大会日期:会议日程通告日期:2019 年 4 月 10 日会议活动举办日期:2019 年 6 月 24 至 26 日KubeCon + CloudNativeCon + Open Source Summit赞助方案KubeCon + CloudNativeCon + Open Source Summit多元化奖学金现正接受申请KubeCon + CloudNativeCon和Open Source Summit即将首次合体落地中国KubeCon + CloudNativeCon + Open Source Summit购票窗口,立即购票!CNCF邀请你加入最终用户社区

March 28, 2019 · 1 min · jiezi

CNCF案例研究:AppDirect

AppDirect:AppDirect如何通过Kubernetes支持其工程人员的10倍增长公司:AppDirect地点:旧金山,加利福尼亚工业:软件挑战AppDirect为基于云的产品和服务提供端到端的商务平台。当软件开发总监Pierre-Alexandre Lacerte于2014年开始在那里工作时,该公司在“tomcat基础架构上部署了一个单体应用程序,整个发布过程非常复杂。”他说。“涉及有很多手动步骤,一个工程师构建一个功能,然后另一个团队接手更改。所以你有一个瓶颈,将一个功能发送给生产。”与此同时,工程团队也在不断发展,公司意识到需要一个更好的基础设施来支持这种增长并提高速度。解决方法“我的想法是:让我们创建一个团队可以更快地部署他们的服务的环境,他们会说,‘好吧,我不想再建立单体。我想建立一个服务’。”Lacerte说。在决定于2016年初采用Kubernetes之前,他们考虑并制作了几种不同技术的原型。Lacerte的团队还将Prometheus监控集成到平台中;下一布是追踪。如今,AppDirect已在生产中部署了50多个微服务,在AWS和全球各地部署了15个Kubernetes集群。影响Kubernetes平台帮助支持了工程团队在过去几年中的10倍增长。加上他们不断增加新功能的事实,Lacerte说,“如果我们没有这种新的基础设施,我认为我们的速度会慢下来。”迁移到Kubernetes和服务意味着部署变得更快,因为减小了对SCP命令的定制以及脆弱shell脚本的依赖性。部署新版本的时间从4小时缩短到几分钟。此外,该公司投入了大量精力为开发者提供自助服务。“上线新服务不需要Jira门票或与三个不同的团队会面。”Lacerte说。今天,该公司每周可以看到1,600次部署,而之前是1-30次。该公司还通过将其市场和计费单块,从传统的EC2主机迁移到Kubernetes,以及利用自动缩放来实现成本节约,因为在工作时间内流量更高。“这是一个巨大的工程文化转变,但在规模和速度方面的好处是不可否认的。” - ALEXANDRE GERVAIS,软件开发者,APPDIRECT凭借其基于云的产品和服务的端到端商务平台,AppDirect自2009年以来一直在帮助Comcast和GoDaddy等组织简化数字供应链。当软件开发总监Pierre-Alexandre Lacerte于2014年开始在那里工作时,该公司在“tomcat基础架构上部署了一个单体应用程序,整个发布过程非常复杂。”他说。“涉及有很多手动步骤,一个工程师构建一个功能,然后创建一个拉取请求,之后一个QA或另一个工程师验证该功能。然后合并,其他人将负责部署。所以我们将一项功能运送到生产有瓶颈。”与此同时,40人的工程团队正在发展壮大,该公司希望为其产品增加越来越多的功能。作为平台团队的一员,Lacerte开始听取多个团队的意见,他们希望使用不同的框架和语言部署应用程序,从Node.js到Spring Boot Java。他很快意识到,为了支持增长和提高速度,公司需要一个更好的基础设施,一个团队自治的系统,可以自己进行部署,并为他们自己的生产服务负责。“我们在正确的时间做出了正确的决定。Kubernetes和云原生技术现在被视为事实上的生态系统。我们知道在哪里集中精力来应对我们在扩展时面临的新一轮挑战。社区是如此活跃和充满活力,这是我们卓越的内部团队的重要补充。” - ALEXANDRE GERVAIS,软件开发者,APPDIRECT从一开始,Lacerte说:“我的想法是:让我们创建一个团队可以更快地部署服务的环境,他们会说,‘好吧,我不想再建立单体。我想建立一个服务。’”(Lacerte在2019年离开了公司。)通过与运营团队合作,Lacerte的团队获得了对公司AWS基础架构的更多控制权和使用权,并开始了几种编排技术的原型设计。“当时,Kubernetes有点地下,不为人知。”他说。“但我们看了社区,拉动请求的数量,GitHub上的速度,我们看到它正在变得越来越有吸引力。我们发现管理比其他技术更容易。”他们使用Chef和Terraform配置在Kubernetes上跑了前几个服务,并且随着更多服务的增加,也有更多的自动化。“我们在世界各地都有集群 - 在韩国、澳大利亚、德国和美国。”Lacerte说。“自动化对我们至关重要。”他们现在主要使用Kops,并且正在寻找来自多家云提供商的托管Kubernetes产品。今天,虽然单体应用仍然存在,但提交和功能越来越少。所有团队都部署在新的基础架构,服务是常态。AppDirect现在拥有50多个微服务器,在AWS和全球各地部署了15个Kubernetes集群。Lacerte的策略最终奏效,因为Kubernetes平台对部署时间产生了非常实际的影响。由于减小了对SCP命令的定制以及脆弱shell脚本的依赖性,部署新版本的时间从4小时缩短到几分钟。此外,该公司投入了大量精力为开发者提供自助服务。“上线新服务不需要Jira门票或与三个不同的团队会面。”Lacerte说。今天,该公司每周可以看到1,600次部署,而之前是1-30次。“如果我们没有这种新的基础设施,我认为我们的速度会放慢很多。” - PIERRE-ALEXANDRE LACERTE,软件开发总监,APPDIRECT此外,Kubernetes平台在过去几年中帮助支持了工程团队10倍的增长。“所有权,AppDirect的核心价值,反映了我们独立于单体代码库提供服务的能力。”与Lacerte合作的软件开发者Alexandre Gervais说道。“小型团队现在拥有我们业务领域模型的关键部分,他们在专业知识的分离领域运营,对整个代码库知之甚少。这减少并隔离了一些复杂性。”加上他们不断增加新功能的事实,Lacerte说,“如果我们没有这种新的基础设施,我认为我们的速度会慢下来。”该公司还通过将其市场和计费单块从传统的EC2主机,迁移到Kubernetes,以及利用自动缩放来实现成本节约,因为在工作时间内流量更高。AppDirect的云原生堆栈还包括gRPC和Fluentd,该团队目前正在设置OpenCensus。该平台已经集成了Prometheus,因此“当团队部署他们的服务时,他们会收到通知、警报和配置。”Lacerte说。“例如,在测试环境中,我想在Slack上收到一条消息,在生产中,我想要一条Slack消息,我也希望收到传呼。我们已经与PagerDuty集成。团队对他们的服务拥有更多的所有权。”“我们从’推送代码分支’的文化转到代码库之外的令人兴奋的新职责:功能和配置的部署;应用程序和业务指标的监控;以及在中断情况下的随叫随到的支持。一个巨大的工程文化转变,但在规模和速度方面的好处是不可否认的。” - PIERRE-ALEXANDRE LACERTE,软件开发总监,APPDIRECT这当然也意味着更多的责任。“我们要求工程师扩大他们的视野。”Gervais说。“我们从’推送代码分支’的有限度工作文化,转到代码库之外的令人兴奋的新职责:功能和配置的部署;应用程序和业务指标的监控;以及在中断情况下的随叫随到的支持。一个巨大的工程文化转变,但在规模和速度方面的好处是不可否认的。”随着工程队伍的不断增长,平台团队面临着新的挑战,即确保Kubernetes平台可供所有人访问和使用。“我们怎样才能确保当我们为团队增加更多人员时,他们能提高效率,提高工作效率,并知道如何在平台上开发?”Lacerte 说。“所以我们有布道者、文档、一些项目实例。我们做演示,我们有AMA会议。我们尝试不同的策略来引起所有人的注意。”在他们Kubernetes之旅的三年半时间里,Gervais认为AppDirect“在合适的时间做出了正确的决定”,他说。“Kubernetes和云原生技术现在被视为事实上的生态系统。我们知道在哪里集中精力来应对我们在扩展时面临的新一轮挑战。社区是如此活跃和充满活力,这是我们卓越的内部团队的重要补充。展望未来,我们的重点将是通过在日常运营中提供额外的商业价值来从生态系统中获益。”KubeCon + CloudNativeCon + Open Source Summit大会日期:会议日程通告日期:2019 年 4 月 10 日会议活动举办日期:2019 年 6 月 24 至 26 日KubeCon + CloudNativeCon + Open Source Summit赞助方案KubeCon + CloudNativeCon + Open Source Summit多元化奖学金现正接受申请KubeCon + CloudNativeCon和Open Source Summit即将首次合体落地中国KubeCon + CloudNativeCon + Open Source Summit购票窗口,立即购票!CNCF邀请你加入最终用户社区

March 28, 2019 · 1 min · jiezi

最普及的开源SDN控制器OpenDaylight发布Neon版本庆祝成立六周年

作者:Jill Lovato仅用了6年时间,OpenDaylight拥有10个版本、1000多个作者/提交者、100K+提交、以及1B+全球订阅者的强大网络Neon版本加强了SDN控制器功能,并推动了对边缘、云原生和下游项目(如ONAP,Kubernetes和OpenStack)的支持旧金山 - 2019年3月26日 - LFN(LF Networking)促进网络项目的协作和卓越运营,今天宣布OpenDaylight(ODL),这个最普遍的开源软件定义网络(SDN)控制器,庆祝成立六周年发布OpenDaylight Neon版本。作为Linux基金会的第一个网络项目,现在是LFN的一部分,OpenDaylight于2013年成立,是一个开源框架,旨在加速采用、促进创新、并为SDN创建更加开放和透明的方法。如今,ODL已经成为最普及的开源SDN控制器,帮助支持1B全球网络用户。其第10版本OpenDaylight Neon展示了业界致力于培养开放、可扩展和可互操作的网络解决方案,并支持开发者、集成商和用户的生态系统。“这在很大程度上归功于模块化和可扩展的软件架构,这使得OpenDaylight可以在各种用例中使用。”OpenDaylight技术指导委员会主席Abhijit Kumbhare说。“Neon展示OpenDaylight的长寿以及与其他项目的集成,如Kubernetes、ONAP、OPNFV和OpenStack。”Linux基金会运营、网络和协调副总裁Phil Robb说。“社区在提供平台版本方面的凝聚力给我留下了深刻的印象,这些版本的更新和功能可以增强不断发展的SDN用例。”最普及的开源SDN控制器范围、多样性和部署:在短短六年时间里,OpenDaylight已经在1000多位作者/提交者的帮助下提供了10个版本,这些作者/提交者在数十个不同的组织中贡献了100K+提交。此外,基于ODL的解决方案可为超过1B的全球网络用户提供支持。来自顶级供应商和最终用户的支持:随着时间的推移,ODL社区的贡献已从一组精选的初始创建者转移到各种各样的全球用户和供应商,所有这些都构建和利用基于ODL的解决方案。按需贡献上游:作为一个强大的开源SDN控制器,ODL继续受到跨网络堆栈层的关键下游项目的追捧,包括Akraino Edge Stack、Kubernetes、OpenStack、ONAP、OPNFV等。更多行业合作伙伴继续部署ODL平台,实现开放式SDN/NFV的强大功能。最近的例子包括:Coweaver是韩国最大的光网络系统制造商之一,它使用ODL建立其网络管理服务(NMS),供韩国和全球供应商使用FRINX的UniConfig,现在由PANTHEON.tech的lighty.io提供支持,基于OpenDaylight,使供应商能够更快地构建和部署应用程序浪潮基于OpenDaylight的SDN控制器用于管理企业和政府云环境的虚拟和物理设备NoviFlow与Lumina Networks之间的合作伙伴关系是基于OpenDaylight的SDN控制器解决方案提供商,他们共同使用OpenDaylight作为解决方案的一部分,以创建和交付基于意图的Terabit规模网络,从而降低成本和网络复杂性。Lumina Networks还刚刚发布了Lumina扩展和适应平台(Lumina Extension & Adaptation Platform,LEAP),该平台将OpenDaylight的优势扩展到传统设备以及高级模型到模型转换,以及云原生应用(或微服务)开发环境。Telecom Argentina已选择OpenDaylight用于各种用例,包括启用CDN流量优化功能,以改善客户体验并降低数据传输成本与其他开源社区的整合继续增长,包括与OpenStack、Kubernetes、OPNFV和ONAP的合作。 ONAP在其APP-C、SDN-C和SDN-R项目中使用OpenDaylight,用于5G和CCVPN等用例与此同时,包括AT&T、CableLabs、中国移动、爱立信、Globo.com、Orange、腾讯、Verizon等在内的SDN采用者继续在其网络和解决方案中利用OpenDaylight。有关OpenDaylight用户故事的更多详细信息,请到此处。OpenDaylight Neon为关键的SDN用例带来了一流的功能Neon包括对网络用例非常重要的更新功能,例如光传输网络、WAN连接和路由、以及云和边缘环境中的虚拟网络。Neon还具有新的稳定性和可扩展性增强功能,巩固了该项目在与其他开源社区合作以加速下一代网络解决方案方面的领导地位。具体增强包括:云端/边缘网络虚拟化功能已通过Neon版本得到强化,进一步增强了OpenDaylight在生产网络中的适用性光传输基础设施控制现在提供新功能,确保使用开放的北桥API与更高级别的控制器互操作WAN连接。基于Fluorine成熟的BGP堆栈,Neon带来了增强功能,可改善错误报告、重启和网络稳定性提高稳定性和可靠性。除了功能增强和错误修复之外,Neon还包括稳定性和扩展性方面的改进。OpenDaylight继续进行基础架构增强,使供应商和下游开源项目更容易快速整合和部署依赖OpenDaylight的产品和平台。有关OpenDaylight Neon的更多详细信息,请到:https://www.opendaylight.org/…展望未来与4月3日至5日在加利福尼亚州圣何塞举行的开放网络峰会(ONS)一起,OpenDaylight将于2019年4月1日至2日举办一个开发者论坛,用于下一版“Sodium”。更多详情请点击此处: https://wiki.opendaylight.org…:Sodium_Dev_Forum。还将在ONS的LFN展位上展示OpenDaylight与Network Service Mesh的集成。定于2019年中期的ONAP Dublin版本将包括支持SDN-C和APP-C模块的OpenDaylight Fluorine版本。持续对OpenDaylight的支持AT&T“我们很高兴祝贺OpenDaylight六岁生日。”AT&T实验室技术人员杰出会员Brian Freeman说。“AT&T自从Hydrogen版本开始使用OpenDaylight,自2015年以来一直在进行生产部署。今天,我们使用BGPCEP和NETCONF在L3应用程序上进行全球部署。我们的部署从L0 OpenROADM设备的控制范围到L7移动PNF和VNF。毋庸置疑,我们期待试驾Neon版本并将其部署到生产中。“思科“OpenDaylight在短短六年内已经大规模发展,我从一开始就成为社区的一员,我感到非常自豪。”思科工程首席技术官兼首席架构师Dave Ward说。“随着一个庞大的、可永续发展的社区展示了各种开发者、供应商和最终用户之间的强大协作,它成为业界事实上的开源SDN控制器。很高兴看到有多少其他影响巨大的OSS项目正在使用ODL作为核心。我很高兴看到它向未来发展。生日快乐ODL!”爱立信“恭喜OpenDaylight社区关于Neon发布以及它成立六周年。”爱立信解决方案系列NFVi负责人Eric Ericsson表示。“爱立信继续积极向OpenDaylight社区上游贡献,并在我们的商用NFVi解决方案中使用ODL开源软件,使电信运营商能够发展5G,提高生产力,降低OPEX和CAPEX支出。这包括针对云服务的解决方案,以及提供云内和云间网络自动化、多租户和其他高级网络用例。迄今为止,爱立信已向全球50多家服务供应商部署了ODL软件。”浪潮“热烈祝贺OpenDaylight社区发布Neon和项目六周年。”浪潮云服务集团首席技术官Max Zhang表示。“浪潮的Cloud Engine SDN Controller 2.0基于OpenDaylight Nitrogen SR2版本,已在政府和企业云环境中部署。它可以帮助我们的客户快速灵活地部署业务,自动化网络管理,并显着降低运营和维护成本。未来的浪潮云引擎SDN控制器版本将继续使用最新、最稳定的OpenDaylight版本,为我们的客户提供更多功能。”Lumina Networks“OpenDaylight支持和制造的数字化转型并非易事。”Lumina Networks首席执行官Andrew Coward说。“但在六年之后,社区创新的这一令人印象深刻的努力,已经成功地开始向服务供应商重返网络控制和服务创新。能够为我们的共同目标做出贡献,并继续实现这些发布里程碑,我感到很荣幸。”红帽“OpenDaylight项目在六年多前开始实施一系列雄心勃勃的目标,从头开始创建一个社区,以构建一个不断发展、灵活和开源的软件定义网络平台。”Red Hat首席技术官Chris Wright说。“在这六年中,我们已经看到社区驱动创新的力量,将OpenDaylight从渴望转变为SDN开发者和用户的蓬勃发展的开源生态系统。祝贺ODL社区在推出Neon版本方面继续取得成功。”KubeCon + CloudNativeCon + Open Source Summit大会日期:会议日程通告日期:2019 年 4 月 10 日会议活动举办日期:2019 年 6 月 24 至 26 日KubeCon + CloudNativeCon + Open Source Summit赞助方案KubeCon + CloudNativeCon + Open Source Summit多元化奖学金现正接受申请KubeCon + CloudNativeCon和Open Source Summit即将首次合体落地中国KubeCon + CloudNativeCon + Open Source Summit购票窗口,立即购票!CNCF邀请你加入最终用户社区 ...

March 27, 2019 · 1 min · jiezi

智能扩展:成功使用云原生技术扩展基础架构的4个关键技巧

作者:Reda Benzair今天的帖子来自CNCF大使兼Streamroot工程副总裁Reda Benzair。文章最初在Streamroot技术开发者的博客上发布。在这篇文章中,我想与工程经理和后端团队分享一些高级别的要点,以帮助他们成功扩展业务,同时避免一些最常见的陷阱和短视决策。本文伴随Streamroot首席后端工程师Jordan Pittier发布的第一篇文章,以及我们去年11月在HighLoad Moscow的历程演讲。这些分享了我们在从基于VM的架构迁移到基于容器的架构,以及将我们的基础架构迁移到运行在Google Cloud上的Kubernetes的整个过程中所面临的经验和挑战。介绍和背景首先,我将向你介绍Streamroot的一些背景知识,以及为什么我们花时间调整我们的Kubernetes Engine架构,不仅要扩展规模,还要使我们的架构更具容错性。Streamroot是一家为主要内容所有者提供服务的技术供应商 - 媒体集团、电视网络和视频平台。我们的点对点视频传输解决方案为广播者提供了更高的质量和更低的成本,并与现有的CDN基础设施协同工作。去年我们(以及我们客户)面临的最大挑战之一是扩大到FIFA世界杯的破纪录的观众。事实证明,2018年世界杯是有史以来规模最大的直播赛事,Akamai在峰值时的记录的速度为22 Tbps,超过了之前超级碗记录的两倍。Akamai测量的峰值量超过22 Tbps。这是他们在2014年看到的峰值的3倍。Streamroot为法国最大的私人广播公司TF1,以及南美洲的国家电视网络提供了世界杯。为了能够以这种规模为我们的客户服务,我们需要扩展我们自己的Kubernetes引擎并能够更快地扩展。我们需要:处理大量流量,每分钟有数十万个请求到我们的后端在每届世界杯比赛开始时,在几分钟内达到巨大的峰值确保100%防故障、完全容错、坚固的后端能够承受任何故障。作为一名体育爱好者,我知道在现场直播期间甚至有两分钟的停机时间是完全不可接受的…最后但并非最不重要的是,我们必须通过只有少数后端工程师的创业规模团队完成所有这些工作…如果你对我们过去几个月的扩展历程感兴趣,并希望深入了解技术细节,你可以在Jordan Pittier和Nikolay Rodionov在莫斯科举行的HighLoad++会议演讲,以及我们的幻灯片中查看。技巧#1:新事物并不总是好事:使用云原生技术轻装上阵。自加入云原生计算基金会(CNCF)以来,Kubernetes已呈指数级增长,对这一复杂解决方案的兴趣日益浓厚,这是一种开源云原生技术的组合。去年12月,CNCF的KubeCon + CloudNativeCon在西雅图集合了来自世界各地的8000多名与会者。Kubernetes是云原生技术组件之一。还存在许多其他组件,有一些在CNCF托管(https://landscape.cncf.io/),有一些在CNCF之外,如Istio。云原生技术还很年轻,每月在不同领域涌现出各种新组件:存储、安全性、服务发现、软件包管理等。我们的建议:谨慎使用这些新组件,并保持简单(、傻瓜)。这些技术是新的,有时仍然比较粗糙,并以令人难以置信的速度发展。尝试使用所有最新的闪亮技术是没有意义的,特别是在生产中,除非这些技术是出于真正的需要。即使你拥有庞大的优秀工程师团队,你也需要考虑维护、运营和调试这些有时缺乏稳定性的新技术的成本(资源和时间)。作为经理和CNCF大使,我建议遵循CNCF分类(https://www.cncf.io/projects/)来选择具有足够成熟度级别的原生组件。CNCF定义的标准包括采用率、寿命以及是否可以依赖开源项目来构建生产工具。今天,Streamroot只利用了3个项目(Kubernetes、Prometheus和Envoy),这些项目处于成熟水平,并根据CNCF基金会已经“毕业”。那里的大量组件仍处于孵化阶段或沙箱阶段。你仍然可以使用这些,但请记住,你将面临一些风险:稳定性、错误、有限的社区、学习曲线等。最重要的是,要明白,即使可能普遍相信孵化或沙箱阶段的所有原生项目都可以填补空白并成熟生产,但这也需要考虑不会增加架构复杂性的问题。在从CNCF或CNCF外部添加任何新组件之前,请务必先问自己以下事项:我真的需要这个组件吗?我在解决一个真正的基础设施问题吗?我的工程师现在和从长远来看能够应付它吗?图:CNCF分类技巧#2:控制你的成本当启动一个重要的项目,比如将服务从基于VM的服务,转移到Kubernetes支持的基于容器的体系结构时,你的主要关注点可能不是成本,而是成功迁移。虽然你的后端成本可能不是一个即时或中期的问题,但从第一天开始就要考虑到这一点。我强烈建议你尽早跟踪Kubernetes Engine扩展成本,原因如下:清楚地了解你的资源使用情况和软件效率。后端团队的主要关注点是交付,从管理角度来看,通常很难传达高效软件和资源使用的重要性。在你的架构中发现改进的空间。对来自监控和成本进展的信息进行三角测量,有助于我们确定架构的改进。通过简单地使我们的实例适应我们的使用,并更好地了解资源的使用和消耗方式,我们能够将成本降低22%。利用基于数量的成本节约。大多数云供应商(包括Google Cloud和Amazon AWS)都会为提交的实例提供有趣的折扣。不要犹豫,为你的利益使用基础设施成本核算(和减少)。一旦达到一定的支出,即使降低10%的成本,也可以在预算中增加几千甚至几十万美元,这可以用来派遣你的团队参加会议,甚至可以雇用一个新资源来构建你的产品更快!为了说明我的第三点,GCP提供持续使用折扣选项,为长期承诺的实例提供显着折扣。例如,如果你承诺一整年的资源,你可以获得30%的折扣(就只一次,实际上很高兴在月底看到账单!)。这些折扣最高可达57%(!),为期3年。当然,我建议在承诺任何内容之前至少等待6个月,以便确定你最少使用的平均CPU和RAM资源。别怕!你无需成为公司财务或计费方面的专家即可有效跟踪你的成本。例如,如果你希望跟踪每月使用情况,则可以默认为每个项目启用费用提醒,然后使用CSV导出功能输入你喜欢的电子表格工具。或者,在GCP上,你可以启用Bigquery Billing Export选项,以便每日导出资源消耗的所有详细信息。然后,花几分钟时间构建一个带有SQL导出或Excel的简单仪表板(不要忘记让工程师正确设置资源标签以识别不同的行)。技巧#3:隔离并保持你的生产安全许多博客和文章建议你仅使用一个K8群集,但为不同的环境使用不同的命名空间(例如,Dev、Staging和Production)。命名空间是一个非常强大的功能,可以帮助你组织Kubernetes资源并提高团队的速度。但是这种设置并不容易:你需要确保有一个完善的CI/CD环境,以避免你的staging和prod环境之间的任何干扰,以及像部署错误组件在错误的命名空间中的“愚蠢”错误。读到这篇文章时,你可能会想:“当然,但我们有一个超级聪明的团队,所以我们能够处理它。”在那里停一停:每个人都犯愚蠢的错误,错误越愚蠢,它会发生的机会越多…所以,除非你想要在生产中救火过最紧张的日子,只因为你在那里推动了一个Staging版本,如果使用命名空间的选项,你必须花几周的时间建立一个顶级的CI/CD工作流程。在我们这边,我们选择了另一个选项来保持我们的环境分离:我们决定为我们的登台(Staging)和生产环境创建完全自治的集群。这消除了人为错误和安全性故障传播的所有风险,因为两个集群都是完全隔离的。这种方法的缺点是它会增加你的固定成本:你需要更多的计算机来保持两个集群的正常运行。但它带来的安全和安心对我们来说是非常值得的。此外,你可以通过使用GCP的短暂实例来降低成本开销,这比普通实例便宜80%。当然,这有一个问题:如果Google Cloud需要其他客户,那么这些实例可能会随时关闭。但是当我们仅将它们用于我们的临时环境时,丢失一台机器并不会真正影响我们,我们甚至学会了利用它来发挥我们的优势。对我们来说,完美的测试是看看我们的架构如何对我们的一个组件的随机故障作出反应:一种完全不可预测的红队试图摧毁系统,由Google Cloud免费提供给你技巧#4:从一开始就统一并自动化你的工作流程当你开始一个新项目时,你考虑的最后一件事是如何与其他开发者共享代码,或者在需要执行紧急回滚时如何在生产和Staging之间推送构建。这是正常而且非常明智:在你真正构建了可以向世界展示的任何东西之前,没有必要进行过度优化。但另一方面,让这些问题潜伏在永恒中是一个常见的错误。因为你没有时间,需要发布下一个功能,使你的产品最终跨越鸿沟并神奇地带来数百万用户。我对此的建议是花时间尽早创建一个简单有效的工作流程。首先,一旦你开始与其他人合作,你应该退后一步,创建一个统一且易于转移的开发环境。10年前,这不是一件容易的事:你需要在每个人的计算机上配置特殊虚拟机,或者在Mac和Windows用户之间进行修改。这是一场真正的噩梦,并引发了许多不必要的和调试不了的问题。今天,多得了像Docker这样的容器化工具,它可以在不到几天的时间内完成,那么为什么不从一开始就实现呢?这将大大简化所有开发者的生活,并使新员工的入职变得简单直接。对于你将节省的所有调试和设置周数来说,这是一笔非常小的投资。其次,一旦你有生产流量,就应该考虑创建一个简单但有效的QA/CI/CD工作流程。不需要过早设计过度,但我们非常幸运地生活在自动化和CI工具的黄金时代,这使你可以毫无困难地实现自动化的一流CI和CD。符合kubernetes API的CI工具列表很长,例如10.1版GitLab引入了与Kubernetes或Jenkins X的集成。大多数公司为小规模项目提供低成本计划,并为开源项目提供免费计划,所以你真的没有任何借口不使用它们!这不是火箭科学,它将为你节省时间、精力和无数头痛,让你的开发者的生活更轻松!总结一下Kubernetes和云原生提供了出色的技术,可以简化和支持在云上构建可扩展且灵活的解决方案。不久之后,我们将Kubernetes视为云技术中无处不在的一部分,就像我们现在使用Linux和TCP/IP等技术。由于我们成功地迁移到这些服务,我们能够将我们的基础设施持续扩展到世界杯观众及其他人。在历史上规模最大的体育赛事中,我们提供超过1.2 Tbps的流量,零停机时间 - 所有这一切都只有两名后端工程师。我们现在能够处理数百万观众的视频流,峰值每秒有数万个新请求到达。归功我在本文中讨论过的最佳实践,我们不仅能够从架构、成本和资源角度实现我们的短期交付目标,还能实现基础架构的长期可扩展性。总结我们的主要内容:当工具符合实际需要时,请小心谨慎地使用Kubernetes和云原生。今天就想想未来,无论是成本、分离环境还是实施自动化工作流程。从第一天开始就把这些挑战有效地融入你的项目中,当这些考虑成为关键任务时,你将浪费更少的时间资源进行调整。作为一家初创公司,我们一直在努力不断改进我们的技术和工作流程,并且在我们的扩展过程中学到的所有经验教训之后,我们期待着应对下一个挑战:构建多云架构!KubeCon + CloudNativeCon + Open Source Summit大会日期:会议日程通告日期:2019 年 4 月 10 日会议活动举办日期:2019 年 6 月 24 至 26 日KubeCon + CloudNativeCon + Open Source Summit赞助方案KubeCon + CloudNativeCon + Open Source Summit多元化奖学金现正接受申请KubeCon + CloudNativeCon和Open Source Summit即将首次合体落地中国KubeCon + CloudNativeCon + Open Source Summit购票窗口,立即购票!CNCF邀请你加入最终用户社区

March 27, 2019 · 1 min · jiezi

开源如何加速NFV转型

作者:Pam Baker迎接即将举行的ONS(开放网络峰会),我们与Red Hat的NFV技术总监Thomas Nadeau讨论了开源在电信服务供应商创新中的角色。Red Hat以开源文化和商业模式而闻名,不仅仅是开发软件的一种方式,而且它的“开源作为创新之路”在很多层面产生共鸣。迎接即将召开的ONS(开放网络峰会),我们与Red Hat技术总监Thomas Nadeau交谈 - 他在去年的活动中发表了主题演讲 - 听取他对开源在电信服务供应商创新中的角色的看法。开源在这个行业得到广泛接受的一个原因是,他说,一些非常成功的项目已经变得太大,任何一家公司都无法管理,或者单枪匹马地将其边界推向其他创新突破。“像Kubernetes这样的项目,现在对任何一家公司来说都太大了。我们作为一个行业需要努力的技术,因为没有一家公司可以单独推动它。“Nadeau说。“展望未来,要解决这些真正难以解决的问题,我们需要开源和开源软件开发模式。”以下是关于开源如何以及在何处对电信公司产生创新影响的更多见解。Linux.com:为什么开源一般来说是电信服务供应商的创新核心?Nadeau:第一个原因是服务供应商可以更好地掌控自己的命运。有些服务供应商比其他服务供应商更积极参与。其次,开源使服务供应商不必长时间等待他们需要开发的功能。第三,开放源代码使服务供应商不必费力地使用和管理单体系统,而他们真正想要的只是一些功能。幸运的是,网络设备供应商正在应对这种过度杀伤问题。它们变得更加灵活、更加模块化,而开源是实现这一目标的最佳方式。Linux.com:在你的ONS主题演讲中,你说开源提供传统运营商在创建数字服务和收入流方面与云规模公司竞争的对等环境。请解释开源如何帮助。Nadeau:这又跟Kubernetes有关。另一个是OpenStack。这些是这些企业真正需要的工具,不仅仅是扩展,而是存在于当今的市场中。如果没有虚拟化领域的开源,你就会陷入专有的单体,无法控制你的未来,并且需要等待很长时间才能获得竞争所需的功能。NFV方程中有两部分:基础设施和应用程序。NFV不仅仅是底层平台,而是平台和使用平台的应用程序之间的持续推动和拉动。NFV实际上是功能的虚拟化。它始于单体虚拟机(VM)。然后是“分解的虚拟机”,由于各种原因,各个功能以更分散的方式运行。这样做意味着将它们分开,这就是SDN进入的地方,控制平面与数据平面分离。这些概念也推动了底层平台的变化,从而大大增加了开销。这反过来又引起了对容器环境的兴趣,作为一种潜在的解决方案,但它仍然是NFV。你可以将其视为具有复合应用程序的SOA的最新版本。Kubernetes是Google使用的那种SOA模型,它消除了对复杂网络和存储的担忧,并且允许用户启动起作用的应用程序。对于企业应用程序模型,这很有用。但不是在NFV的情况下。在NFV案例中,在OpenStack平台的上一次迭代中,每个人都享受一对一的网络性能。但是当我们将它移到OpenShift时,由于他们已经实现了最新的SOA模型,我们又回到了原点,在那里你失去了80%的性能。所以现在进化的底层平台的重要性越来越高,所以钟摆摆动,但它仍然是NFV。开源允许你有效、快速地适应这些变化和影响。因此,创新快速而逻辑地发生,他们的迭代也是如此。Linux.com:告诉我们NFV中的底层Linux,以及为什么这个组合如此强大。Nadeau:Linux是开源的,它始终处于开源的一些最纯粹的意义。另一个原因是它是底层操作系统的主要选择。现实情况是,所有主要网络和所有顶级网络公司都在其所有高性能平台上运行Linux作为基本操作系统。现在它都是非常灵活。你可以将它放在Raspberry Pi上,或者放在价值数百万美元的巨大路由器上。它安全、灵活且可扩展,因此操作员现在可以真正将其用作工具。Linux.com:运营商一直在努力重新定义自己。事实上,许多正在积极寻求方法,摆脱严格防御以对抗破坏者,以及在他们是破坏者时采取进攻。网络功能虚拟化(NFV)如何帮助其中一种策略或两种策略?Nadeau:Telstra和Bell Canada就是很好的例子。他们使用开源代码与他们围绕该代码的合作伙伴生态系统协同工作,这使他们能够以与过去不同的方式做事。今天他们做了两件不同的事情。一个是他们设计自己的网络。他们在很多方面设计自己的东西,相对于以前他们可能需要使用来自供应商的整体解决方案,而这些解决方案跟竞争对手的业务看起来差不多一样。这些电信公司正在采取真正的“深入,卷起袖子”的方法,他们在更深入的层面上知道他们使用了什么,可以与下游的发行商或供应商合作。这可以追溯到生态系统,它类似于我们在Red Hat的合作伙伴计划,是填补空白的胶水,完善给电信公司设想的网络解决方案。在4月3日至5日在圣何塞麦克内里会议中心举行的ONS(Open Networking Summit,开放网络峰会)上了解更多信息。KubeCon + CloudNativeCon + Open Source Summit大会日期:会议日程通告日期:2019 年 4 月 10 日会议活动举办日期:2019 年 6 月 24 至 26 日KubeCon + CloudNativeCon + Open Source Summit赞助方案KubeCon + CloudNativeCon + Open Source Summit多元化奖学金现正接受申请KubeCon + CloudNativeCon和Open Source Summit即将首次合体落地中国KubeCon + CloudNativeCon + Open Source Summit购票窗口,立即购票!CNCF邀请你加入最终用户社区

March 26, 2019 · 1 min · jiezi

Kubernetes 1.14:Windows节点的生产级支持、Kubectl更新、持久本地卷GA

作者:1.14发布团队我们很高兴地宣布推出Kubernetes 1.14,这是我们2019年的首次发布!Kubernetes 1.14由31个增强功能组成:10个移动到稳定、12个在测试版、7个新增。此版本的主题是可扩展性,并支持Kubernetes上更多工作负载,其中三个主要功能转向一般可用,以及一个重要的安全功能转向beta。与之前发布的任何Kubernetes相比,此版本有更多功能转向稳定。对用户和运营而言是重要里程碑,设定支持期望。此外,此版本还有值得注意的Pod和RBAC增强功能,将在下面的“其他值得注意的功能”部分中讨论。让我们深入了解此版本的主要功能:Windows节点的生产级支持到目前为止,Kubernetes中的Windows节点支持处于测试阶段,允许许多用户进行实验并查看Kubernetes给Windows容器的价值。Kubernetes现在正式支持将Windows节点添加为工作节点,以及编排Windows容器,从而使庞大的Windows应用程序生态系统能够利用我们平台的强大功能。投资基于Windows的应用程序和基于Linux的应用程序的企业,不必寻找单独的协调器来管理其工作负载,从而提高整个部署的运营效率,无论操作系统如何。在Kubernetes中启用Windows容器的一些主要功能包括:支持Windows Server 2019的工作站节点和容器支持Azure-CNI、OVN-Kubernetes和Flannel的树外网络连接改进了对pod、服务类型、工作负载控制器和指标/配额的支持,以便与Linux容器提供的功能紧密匹配值得注意的Kubectl更新新的Kubectl文档和徽标kubectl的文档已经从头开始重写,重点是使用声明性资源配置来管理资源。该文档已作为独立站点发布,其格式为书籍,从k8s.io文档链接(可从 https://kubectl.docs.kubernet… 获取)。新的kubectl徽标和吉祥物(发音为kubee-cuddle)显示在新的docs站点徽标上。Kustomize Integrationkustomize的声明性Resource Config创建功能现在可以通过-k标志在kubectl中获得(例如,对于apply、get等命令)和kustomize子命令。Kustomize使用Kubernetes原生概念帮助用户创建和重用Resource Config。用户现在可以使用kubectl apply -k dir/将目录内的kustomization.yaml一起应用于集群。用户还可以通过kubectl kustomize dir/,向stdout发出自定义的资源配置,而无应用它们。新功能记录在 https://kubectl.docs.kubernet… 的新文档中。kustomize子命令将继续在Kubernetes拥有的kustomize repo中开发。最新的kustomize功能将以独立的kustomize二进制文件(发布到kustomize repo)以频繁的发布节奏提供,并将在每次Kubernetes发布之前在kubectl中更新。kubectl插件机制转向稳定kubectl插件机制允许开发者以独立二进制文件的形式发布自己的自定义kubectl子命令。这可以用于扩展具有新的更高级功能的kubectl和附加的porcelain(例如,添加set-ns命令)。插件必须具有kubectl-命名前缀并存在于用户的$PATH中。插件机制在GA已经大大简化,并且类似于git插件系统。持久本地卷现在是GA此功转向稳定,使本地连接存储可用作持久卷源。分布式文件系统和数据库,由于性能和成本,是持久性本地存储的主要用例。在云供应商上,本地SSD提供比远程磁盘更好的性能。在裸机上,除了性能之外,本地存储通常更便宜,并且使用它是配置分布式文件系统的必要条件。PID限制转向Beta进程ID(PID)是Linux主机上的基本资源。在不遇到任何其他资源限制的情况下,达到任务限制并导致主机不稳定是会发生的。管理员需要一些机制来确保用户pod不会导致PID耗尽,从而阻止主机守护程序(运行时、kubelet等)运行。此外,确保在pod之间限制PID以确保它们对节点上的其他工作负载的影响有限是很重要的。作为beta功能,管理员可以通过将每个Pod的PID数量设定默认值,以提供pod-to-pod PID隔离。此外,作为alpha功能,管理员可以通过节点可分配的方式,为用户pod保留大量可分配的PID,从而启用节点到pod的PID隔离。该社区希望在下一版本中将此功能转为测试版。其他值得注意的功能Pod优先级和抢占使Kubernetes调度程序能够首先调度更重要的Pod,当集群资源不足时,它会删除不太重要的pod,以便为更重要的Pod创建空间。重要性由优先级指定。Pod Readiness Gates为pod准备就绪提供了外部反馈的扩展点。加强默认RBAC发现clusterrolebindings会从API集中删除发现,默认情况下允许进行未经身份验证的访问,从而提高CRD的隐私性,以及默认群集的默认安全状态。下载安装Kubernetes 1.14可从GitHub下载。开始使用Kubernetes,请查看这些互动式教程。你也可以使用kubeadm轻松安装1.14。功能博客系列如果你有兴趣更深入地探索这些功能,请查看下周我们的5天Kubernetes系列,其中我们将重点介绍以下的详细功能:第1天 - Windows Server容器第2天 - 加强默认的RBAC发现clusterrolebindings第3天 - 在Kubernetes的Pod优先级和抢占第4天 - PID限制第5天 - 持久本地卷发布团队通过数百名提供技术和非技术内容的个人的努力,这一发布成为可能。特别感谢Google高级测试工程师Aaron Crickenberger领导的发布团队。发布团队中的43个人协调了发布的许多方面,从文档到测试,验证和功能完整性。随着Kubernetes社区的发展,我们的发布过程代表了开源软件开发协作的一个惊人演示。Kubernetes继续迅速获得新用户。这种增长创造了一个积极的反馈循环,让更多的贡献者提交代码创建一个更有活力的生态。迄今为止,Kubernetes拥有超过28,000名个人贡献者,以及超过57,000人的活跃社区。项目速度CNCF继续完善DevStats,这是一个雄心勃勃的项目,可视化项目中的无数贡献。K8s DevStats说明了主要公司贡献者的贡献细分,以及一系列令人印象深刻的预配置报告,包括从个人贡献者到拉取请求生命周期时间的所有内容。在过去一年中,平均每月有381家不同的公司和超过2,458名个人为Kubernetes贡献。查看DevStats,了解有关Kubernetes项目和社区整体速度的更多信息。用户亮点全球性组织正在生产环境大规模使用Kubernetes。最近发布的社区用户故事包括:网易移至Kubernetes将其研发效率提高了100%以上,部署效率提高了280%。VSCO发现转向持续集成、容器化和Kubernetes,速度显着提高。从典型服务的代码完成到生产部署的时间从1-2周减少到2-4小时。NAV转向Kubernetes使公司节省了50%的基础设施成本,部署从每天10个增加到每天50个,资源利用率从1%增加到40%。Kubernetes能帮助你的团队吗?与社区分享你的故事。生态系统近况Kubernetes将通过CNCF参加GSoC 2019。在CNCF的GitHub页面上查看2019年项目创意的完整列表。CNCF 2018年度报告回顾了Kubernetes的发展和基础、社区参与、生态系统工具、测试一致性项目、KubeCon等。在KubeCon + CloudNativeCon北美2018年的8,000名与会者中,73%是首次参与的KubeCon-ers,突出了Kubernetes和云原生技术的巨大增长和新兴趣。会议透明度报告。KubeCon + CloudNativeCon世界上最大的Kubernetes聚会,KubeCon + CloudNativeCon将于2019年5月20日至23日来到巴塞罗那以及2019年6月24日至26日来到上海(与开源峰会共同举办)。这些会议将包括技术会议、案例研究、开发者深入了解,沙龙等等!立即注册!网络研讨会太平洋世界4月23日上午10点,加入Kubernetes 1.14发布团队,了解该版本的主要功能。在这里注册。参与其中参与Kubernetes的最简单方法是加入符合你兴趣的众多特殊兴趣小组(SIG)之一。你有什么想要向Kubernetes社区广播的吗?在我们的每周社区会议上,通过以下渠道分享你的声音。感谢你的持续反馈和支持。在Stack Overflow上发布问题(或回答问题)加入有关讨论的社区讨论在Twitter @Kubernetesio上关注我们以获取最新更新加入社区Slack分享你的Kubernetes故事KubeCon + CloudNativeCon + Open Source Summit大会日期:会议日程通告日期:2019 年 4 月 10 日会议活动举办日期:2019 年 6 月 24 至 26 日KubeCon + CloudNativeCon + Open Source Summit赞助方案KubeCon + CloudNativeCon + Open Source Summit多元化奖学金现正接受申请KubeCon + CloudNativeCon和Open Source Summit即将首次合体落地中国KubeCon + CloudNativeCon + Open Source Summit购票窗口,立即购票!CNCF邀请你加入最终用户社区 ...

March 26, 2019 · 1 min · jiezi

Arthas --Alibaba开源的java 诊断工具

Arthas是什么 Alibaba开源的java 诊断工具从哪知道的:简书-Arthas简介GitHub地址:https://github.com/alibaba/arthas解决问题:这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?我改的代码为什么没有执行到?难道是我没 commit?分支搞错了?遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗?线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现!是否有一个全局视角来查看系统的运行状况?有什么办法可以监控到JVM的实时运行状态?安装环境 mac OSX采取安装方式:一键安装(安装方法见官方文档)安装结果:使用直接在shell下面执行./as.sh,进入交互界面遇到mac 下没有telnet错误解决方法:通过brew 安装telnetMac下的telnet安装git解答:mac下安装提示没有telnet #280输入进程号,选择要诊断的进程相关命令help——查看命令帮助信息dashboard ——实时数据面板thread —— 查看线程信息没有线程数,显示所有线程带线程数 ,显示该线程栈信息jad ——反编译加载类watch ——数据观测命令列表基础命令help——查看命令帮助信息cls——清空当前屏幕区域session——查看当前会话的信息reset——重置增强类,将被 Arthas 增强过的类全部还原,Arthas 服务端关闭时会重置所有增强过的类version——输出当前目标 Java 进程所加载的 Arthas 版本号history——打印命令历史quit——退出当前 Arthas 客户端,其他 Arthas 客户端不受影响shutdown——关闭 Arthas 服务端,所有 Arthas 客户端全部退出keymap——Arthas快捷键列表及自定义快捷键jvm相关dashboard——当前系统的实时数据面板thread——查看当前 JVM 的线程堆栈信息jvm——查看当前 JVM 的信息sysprop——查看和修改JVM的系统属性sysenv——查看JVM的环境变量getstatic——查看类的静态属性New! ognl——执行ognl表达式class/classloader相关sc——查看JVM已加载的类信息sm——查看已加载类的方法信息dump——dump 已加载类的 byte code 到特定目录redefine——加载外部的.class文件,redefine到JVM里jad——反编译指定已加载类的源码classloader——查看classloader的继承树,urls,类加载信息,使用classloader去getResourcemonitor/watch/trace相关 请注意,这些命令,都通过字节码增强技术来实现的,会在指定类的方法中插入一些切面来实现数据统计和观测,因此在线上、预发使用时,请尽量明确需要观测的类、方法以及条件,诊断结束要执行shutdown 或将增强过的类执行 reset 命令。monitor——方法执行监控watch——方法执行数据观测trace——方法内部调用路径,并输出方法路径上的每个节点上耗时stack——输出当前方法被调用的调用路径tt——方法执行数据的时空隧道,记录下指定方法每次调用的入参和返回信息,并能对这些不同的时间下调用进行观测optionsoptions——查看或设置Arthas全局开关

March 26, 2019 · 1 min · jiezi

SAP:开源的最佳秘密之一

作者:Pam BakerSAP已经成立了一个开源计划办公室,以进一步开展开源活动,并扩大与开源社区的合作。SAP几十年来一直致力于开源,现在已经成立了一个开源计划办公室(Open Source Program Office,OSPO),以进一步正式协调开源活动,并扩大其与开源社区的合作。“SAP是首批正式定义开源消费和贡献流程的行业参与者之一。”开源计划办公室主任Peter Giese说。即便如此,许多人还不认为SAP是一家拥抱开源参与和贡献的公司。“在过去,我们可能没有积极地分享我们的开源活动。”Giese说。现在,SAP关注其在开源领域的工作。透明度是新开源任务的重要组成部分,首先要解释公司的最新动态以及开源方式。SAP如何采用开源“1998年,SAP开始将我们市场领先的ERP系统R/3系统移植到Linux上。”Giese说。“这是在企业软件市场建立Linux的一个重要里程碑。”将系统移植到Linux只是第一步,也是成功的一步。行动引发了内部讨论,并探讨了如何以及在何处采用Linux。“我们得出结论,Linux将成为主流。”Giese说。“今天看这是很明显,但当时对每个人来说并不那么明显。那是我们开始致力于开源的时候。”2001年,SAP正式定义,并内部记录了其开源消费流程,该公司并且对内承诺使用开源项目来构建SAP产品。有许多细节需要注意,例如开源许可、安全性和出口控制限制。到2004年,SAP已经获得了与其他公司交换规范的信息,并且是Eclipse Foundation的创始成员之一。从那时起,SAP开发者积极参与了几个Eclipse项目,包括JGit、EGit、Mat、Tycho和Che。但是直到2008年,SAP才开始在全公司范围内积极推动SAP员工的开源贡献。这也是该公司推出其对外开源流程的一年。“我们有一套指导方针和规则,用于SAP团队与开源社区分享他们的工作所必须做的事情。”Giese解释道。2010年,SAP进一步将开源工具集成到其开发流程中。“通过引入系统化的开源代码扫描作为我们标准开发流程的一部分,我们提高了合规水平。”Giese说。“这意味着我们开始系统地扫描开源代码,以了解许可证合规性和安全性问题。”2014年,SAP与开源社区共享了一个名为CLA助手的工具,该工具是为管理开源贡献者许可协议而开发的。尽管这些活动和项目非常成功,对SAP的开源活动越来越需要更多的集中协调。“我们有几个团队负责开源的特定方面,例如安全扫描、许可证扫描和构建我们自己的开源工具。但是,没有专门的职能或角色来对SAP的所有开源负责。“Giese说。“现在已经发生了变化,SAP的首席技术官负责SAP的开源。”SAP和开源的现况新的中央开源计划办公室成立于2018年初。“我们希望在与外部客户和合作伙伴,以及开源基金会和其他开源社区的互动中更加积极和明显。”Giese说。“这就是我们去年加入TODO Group分享经验,共同开发最佳实践,以及共同工具的原因。”Giese指出,该公司对开源的投资和贡献是巨大的,但它们仍然让许多人感到惊讶。“例如,在2018年2月,来自Adobe的Fil Maj,根据在GitHub上积极参与开源项目的员工总数,公布了全球公司排名,SAP排名第七。”Giese说。“当然,有不同的方法来创建这样的统计数据,但它让你了解SAP作为贡献者的角色。也许我们是开源的最佳秘密之一。”SAP不再是一个秘密,而是以更明显的方式加强其开源参与。“我们将参加更多的开源社区会议,例如开源峰会、OSCON、FOSDEM、EclipseCon、KubeCon等等。”Giese说。SAP以更明显的方式参与是其持续致力于开源卓越的标志,该公司旨在形成更多的合作伙伴关系并促进加速创新。最近SAP的创新开源项目的一个例子是Gardener,这是一种针对Kubernetes集群即服务的解决方案,如CNCF云原生景观中所列。它支持管理大量Kubernetes集群,并在其核心架构中重用Kubernetes原生功能。另一个新开源的SAP项目是Kyma,这是一种在云原生世界中,连接和扩展企业应用程序的灵活而简单的方法。SAP积极鼓励公司和其他开发者在Gardener和Kyma等项目上进行代码开发和合作。“对我而言,这种共同创新是整个开源运动最引人注目的方面。”Giese说。SAP的开源办公室是如何运作SAP成立了一个虚拟团队,由来自不同领域的多个团队组成。“我们以scrum模式工作,这是一种软件开发方法。它在推动开源计划办公室方面具有优势。”OSPO首席开发架构师Michael Picht说。“你在scrum的冲刺(sprint)中工作,这意味着你被迫将你的任务分解成更小的部分。”“scrum方法传播跨职能团队,这就是我们的OSPO。我们有来自公司各地的同事。Scrum促进了这种设置的工作。有些人听到我们在scrum模式下工作时听起来很奇怪,但在我们的案例中,它运作得很好。”Picht表示,“将大型工作分成较小的块,并进行为期四周的冲刺,这使得挑战性和长期运行的任务更容易掌握。但是,它确实需要一些培训,以确保所有团队成员对该方法感到合适。”该办公室的使命是培养和支持在SAP内部和外部使用开源方法进行软件开发。因此,对于希望在公司环境之外的业余时间为开源项目做出贡献的员工,SAP大大简化了流程。“我们提供了一些简单的规则,只要你遵守这些规则,你就可以在业余时间直接开始开源项目的工作。”Giese说。该公司还在重新设计企业开源贡献流程,以提高效率。目标是从监管开发者转向通过简单的表单、流程步骤的自动化和团队服务来支持他们。对于开源社区,为了推进开源最佳实践和工具,SAP最近贡献了它的开源漏洞评估工具,该工具支持任何软件开发组织评估其应用程序开发中的开源组件的安全漏洞。SAP的开源计划办公室将继续寻找加速和改进流程的方法,并支持开发者、合作伙伴和开源社区。“这将永远不会结束,永远持续下去,所以我们总是希望找到进一步改进开源流程和工具的新方法。”Picht说。鸣谢我们要感谢SAP开源计划办公室主任Peter Giese和首席开发架构师Michael Picht对本案例研究的贡献。我们还要感谢Pam Baker花时间在开源计划办公室进行访谈。SAP是Linux基金会和LF项目的积极成员,包括Cloud Foundry Foundation、Cloud Native Computing Foundation(CNCF)、Hyperledger、ODPi、OpenAPI Initiative和TODO Group。KubeCon + CloudNativeCon + Open Source Summit大会日期:会议日程通告日期:2019 年 4 月 10 日会议活动举办日期:2019 年 6 月 24 至 26 日KubeCon + CloudNativeCon + Open Source Summit赞助方案KubeCon + CloudNativeCon + Open Source Summit多元化奖学金现正接受申请KubeCon + CloudNativeCon和Open Source Summit即将首次合体落地中国KubeCon + CloudNativeCon + Open Source Summit购票窗口,立即购票!CNCF邀请你加入最终用户社区

March 25, 2019 · 1 min · jiezi

Kubernetes准入控制器指南

作者:Malte Isberner(StackRox)Kubernetes极大地提高了当今生产中后端群集的速度和可管理性。由于其灵活性、可扩展性和易用性,Kubernetes已成为容器编排器的事实标准。Kubernetes也提供一系列保护生产工作负载的功能。安全功能的最新引入是一组称为“准入控制器”的插件。必须启用准入控制器才能使用Kubernetes的一些更高级的安全功能,例如,在整个命名空间中强制实施安全配置基线的pod安全政策。以下必须知道的提示和技巧,将帮助你利用准入控制器,在Kubernetes中充分利用这些安全功能。什么是Kubernetes准入控制器?简而言之,Kubernetes准入控制器是管理和强制执行集群使用方式的插件。可以将它们视为拦截(经过身份验证的)API请求的网守,并且可以更改请求对象,或完全拒绝请求。准入控制过程有两个阶段:首先执行改变(mutating)阶段,然后是验证(validating)阶段。因此,准入控制器可以充当改变或验证控制器,或两者的组合。例如,LimitRanger准入控制器可以使用默认资源请求和限制(改变阶段)扩充pod,并验证具有设置资源要求的pod,不超过LimitRange对象中指定的每命名空间限制(验证阶段)。准入控制器阶段值得注意的是,许多用户认为是内置的Kubernetes操作的某些方面,实际上由准入控制器管理。例如,当删除命名空间并随后进入Terminating状态时,NamespaceLifecycle准入控制器将阻止在此命名空间中创建任何新对象。在Kubernetes附带的30多个准入控制器中,有两个因其几乎无限的灵活性而发挥特殊作用 - ValidatingAdmissionWebhooks和MutatingAdmissionWebhooks,两者在Kubernetes 1.13都处于beta状态。我们将仔细研究这两个准入控制器,因为它们本身并没有实现任何政策决策逻辑。相反,相应的操作是从集群内运行的服务的REST端点(webhook)获得的。这种方法将准入控制器逻辑与Kubernetes API服务器分离,从而允许用户在Kubernetes集群中创建、更新或删除资源时实现自定义逻辑。两种准入控制器webhooks之间的差异几乎是不言自明的:改变(mutating)准入webhooks可能会改变对象,而验证(validating)准入webhooks则不会。然而,即使是改变准入webhook也可以拒绝请求,从而以验证的方式行事。验证入场webhooks比改变webhooks有两个主要优点:首先,出于安全原因,可能需要禁用MutatingAdmissionWebhook准入控制器(或对谁可能创建MutatingWebhookConfiguration对象应用更严格的RBAC限制),因为它可能会产生混淆,甚至危险的副作用。其次,如上图所示,验证准入控制器(以及webhooks)在改变控制器之后运行。因此,验证webhook看到的任何请求对象都是将持久保存到etcd的最终版本。通过将标志传递给Kubernetes API服务器来配置启用的准入控制器集。请注意,旧的-admission-control标志在1.10中已弃用,并替换为-enable-admission-plugins。–enable-admission-plugins=ValidatingAdmissionWebhook,MutatingAdmissionWebhookKubernetes建议默认启用以下准入控制器。–enable-admission-plugins=NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,Priority,ResourceQuota,PodSecurityPolicy可以在Kubernetes官方参考中找到完整的准入控制器列表及其说明。本讨论将仅关注基于webhook的准入控制器。为什么我需要准入控制器?安全性:准入控制器可以通过在整个命名空间或集群中,强制使用合理的安全基准来提高安全性。内置的PodSecurityPolicy准入控制器可能是最突出的例子;例如,它可以用于禁止容器以root身份运行,或者确保容器的根文件系统始终以只读方式挂载。可通过基于webhook的自定义准入控制器实现的其他用例包括:允许仅从企业已知的特定仓库中提取镜像,同时拒绝未知的镜像仓库。拒绝不符合安全标准的部署。例如,使用特权(privileged)标志的容器可以规避许多安全检查。基于webhook的准入控制器可以减轻此风险,该准入控制器拒绝此类部署(验证)或覆盖特权(privileged)标志,将其设置为false。治理:准入控制器允许你强制遵守某些做法,例如具有良好的标签、注释、资源限制或其他设置。一些常见的场景包括:对不同对象强制执行标签验证,以确保将正确的标签用于各种对象,例如分配给团队或项目的每个对象,或指定应用程序标签的每个部署。自动向对象添加注释,例如为“dev”部署资源分配正确的成本中心。配置管理:准入控制器允许你验证群集中运行对象的配置,并防止群集中任何明显的错误配置。准入控制器可用于检测和修复没有语义标签的部署镜像,例如:自动添加资源限制或验证资源限制,确保合理的标签被添加到pod,或确保生产部署中使用的镜像引用不使用最新的(latest)标记或带有-dev后缀的标记。通过这种方式,准入控制器和政策管理有助于确保应用程序在不断变化的控制环境中保持合规。示例:编写和部署准入控制器Webhook为了说明如何利用准入控制器webhook来建立自定义安全政策,让我们考虑一个解决Kubernetes缺点之一的例子:它的许多默认值都经过优化,易于使用并减少摩擦,有时以牺牲安全性为代价。其中一个设置是默认允许容器以root身份运行(并且,如果没有进一步的配置,Dockerfile中也没有USER指令,也会这样)。尽管容器在一定程度上与底层主机隔离,但以root身份运行容器确实会增加部署的风险级别 - 作为许多安全性最佳实践之一,这应该避免。例如,最近暴露的runC漏洞(CVE-2019-5736)只有在容器以root身份运行时才能被利用。你可以使用自定义改变准入控制器webhook来应用更安全的默认值:除非明确请求,否则我们的webhook将确保pod作为非root用户运行(如果未进行明确分配,我们将分配用户ID 1234)。请注意,此设置不会阻止你在群集中部署任何工作负载,包括那些合法需要以root身份运行的工作负载。它只要求你在部署配置中,明确启用此风险程序操作模式,而对所有其他工作负载默认为非root模式。完整的代码以及部署说明可以在我们随附的GitHub存储库中找到。在这里,我们将重点介绍webhook如何工作的一些更微妙的方面。改变(Mutating)Webhook配置通过在Kubernetes中创建MutatingWebhookConfiguration对象来定义改变准入控制器webhook。在我们的示例中,我们使用以下配置:apiVersion: admissionregistration.k8s.io/v1beta1kind: MutatingWebhookConfigurationmetadata: name: demo-webhookwebhooks: - name: webhook-server.webhook-demo.svc clientConfig: service: name: webhook-server namespace: webhook-demo path: “/mutate” caBundle: ${CA_PEM_B64} rules: - operations: [ “CREATE” ] apiGroups: [""] apiVersions: [“v1”] resources: [“pods”]此配置定义webhook webhook-server.webhook-demo.svc,并指示Kubernetes API服务器在通过向/mutate URL发出HTTP POST请求创建pod时,在命名空间webhook-demo中查询服务webhook-server。要使此配置生效,必须满足几个先决条件。Webhook REST APIKubernetes API服务器向给定服务和URL路径发出HTTPS POST请求,并在请求正文中使用JSON编码的AdmissionReview(设置了Request字段)。响应应该是JSON编码的AdmissionReview,这次设置了Response字段。我们的演示存储库包含一个处理序列化/反序列化样板代码的函数,并允许你专注于实现在Kubernetes API对象上运行的逻辑。在我们的示例中,实现准入控制器逻辑的函数称为applySecurityDefaults,在/mutate URL下提供此功能的HTTPS服务器可以设置如下:mux := http.NewServeMux()mux.Handle("/mutate", admitFuncHandler(applySecurityDefaults))server := &http.Server{ Addr: “:8443”, Handler: mux,}log.Fatal(server.ListenAndServeTLS(certPath, keyPath))请注意,要使服务器在没有提升权限的情况下运行,我们让HTTP服务器侦听端口8443。Kubernetes不允许在webhook配置中指定端口;它始终采用HTTPS端口443。但是,由于无论如何都需要服务对象,我们可以轻松地将服务的端口443映射到容器上的端口8443:apiVersion: v1kind: Servicemetadata: name: webhook-server namespace: webhook-demospec: selector: app: webhook-server # specified by the deployment/pod ports: - port: 443 targetPort: webhook-api # name of port 8443 of the container对象修改逻辑在改变准入控制器webhook中,通过JSON补丁执行改变。虽然JSON补丁标准包含许多复杂性,远远超出了本讨论的范围,但我们的示例中的Go数据结构,及其用法应该为用户提供有关JSON补丁如何工作的良好初步概述:type patchOperation struct { Op string json:"op" Path string json:"path" Value interface{} json:"value,omitempty"}要将pod的字段.spec.securityContext.runAsNonRoot设置为true,我们构造以下patchOperation对象:patches = append(patches, patchOperation{ Op: “add”, Path: “/spec/securityContext/runAsNonRoot”, Value: true,})TLS证书由于必须通过HTTPS提供webhook,因此我们需要适当的服务器证书。这些证书可以是自签名的(由自签名CA签名),但我们需要Kubernetes在与webhook服务器通信时指示相应的CA证书。此外,证书的公用名(CN)必须与Kubernetes API服务器使用的服务器名称匹配,内部服务的名称是<service-name>.<namespace>.svc,在我们的案例中即webhook-server.webhook-demo.svc。由于自签名TLS证书的生成在Internet上有详细记录,因此我们只需在示例中引用相应的shell脚本。之前显示的webhook配置包含占位符${CA_PEM_B64}。在我们创建此配置之前,我们需要将此部分替换为CA的Base64编码的PEM证书。openssl base64 -A命令可用于此目的。测试Webhook在部署webhook服务器并对其进行配置之后(可以通过从存储库调用./deploy.sh脚本来完成),现在是时候测试并验证webhook是否确实完成它的工作。存储库包含三个示例:未指定安全上下文的pod(pod-with-defaults)。我们希望此pod以非root身份运行,用户ID为1234。一个指定安全上下文的pod,明确允许它以root身份运行(pod-with-override)。具有冲突配置的pod,指定它必须以非root用户身份运行,但用户ID为0(pod-with-conflict)。为了展示拒绝对象创建请求,我们增加了我们的准入控制器逻辑,以拒绝这些明显的错误配置。通过运行kubectl create -f examples/<name>.yaml创建其中一个pod。在前两个示例中,你可以通过检查日志来验证pod运行的用户ID,例如:$ kubectl create -f examples/pod-with-defaults.yaml$ kubectl logs pod-with-defaultsI am running as user 1234在第三个示例中,应该拒绝对象创建并提供适当的错误消息:$ kubectl create -f examples/pod-with-conflict.yamlError from server (InternalError): error when creating “examples/pod-with-conflict.yaml”: Internal error occurred: admission webhook “webhook-server.webhook-demo.svc” denied the request: runAsNonRoot specified, but runAsUser set to 0 (the root user)你也可以使用自己的工作负载进行测试。当然,你还可以通过更改webhook的逻辑,并查看更改如何影响对象创建来进一步实验。有关如何进行此类更改实验的更多信息,请参阅存储库的自述文件。摘要Kubernetes准入控制器为安全性提供了显着优势。深入研究两个功能强大的示例,并附带可用的代码,将帮助你开始利用这些强大的功能。参考文档:https://kubernetes.io/docs/re…https://docs.okd.io/latest/ar...https://kubernetes.io/blog/20...https://medium.com/ibm-cloud/...https://github.com/kubernetes...https://github.com/istio/istiohttps://www.stackrox.com/post...KubeCon + CloudNativeCon + Open Source Summit大会日期:会议日程通告日期:2019 年 4 月 10 日会议活动举办日期:2019 年 6 月 24 至 26 日KubeCon + CloudNativeCon + Open Source Summit赞助方案KubeCon + CloudNativeCon + Open Source Summit多元化奖学金现正接受申请KubeCon + CloudNativeCon和Open Source Summit即将首次合体落地中国KubeCon + CloudNativeCon + Open Source Summit购票窗口,立即购票!CNCF邀请你加入最终用户社区 ...

March 25, 2019 · 1 min · jiezi

CNCF案例研究:Nav

一家初创公司如何通过Kubernetes将其基础设施成本降低50%公司:Nav地点:犹他州盐湖城和加利福尼亚州圣马特奥工业:为企业提供金融服务挑战Nav成立于2012年,为小型企业提供三个主要商业信用局 - Equifax、Experian和Dun&Bradstreet - 的商业信用评分,以及最符合他们需求的融资方案。五年后,该创业公司发展迅速,“我们的云环境变得越来越大,我们对这些环境的使用率极低,例如低于1%。”工程总监Travis Jeppson说。“我们希望我们对云环境的使用与我们实际需要的内容更紧密地结合在一起,因此我们开始关注容器化和编排,以帮助我们能够运行彼此不同,但可以共享类似资源池的工作负载。”解决方法在评估了许多编排解决方案后,Nav团队决定采用在AWS上运行的Kubernetes。Kubernetes周围社区的实力强大,以及Google的出身。此外,“其他解决方案往往相当笨重、非常复杂、非常庞大,而且很难立即管理。”Jeppson说。“Kubernetes为我们提供了一种非常简单的方法,可以作为符合我们当前需求的编排解决方案,而且它的可扩展性使我们能够在未来增长并能够构建更多特性和功能。”影响这个由四人组成的团队在六个月内完成了Kubernetes的启动和运行,Nav的25个微服务的完全迁移在另外六个月内完成。结果令人印象深刻:首先使公司走上了这条道路的资源利用率,从1%增加到40%。推出一项新服务过去需要两个开发者两周;现在只需一个开发者不到10分钟。部署增加了5倍。该公司节省了50%的基础设施成本。“Kubernetes为我们提供了一种非常简单的方法,可以作为符合我们当前需求的编排解决方案,而且它的可扩展性使我们能够在未来增长并能够构建更多特性和功能。” - TRAVIS JEPPSON,工程总监,NAVNav成立于2012年,为小企业提供三个主要商业信用局 - Equifax、Experian和Dun&Bradstreet - 的商业信用评分,以及最适合他们需求的企业财务健康和融资方案的详细信息。工程总监Travis Jeppson表示,其使命归结为,“提高小企业的成功率。”几年前,Nav认识到自己走向成功的障碍。业务发展迅速,“我们的云环境变得越来越大,我们对这些环境的使用率非常低,比如低于1%。”Jeppson说。“大多数问题都与扩展能力有关。我们只是在砸钱。‘让我们启动更多的服务器。让我们做更多的事情来处理增加的负担。‘而我们是一家创业公司,这可能会导致我们的死亡。我们没有钱在那种东西上烧。”此外,每项新服务都必须经过10个不同的人,这需要两周时间才能完成。“所有的补丁管理和服务器管理都是非常手动完成的,因此我们都必须观察,并保持良好状态。”Jeppson补充道。“这只是一个非常麻烦的系统。”“社区绝对至关重要:能够传递各种想法,谈论我们所面临的许多类似挑战,并获得帮助。我喜欢我们能够出于不同的原因解决同样的问题,但在此过程中互相帮助。” - TRAVIS JEPPSON,工程总监,NAVJeppson曾在以前的工作中使用容器,并将该技术推荐给Nav的管理层,作为解决这些问题的方法。他在2017年初获得了绿灯。“我们希望我们对云环境的使用与我们实际需要的更加紧密结合,因此我们开始关注容器化和编排,以帮助我们运行彼此不同的工作负载,但可以分享类似的资源库。”他说。在评估了许多业务流程解决方案后,该公司决定采用在AWS上运行的Kubernetes。Kubernetes周围社区的力量强大,加上起源自谷歌。此外,“其他解决方案往往相当笨重、非常复杂、非常庞大,而且真的难以管理。”Jeppson说。“Kubernetes为我们提供了一种非常简单的方法,可以作为一个符合我们当前需求的编排解决方案,但它的可扩展性也可以让我们随之增长,并在以后构建更多特性和功能。”Jeppson的四人工程服务团队在六个月内完成并运行了Kubernetes(他们决定使用Kubespray来启动集群),Nav的25个微服务和一个主要的单体在另外六个月内完成完全迁移。“我们无法重写一切;我们无法停机。”他说。“我们必须不停运行,我们必须保持可用,我们必须有最少的停机时间。因此,我们对构建管道、度量标准和日志记录非常满意,然后围绕Kubernetes本身:如何启动它、如何升级它、如何为它提供服务。我们一点一点地移动。”“Kubernetes通过允许我们以前从未有过的所有这些新自由为Nav带来了如此多的价值。” - TRAVIS JEPPSON,工程总监,NAV该过程的一个关键部分包括培训Nav的50名工程师,并对新工作流程以及迁移路线图保持透明。Jeppson在整个过程中定期进行演示,并为整个工程师团队提供一周每天四小时的实验室。然后他在GitLab中创建了一个存储库来存放所有信息。“我们展示了所有前端和后端开发者如何进入,使用kubectl自己创建自己的命名空间。”他说。“现在,很多时候,他们只是来找我们说,‘这已经准备就绪。‘我们点击GitLab中的一个小按钮,让它进入生产阶段,就完成了。”自从迁移工作于2018年初完成以来,结果令人印象深刻:首先使公司走上了这条道路的资源利用率,从1%增加到40%。推出一项新服务过去需要两个开发者两周;现在只需一个开发者不到10分钟。部署增加了5倍,从每天10个增加到每天50个。该公司在计算方面节省了50%的基础设施成本。“接下来我们想进入数据库方面,一旦我们这样做,那么我们将继续降低成本。”Jeppson说。Kubernetes还帮助Nav满足其合规需求。之前,“我们必须将一个应用程序映射到一个服务器,主要是由于数据的合规性规定不同。”Jeppson说。“使用Kubernetes API,我们可以添加网络政策,隔离该数据并在需要时对其进行限制。”该公司将其群集隔离到一个不受限制的区域和一个限制区域,该区域有自己的一组节点,用于数据保护。该公司还使用Twistlock工具确保安全性。“这使夜间睡眠变得更加容易。”他补充道。“我们现在处理的流量是四到十倍,而且就像’哦,是的。我们很好。Kubernetes为我们处理这个问题。’” - TRAVIS JEPPSON,工程总监,NAV随着Kubernetes的到位,Nav团队也开始采用Prometheus来改进系统的指标和日志记录。“Prometheus制定了一个关于衡量标准的标准,这对开发者来说非常容易采用。”Jeppson说。“他们可以自由地展示他们想要的东西,做他们需要的东西,并保持他们的代码库清洁,这对我们来说绝对是必须的。”Nav来年接下来的是:查看跟踪、存储和服务网格。他们在KubeCon花了很多时间与其他公司交谈之后,目前正在评估Envoy、OpenTracing和Jaeger。“社区绝对至关重要:能够传递各种想法,谈论我们所面临的许多类似挑战,并获得帮助。我喜欢我们能够出于不同的原因解决同样的问题,但在此过程中互相帮助。”Jeppson说。“还有很多要做的事情,关于可扩展性,围绕能够真正完全采用云原生解决方案。”当然,这一切都始于Kubernetes。凭借这项技术,Jeppson的团队已经建立了一个平台允许Nav扩展,并“通过允许我们以前从未有过的所有这些新自由为Nav带来了如此多的价值。”他说。关于新产品的讨论,过去常常陷入困境,因为他们必须等待六个月才能建立一个隔离环境,然后找出如何处理流量高峰。“但现在对我们来说没什么。”Jeppson说。“我们现在处理的流量是四到十倍,而且就像’哦,是的。我们很好。Kubernetes为我们处理这个问题。’”KubeCon + CloudNativeCon + Open Source Summit大会日期:会议日程通告日期:2019 年 4 月 10 日会议活动举办日期:2019 年 6 月 24 至 26 日KubeCon + CloudNativeCon + Open Source Summit赞助方案KubeCon + CloudNativeCon + Open Source Summit多元化奖学金现正接受申请KubeCon + CloudNativeCon和Open Source Summit即将首次合体落地中国KubeCon + CloudNativeCon + Open Source Summit购票窗口,立即购票!CNCF邀请你加入最终用户社区

March 25, 2019 · 1 min · jiezi

重温2018上海Kubernetes贡献者峰会

作者: Josh Berkus (红帽), Yang Li (The Plant), Puja Abbassi (Giant Swarm), XiangPeng Zhao (中兴通讯)KubeCon 上海站新贡献者峰会与会者,摄影:Jerry Zhang最近,在中国的首次 KubeCon 上,我们完成了在中国的首次新贡献者峰会。看到所有中国和亚洲的开发者(以及来自世界各地的一些人)有兴趣成为贡献者,这令人非常兴奋。在长达一天的课程中,他们了解了如何、为什么以及在何处为 Kubernetes 作出贡献,创建了 PR,参加了贡献者圆桌讨论,并签署了他们的 CLA。这是我们的第二届新贡献者工作坊(NCW),它由前一次贡献者体验 SIG 成员创建和领导的哥本哈根研讨会延伸而来。根据受众情况,本次活动采用了中英文两种语言,充分利用了 CNCF 赞助的一流的同声传译服务。同样,NCW 团队由社区成员组成,既有说英语的,也有说汉语的:Yang Li、XiangPeng Zhao、Puja Abbassi、Noah Abrahams、Tim Pepper、Zach Corleissen、Sen Lu 和 Josh Berkus。除了演讲和帮助学员外,团队的双语成员还将所有幻灯片翻译成了中文。共有五十一名学员参加。Noah Abrahams 讲解 Kubernetes 沟通渠道。摄影:Jerry ZhangNCW 让参与者完成了为 Kubernetes 作出贡献的各个阶段,从决定在哪里作出贡献开始,接着介绍了 SIG 系统和我们的代码仓库结构。我们还有来自文档和测试基础设施领域的「客座讲者」,他们负责讲解有关的贡献。最后,我们在创建 issue、提交并批准 PR 的实践练习后,结束了工作坊。这些实践练习使用一个名为贡献者游乐场的代码仓库,由贡献者体验 SIG 创建,让新贡献者尝试在一个 Kubernetes 仓库中执行各种操作。它修改了 Prow 和 Tide 自动化,使用与真实代码仓库类似的 Owners 文件。这可以让学员了解为我们的仓库做出贡献的有关机制,同时又不妨碍正常的开发流程。Yang Li 讲到如何让你的 PR 通过评审。摄影:Josh Berkus「防火长城」和语言障碍都使得在中国为 Kubernetes 作出贡献变得困难。而且,中国的开源商业模式并不成熟,员工在开源项目上工作的时间有限。中国工程师渴望参与 Kubernetes 的研发,但他们中的许多人不知道从何处开始,因为 Kubernetes 是一个如此庞大的项目。通过本次工作坊,我们希望帮助那些想要参与贡献的人,不论他们希望修复他们遇到的一些错误、改进或本地化文档,或者他们需要在工作中用到 Kubernetes。我们很高兴看到越来越多的中国贡献者在过去几年里加入社区,我们也希望将来可以看到更多。「我已经参与了 Kubernetes 社区大约三年」,XiangPeng Zhao 说,「在社区,我注意到越来越多的中国开发者表现出对 Kubernetes 贡献的兴趣。但是,开始为这样一个项目做贡献并不容易。我尽力帮助那些我在社区遇到的人,但是,我认为可能仍有一些新的贡献者离开社区,因为他们在遇到麻烦时不知道从哪里获得帮助。幸运的是,社区在 KubeCon 哥本哈根站发起了 NCW,并在 KubeCon 上海站举办了第二届。我很高兴受到 Josh Berkus 的邀请,帮助组织这个工作坊。在工作坊期间,我当面见到了社区里的朋友,在练习中指导了与会者,等等。所有这些对我来说都是难忘的经历。作为有着多年贡献者经验的我,也学习到了很多。我希望几年前我开始为 Kubernetes 做贡献时参加过这样的工作坊」。贡献者圆桌讨论。摄影:Jerry Zhang工作坊以现有贡献者圆桌讨论结束,嘉宾包括 Lucas Käldström、Janet Kuo、Da Ma、Pengfei Ni、Zefeng Wang 和 Chao Xu。这场圆桌讨论旨在让新的和现有的贡献者了解一些最活跃的贡献者和维护者的幕后日常工作,不论他们来自中国还是世界各地。嘉宾们讨论了从哪里开始贡献者的旅程,以及如何与评审者和维护者进行互动。他们进一步探讨了在中国参与贡献的主要问题,并向与会者预告了在 Kubernetes 的未来版本中可以期待的令人兴奋的功能。工作坊结束后,XiangPeng Zhao 和一些与会者就他们的经历在微信和 Twitter 上进行了交谈。他们很高兴参加了 NCW,并就改进工作坊提出了一些建议。一位名叫 Mohammad 的与会者说:「我在工作坊上玩得很开心,学习了参与 k8s 贡献的整个过程。」另一位与会者 Jie Jia 说:「工作坊非常精彩。它系统地解释了如何为 Kubernetes 做出贡献。即使参与者之前对此一无所知,他(她)也可以理解这个过程。对于那些已经是贡献者的人,他们也可以学习到新东西。此外,我还可以在工作坊上结识来自国内外的新朋友。真是棒极了!」贡献者体验 SIG 将继续在未来的 KubeCon 上举办新贡献者工作坊,包括西雅图站、巴塞罗那站,然后在 2019 年六月回到上海。如果你今年未能参加,请在未来的 KubeCon 上注册。并且,如果你遇到工作坊的与会者,请务必欢迎他们加入社区。材料链接:中文版幻灯片:PDF英文版幻灯片:PDFKubeCon + CloudNativeCon + Open Source Summit大会日期:会议日程通告日期:2019 年 4 月 10 日会议活动举办日期:2019 年 6 月 24 至 26 日KubeCon + CloudNativeCon + Open Source Summit赞助方案KubeCon + CloudNativeCon + Open Source Summit多元化奖学金现正接受申请KubeCon + CloudNativeCon和Open Source Summit即将首次合体落地中国KubeCon + CloudNativeCon + Open Source Summit购票窗口,立即购票!CNCF邀请你加入最终用户社区 ...

March 25, 2019 · 1 min · jiezi

CD基金会、Jenkins、Jenkins X、Spinnaker和Tekton的常问问题

FAQ什么是持续交付(CD)?CD是一种软件工程方法,团队在短周期内生成软件,确保软件可以随时可靠地发布。微服务、云原生架构的兴起引发了持续交付实践的必然结果。这与CI/CD有关,其中包括持续集成(CI) - 将所有开发者工作副本一天多次合并到共享主线的做法。宣布了什么?CDF(Continuous Delivery Foundation,持续交付基金会)是一个新的、中立的组织,将发展和维持一个开放的持续交付生态系统。它将提供统一的治理和与供应商中立的管理,以及对资金和运营的监督。CD基金会的第一批项目是Jenkins、Jenkins X、Spinnaker和Tekton。为什么CD社区组成基金会。为什么需要?整个行业都迫切需要围绕管道、工作流程和其他CI/CD领域合作定义行业规范,并为CI/CD工具提供基础支持。例如,Jenkins社区正在寻求一个“全方位服务”的基金会来托管Jenkins(最受欢迎的CI/CD项目之一),并构建一个增强协作的平台。还需要一个全行业的中立DevOps/CD会议。这是否代表了云原生态系统的转变?是的,市场已转向容器化和云原生技术,因此CI/CD系统、DevOps和相关工具的生态系统发生了根本性的变化。CNCF云原生互动景观展示了CI/CD领域的多样性,以及在该领域中活跃的众多项目和供应商。通过建立供应商中立的持续交付基金会,业界顶级开发者、最终用户和供应商可以将CI/CD作为方法,定义/记录最佳实践以及创建培训材料,以使全球任何软件开发团队能够交付代码更改更快、更可靠、无论它们是否为云原生。开发者为何要关心?CI/CD项目目前面临的挑战,包括工具复杂性和管道和其他CI/CD工具缺乏行业标准化,正在抑制增长和创新。由于缺乏中立的法律实体和强有力的治理,项目很难吸引新开发者和组织的宝贵支持。项目维护者和开发者花费大量时间和金钱处理安全程序和监督等方面的变通方法。这使人们不再关注新的发展和创新。拥有广泛行业支持的基金会将能够更快地定义行业规范,并为跨项目协作创造更多机会,以改善开发者的工具。谁用CD?CD广泛应用于云计算、企业IT,并且正在迅速扩展到其他顶级行业垂直领域。例如,在网络运营商与供应商并肩工作,开发CI/CD工具,使开发者能够直接与上游项目的分支合作 - 大幅缩短实施新功能的时间,并解决数月到数天的错误。使用云原生技术(如Kubernetes)时,设置CI/CD管道将加快发布生命周期。这使开发者每天可以多次发布;让团队灵活到足以快速迭代。CDF如何与渐进式交付相关?渐进式交付(Progressive delivery)是现代持续交付技术的一种形式,例如灰度发布、功能标记、A/B测试、经过验证的部署组等。渐进式交付技术和技术与持续交付密切相关。有关渐进式交付的更多信息,请阅读James Governor关于此主题的Redmonk博客:https://redmonk.com/jgovernor…这将如何影响开源软件的开发?持续交付可提高软件开发团队的速度、生产力和可持续性。CDF促进行业顶级开发者、最终用户和供应商之间的合作,以确保CD方法的软件工程充分发挥其潜力,推进开源软件开发。哪些项目将包含在CDF中?CDF正在推出四个项目:Jenkins、Jenkins X、Spinnaker和Tekton,还有更多感兴趣的项目正在筹备中。我们邀请人们关注CDF技术监督委员会(“TOC”),该委员会将在未来做出项目决策:https://github.com/cdfoundati…。我是否必须是成员才可以贡献到CDF项目?绝对不是,CDF中的开源项目或任何Linux基金会计划的技术贡献都不需要成员资格。组织作为成员加入CDF,因为它们希望在持续交付模型和最佳实践的增长和发展中扮演积极的角色,而不只是支持CDF中的开放源码项目。如果你有兴趣加入,请参阅https://cd.foundation/members…。什么是Jenkins?Jenkins是领先的开源自动化服务器,由大量不断增长的开发者、测试者、设计者和其他对持续集成、持续交付和现代软件交付实践感兴趣的人提供支持。它基于Java虚拟机(JVM),提供超过1,500个插件,可将Jenkins扩展为几乎所有技术软件交付团队使用的自动化服务器。2019年,Jenkins有超过了200,000个已知安装,使其成为部署最广泛的自动化服务器。什么是Jenkins X?Jenkins X是Kubernetes上现代云应用程序的开源CI/CD解决方案。Jenkins X提供管道自动化、内置GitOps和预览环境,以帮助团队协作并加速他们的软件交付。Jenkins X使用最好的OSS工具自动化Kubernetes的CI + CD,如Jenkins、Tekton、Prow、SkaffoldKaniko和Helm。为什么Jenkins和Jenkins X成为CDF的一员?Jenkins和Jenkins X将成为与技术兴趣相关的中立社区的一部分,并在构建开发者社区和项目治理方面获得帮助。CD基金会还将协助Jenkins和Jenkins X的营销和文档工作。这对现有Jenkins用户有何影响?将Jenkins和Jenkins X捐赠给CD基金会将促进行业内开发者、最终用户和供应商之间的更多合作。有关详细信息,请参阅此电子邮件和与Jenkins社区的对话:https://groups.google.com/for…什么是Tekton?Tekton是一组用于构建CI/CD系统的共享开源组件。它使持续交付控制平面现代化,并将软件部署的大脑转移到Kubernetes。Tekton的目标是通过供应商中立的开源基金会为CI/CD管道、工作流程和其他构建模块提供行业规范。Tekton的代码在https://github.com/tektoncd/p…。为什么Tekton成为CDF的一员?为什么Google会捐赠代码?作为CDF的创始成员,谷歌正在捐赠Tekton。正如Kubernetes通过提供一组标准的API在云中进行交互而彻底改变了应用程序开发,Google的目标是通过CD基金会为DevOps从业者提供相同的优势。CDF将提供行业规范、安全、实用和可扩展的持续交付构建块,可用于在任何地方部署代码。Tekton对knative build的影响是什么?从第1天开始,可插拔性一直是knative的核心功能。将Build与Serving分离的目标是强化这种可插拔性概念。已经对构建系统感到满意的用户可以将其与Knative Serving一起使用。Tekton将继续支持Knative生态系统作为一流的目标环境。Tekton管道将部署到Knative环境。在可预见的未来,Knative Build将继续作为Knative的一部分,专注于无服务器环境的源到容器工作流程。这两个项目将在标准和界面上保持紧密联系。什么是Spinnaker?Spinnaker是云端优先的持续交付平台,最初由Netflix创建,目前由Netflix和Google共同领导。它支持所有主要的云平台和Kubernetes,并得到各个供应商的贡献。Spinnaker通常用于大规模组织,DevOps团队通过提供“黄金路径”(golden path)应用程序部署管道来支持许多开发者。为什么Google/Netflix将Spinnaker捐赠给CDF?随着Spinnaker最近将其治理正式化,将其转移到基金会是社区自然的下一步。Spinnaker设计为持续交付平台,通常与Jenkins结合使用,因此CDF真的是项目的理想之家。Spinnaker也是一个多组件系统,在概念上与Tekton分享了许多想法 - 看到两个项目在一个基金会上聚集在一起,是将持续交付向前推进的巨大机会。这对Spinnaker用户有何影响?Spinnaker作为CDF的一员,社区将有更多机会创建更简单、更强大的端到端体验,并就CI/CD的一套通用标准进行协作。Spinnaker用户在持续交付领域拥有丰富的经验,加入CDF提供了一个与更广泛的社区分享专业知识的绝佳机会。Spinnaker用户还将受益于CDF社区中广泛的CI/CD知识,他们使用的各种工具之间的一致性,当然还有不断改进的生态系统!未来的CI/CD项目进入CDF的过程是怎样?其他项目预计将通过其即将成立的技术监督委员会(TOC)加入CDF:https://github.com/cdfoundati…,重点是将CD生态系统整合在一起,围绕可移植性和互操作性构建规范和项目。CDF的下一步是什么?接下来的步骤是启动治理结构。将成立一个理事会、技术和外联/营销委员会。我们计划在未来几个月内实现这一目标,并邀请新成员加入我们的社区。如果你有兴趣加入社区推进CD,请到https://cd.foundation/members…。CNCF的参与程度,为什么需要一个单独的基金会?首先要注意的是,CD适用于整个软件行业,而不仅仅适用于现代云原生应用程序。CNCF(Cloud Native Computing Foundation,云计算本地计算基金会)是CDF的姐妹基金会,拥有自己的治理结构和使命。每个基金会都有不同的使命,由其创始成员和技术专家定义。CNCF认为大多数与CD相关的工具超出了他们专注的云原生定义的范围,后者主要关注容器化、微服务、服务网格和编排。CDF超越云和容器,包括传统基础设施、移动、物联网、裸机等。CNCF和CDF都属于较大的Linux基金会旗下,计划在许多领域进行合作,包括同场会议。例如,CDF将于5月20日在西班牙巴塞罗那的KubeCon + CloudNativeCon Europe 2019举办持续交付峰会(CDS)活动。CDF如何支持或与DevOps领域的其他玩家合作?CDF的使命是为开发者、最终用户和供应商提供一个中立的家庭,以便在CI/CD方法上进行协作。在这方面,CDF将通过发布关注可移植性的最佳实践、培训材料和行业指南来支持DevOps从业者。有兴趣成为这个新基金会成员并制定治理方案的组织应到CDF加入的页面。开发者可以在此处注册CD基金会邮件列表:info@lists.cd.foundation。任何有兴趣加入CDF的项目都可以联系技术监督委员会(TOC):https://github.com/cdfoundati…。KubeCon + CloudNativeCon + Open Source Summit大会日期:会议日程通告日期:2019 年 4 月 10 日会议活动举办日期:2019 年 6 月 24 至 26 日KubeCon + CloudNativeCon + Open Source Summit赞助方案KubeCon + CloudNativeCon + Open Source Summit多元化奖学金现正接受申请KubeCon + CloudNativeCon和Open Source Summit即将首次合体落地中国KubeCon + CloudNativeCon + Open Source Summit购票窗口,立即购票!CNCF邀请你加入最终用户社区 ...

March 20, 2019 · 1 min · jiezi

KubeEdge,一个Kubernetes原生边缘计算框架

作者:Sanil Kumar D(华为),Jun Du(华为)KubeEdge成为第一个Kubernetes原生边缘计算平台,Edge和云组件现已开源!开源边缘计算正在经历其业界最具活力的发展阶段。如此多的开源平台,如此多的整合以及如此多的标准化举措!这显示了构建更好平台的强大动力,以便将云计算带到边缘以满足不断增长的需求。去年宣布的KubeEdge现在为云原生计算带来了好消息!它提供了基于Kubernetes的完整边缘计算解决方案,具有独立的云和边缘核心模块。目前,云端和边缘模块都是开源的。与可用的某些轻量级kubernetes平台不同,KubeEdge旨在构建扩展云的边缘计算解决方案。控制平面位于云中,可伸缩扩展。同时,边缘可以在离线模式下工作。它也是轻量级和容器化的,并且可以支持边缘的异构硬件。通过优化边缘资源,KubeEdge可以为边缘解决方案节省大量设置和运营成本。这使它成为目前世界上最引人注目的边缘计算平台,基于Kubernetes!Kube(rnetes)Edge! - 为边缘计算开辟一个新的基于Kubernetes的生态系统KubeEdge的主要目标是将Kubernetes生态系统从云端扩展到边缘。从2018年11月在上海KubeCon公布的时候开始,KubeEdge的架构方向与Kubernetes一致,正如它的名字!它从v0.1开始,提供基本的边缘计算功能。现在,凭借其最新版本v0.2,它将云组件连接并完成循环。凭借基于Kubernetes的一致且可扩展的界面,KubeEdge支持边缘集群的编排和管理,类似于Kubernetes在云中的管理方式。这为将云计算功能快速有效地提升到边缘提供了无缝可能性。基于其路线图和架构,KubeEdge尝试支持所有边缘节点、应用程序、设备甚至是与Kubernetes接口一致的集群管理。这将有助于边缘云的行为与云集群完全相同。这可以为基于KubeEdge的边缘云开发部署节省大量时间和成本。KubeEdge提供了一个容器化的边缘计算平台,具有固有的可扩展性。由于它是模块化和优化的,因此它重量轻(66MB足迹和~30MB运行内存),可以部署在资源不多的设备上。类似地,边缘节点可以具有不同的硬件架构并且具有不同的硬件配置。对于设备连接,它可以支持多种协议,并使用基于标准MQTT的通信。这有助于有效地使用新节点和设备扩展边缘集群。你没听错!KubeEdge云核心模块是开源的!通过开放边缘和云模块,KubeEdge带来了一个完整的云供应商中立的轻量级异构边缘计算平台。现在它已准备好支持为边缘计算构建一个完整的Kubernetes生态系统,而且利用大多数现有的云原生项目或软件模块。这可以使边缘的迷你云支持要求苛刻的用例,如数据分析、视频分析机器学习等。KubeEdge架构:构建Kubernetes原生边缘计算!KubeEdge的核心架构原则是构建与Kubernetes一致的接口,无论是在云端还是边缘端。Edged:管理Edge的容器化应用程序。EdgeHub:Edge的通信接口模块。它是一个Web套接字客户端,负责与Cloud Service进行边缘计算交互。CloudHub:云端的通信接口模块。一个Web套接字服务器,负责监视云端的更改、缓存并向EdgeHub发送消息。EdgeController:管理Edge节点。它是一个扩展的Kubernetes控制器,用于管理边缘节点和pod元数据,以便将数据定位到特定的边缘节点。EventBus:使用MQTT处理内部边缘通信。它是与MQTT服务器(mosquitto)交互的MQTT客户端,为其他组件提供发布和订阅功能。DeviceTwin:它是处理设备元数据的设备的软件镜像。此模块有助于处理设备状态并将其同步到云。它还为应用程序提供查询接口,因为它与轻量级数据库(SQLite)接口。MetaManager:它管理边缘节点的元数据。这是edged和edgehub之间的消息处理器。它还负责向轻量级数据库(SQLite)存储/检索元数据。即使你希望基于体系结构优化和改进(例如增强的安全性)添加更多控制平面模块,它也很简单,因为它在这些模块中使用一致的注册和模块化通信。KubeEdge提供可扩展的轻量级Kubernetes原生边缘计算平台,可以在离线模式下工作。它有助于简化边缘应用程序开发和部署。云供应商中立,可以在任何计算节点上运行云核心模块。发布0.1到0.2 - 改变游戏规则!KubeEdge v0.1于2018年12月底发布,具有非常基本的边缘功能,可以管理边缘应用程序以及节点、pod、配置等的Kubernetes API。在大约2个月内,KubeEdge v0.2于2019年3月5日发布。此版本提供了云核心模块,并支持端到端的开源边缘计算解决方案。云核心模块可以署到从任何云供应商或本地部的任何计算节点。现在,可以轻松安装和测试完整的边缘解决方案,包括在笔记本电脑上。随处运行 - 简单而轻盈如上所述,可以轻松部署KubeEdge Edge和Cloud核心组件,并可以运行用户应用程序。边缘核心有66MB的脚印,只需要30MB的内存就可以运行。同样,云核可以在任何云节点上运行。(用户也可以通过在笔记本电脑上运行它来体验)安装很简单,只需几步即可完成:设置先决条件Docker、KubernetesMQTT和openssl克隆并构建KubeEdge云和边缘运行云运行边缘KubeEdge/kubeedge提供每个步骤的详细步骤未来:通过胜任的功能和社区协作起飞KubeEdge由社区成员开发,他们是Kubernetes/CNCF的积极贡献者,并从事边缘计算研究。KubeEdge团队还积极与Kubernetes IOT/EDGE WORKING GROUP合作。在KubeEdge宣布的几个月内,它吸引了来自不同组织的成员,包括京东、浙江大学、SEL实验室、Eclipse、中国移动、ARM、英特尔共同构建平台和生态系统。KubeEdge为其即将于2019年发布的主要版本提供了清晰的路线图。v1.0旨在通过标准的边缘到边缘通信提供完整的边缘集群和设备管理解决方案,而v2.0的目标是拥有边缘的服务网格、功能服务、数据分析等高级功能。此外,对于所有功能,KubeEdge架构将尝试利用现有的CNCF项目/软件。KubeEdge社区需要不同的组织,他们的需求、用例和支持来构建它。请加入制作kubernetes原生边缘计算平台,该平台可将云原生计算范例扩展到边缘云。如何参与?我们欢迎更多合作来构建Kubernetes原生边缘计算生态系统。请加入我们!Twitter:https://twitter.com/kubeedgeSlack:https://kubeedge.slack.com/网站:https://kubeedge.ioGitHub:https://github.com/kubeedge/k…电子邮件:kubeedge@gmail.comKubeCon + CloudNativeCon + Open Source Summit大会日期:会议日程通告日期:2019 年 4 月 10 日会议活动举办日期:2019 年 6 月 24 至 26 日KubeCon + CloudNativeCon + Open Source Summit赞助方案KubeCon + CloudNativeCon + Open Source Summit多元化奖学金现正接受申请KubeCon + CloudNativeCon和Open Source Summit即将首次合体落地中国KubeCon + CloudNativeCon + Open Source Summit购票窗口,立即购票!CNCF邀请你加入最终用户社区

March 20, 2019 · 1 min · jiezi

ONS的社区演示突出LFN项目的协调

作者:Brandon Wick自LFN(LF Networking)成立一年多以来,该项目继续展示战略增长,Telstra于11月加入,该项目占全球移动用户的70%左右。与技术项目的服务供应商并肩工作,对确保LFN满足其要求至关重要。这些集成和创新的一小部分,将在4月3日至5日,在加利福尼亚州圣何塞举行的ONS(开放网络峰会)活动的LFN展台再次展出。我们很高兴今年能回到湾区,并提供Day Pass和Hall Pass选项。立即注册!由于社区的需求,我们将演示站的数量从8个增加到10个,并涵盖了开放式网络堆栈中的许多区域,来自LF Networking伞内的项目(FD.io、OpenDaylight、ONAP、OPNFV和Tungsten Fabric),以及相邻项目Consul、Docker、Envoy、Istio、Ligato、Kubernetes、Openstack和SkyDive等。我们欢迎你花一些时间与技术社区的这些专家交流学习。来自iConectiv、华为和沃达丰的成员将展示LFN对项目协调的承诺,他们将重点介绍ONAP的测试虚拟网络功能(VNF)的入职流程,与OPNFV的Dovetail项目集成,支持不断扩展的OPNFV验证计划(OVP),为未来的合规性和认证测试铺平了道路。项目协调的另一个例子是使用通用基础设施进行LFN项目测试,UNH-IOL的人员将随时为用户讲解实验室即服务,通过托管硬件和提供社区链接便利开发和测试。其他重点领域包括网络切片、服务网格、SDN性能、测试、集成和分析。下面列出的是完整的网络演示阵容,你可以在此处阅读每个演示的详细说明。展示服务供应商特定测试和验证要求(OPNFV,ONAP) - 沃达丰提出并由沃达丰/华为/iConectiv演示ODL和NSM的集成(OpenDaylight,Network Service Mesh) - 由Lumina Networks演示多数据路径之间的SDN性能比较(Tungsten Fabric,FD.io) - 由ATS和Sofioni Networks演示ONAP BBS(Broadband Service,宽带服务)用例(ONAP,OPNFV) - 由Swisscom,华为和诺基亚演示零停机应用的OpenStack滚动升级(OPNFV,OpenStack) - 由诺基亚和德国电信演示Skydive和VPP集成:拓扑分析仪(FD.io,Ligato,Skydive,Docker) - 由PANTHEON.tech演示VSPERF:超越绩效指标,走向因果分析(OPNFV) - 由思博伦通信和AT&T演示基于ONAP生命周期管理(ONAP)的网络切片 - 由AT&T和爱立信演示服务网格和SDN:大规模集群负载均衡(Tungsten Fabric,Linux OS,Istio,Consul,Envoy,Kubernetes,HAProxy) - 由Tungsten Fabric社区演示实验室即服务2.0演示(OPNFV) - 由UNH-IOL演示我们希望在展会上见到你!立即注册!KubeCon + CloudNativeCon + Open Source Summit大会日期:会议日程通告日期:2019 年 4 月 10 日会议活动举办日期:2019 年 6 月 24 至 26 日KubeCon + CloudNativeCon + Open Source Summit赞助方案KubeCon + CloudNativeCon + Open Source Summit多元化奖学金现正接受申请KubeCon + CloudNativeCon和Open Source Summit即将首次合体落地中国KubeCon + CloudNativeCon + Open Source Summit购票窗口,立即购票!CNCF邀请你加入最终用户社区 ...

March 19, 2019 · 1 min · jiezi

与CNCF一起分享K8s博客文章或案例研究

CNCF和Kubernetes网站不时发布来之全世界的博客文章和案例研究。近期的博客文章有:使用Ansible和Vagrant设置KubernetesKubernetes v1.13对原始块卷支持转移到beta使用OperatorHub.io自动化群集上的操作为Envoy v2构建Kubernetes Edge(Ingress)控制平面Runc和CVE-2019-5736国内案例研究有:CNCF案例研究:网易CNCF案例研究:蚂蚁金服CNCF案例研究:京东CNCF案例研究:PingCAPCNCF案例研究:奇虎360我们邀请你与CNCF一起向全世界同好分享你的K8s博客文章或关于你的案例研究。写博客文章任何人都可以撰写博客文章并提交以供审核。博客文章不应具有商业性质,应包含广泛适用于Kubernetes社区的内容。要提交博客文章,你可以使用Kubernetes博客提交表,也可以按照以下步骤操作。如果尚未签署,请签署CLA。查看网站存储库中现有博客帖子的Markdown格式。在你喜欢的文本编辑器中写下你的博客文章。在步骤2的同一链接上,单击“Create new file”按钮。将你的内容粘贴到编辑器中。将文件命名为与博客文章的建议标题相匹配,但不要将日期放在文件名中。博客评论员将与你一起确定最终文件名和博客发布日期。保存文件时,Github将引导你完成拉取请求过程。博客评审员将审核你的提交内容,并与你一起提供反馈和最终详细信息。博客文章获得批准后,博客将安排发布。提交案例研究案例研究强调组织如何使用Kubernetes解决实际问题。它们与Kubernetes营销团队合作编写,由CNCF处理。看看现有案例研究材料。可以使用Kubernetes案例研究提交表提交你的提案。KubeCon + CloudNativeCon + Open Source Summit大会日期:会议日程通告日期:2019 年 4 月 10 日会议活动举办日期:2019 年 6 月 24 至 26 日KubeCon + CloudNativeCon + Open Source Summit赞助方案KubeCon + CloudNativeCon + Open Source Summit多元化奖学金现正接受申请KubeCon + CloudNativeCon和Open Source Summit即将首次合体落地中国KubeCon + CloudNativeCon + Open Source Summit购票窗口,立即购票!CNCF邀请你加入最终用户社区

March 19, 2019 · 1 min · jiezi

Linux基金会开源领袖峰会2019年幻灯片(pdf)

Linux基金会举办的开源领袖峰会(Open Source Leadership Summit)是一个亲密的、仅限邀请的活动,促进了开放技术开发领域的领先项目和企业之间的创新、发展和合作关系。对于希望推进开源策略、实施和投资的业务和技术领导者来说,这是必须参加的。与会者包括:使用开源软件并与业内其他人共享研发的组织的高管、业务和开源项目办公室负责人负责组织内关键项目或开源策略的技术负责人需要跟领导技术和执行领导层,分享最佳实践和策略以实现最大创新的开源组织和项目负责人今年精彩内容的幻灯片在活动结束后的一周内,在演讲者提供的情况下会陆续发布到网站以供下载:Open Chain at Scania - Jonas Öberg, Scania CV ABSingle-vendor Open Source at the Crossroads - Dirk Riehle, Friedrich-Alexander UniversityInspur’s Opensource Practices and Lessons - James Wang, InspurManaging Open Source Better Together - Michael Picht, SAP & Thomas Steenbergen, HERE TechnologiesOpen Source Collaboration and Companies: Finding the Right Balance - Dawn Foster, PivotalSPDX: Bridging the Compliance Tooling Gap - Steve Winslow & Gary O’Neall, The Linux FoundationEnd-to-end Injection Safety at Scale - Mike Samuel, GoogleThe Future of Open Source Sustainability, as Seen Elsewhere - Jose Miguel Parrella, MicrosoftBridging the Development Gap and the Commercial Use of Open Source Projects - Anni Lai & Sean McGinnis, HuaweiStarting and Scaling an Open Source Office: The Good, the Bad and the Ugly - Thomas Steenbergen, HERE TechnologiesHow Open Source Projects Can Leverage Standards and Specifications - David Rudin, Microsoft Corporation & Joint Development FoundationA Tale of Two Cities - Gil Yehuda & Ashley Wolf, Verizon MediaFulfilling Open Source License Obligations: Can Checklists Help? - Caren Kresse, Open Source Automation Development Lab (OSADL) eGMake Yourself Useful: How to be an Effective (Non-Profit) Board Member - Deborah Bryant, Red HatThree Cs to an Open Source Program Office - Justin Rackliffe, Fidelity InvestmentsLessons Learned from Starting an Open Source Based Compliance Verification Program - Wenjing Chu, Futurewei Technologies, Inc.Anti-Marketing Marketing: How to Build Authentic Evangelism Programs for Open Source Projects - Ben Cotton, Red Hat; Jen Gray, Adobe; Amanda Katona, VMware; Jennifer Lankford, AnyContext; and Kim McMahon, Cloud Foundry FoundationCompliance and Risk Metrics: Extending CHAOSS - Sean Goggins, University of Missouri; Matt Germonprez, University of Nebraska-Omaha & Kate Stewart, Linux FoundationThe Untold Story Behind Creating an Open Source Program Office - Brian Hsieh, UberIssues of Open Source Compliance Check of Modern Programing Languages and Container Images - Gergely Csatari, NokiaUnderstanding Trademarks in the Context of Open Source - Josh Aas, Internet Security Research Group, Ben Costa & Chris Ridder, Costa & Johnstone LLPShifting Incentives in Open Source Participation - Craig Northway, Qualcomm TechnologiesWhen Production is Someone Else’s Black Box: Safely Developing OSS for the Enterprise - Isobel Redelmeier, LightStepIntro to Setting Up an OSS Compliance Program in Your Organization - Indira Bhatt, Independent Consultant & Gwyn Murray, Matau Legal GroupMeasuring Success in Open Source Software Contribution - How to Stop Counting Lines of Code - Ranny Haiby, SamsungCII Best Practices Badge Project in 2019 - David A. Wheeler, IDAPanel Discussion: Everyday Mentoring, Growth, & Collaboration - Erica Brescia, Bitnami; Vicky Brasseur, Juniper; Rupa Dachere, CodeChix; Erik Riedel, Works Together; and Jaice Singer DuMars, GoogleHow to Leverage Research Universities - Carlos Maltzahn, University of California, Santa CruzManaging an Open Source Project: The Non-Code Work - Jonas Rosland, VMwareHow the Yocto Project Addressed Comcast RDK Scalability Issues - Nicolas Dechesne, Linaro & Khem Raj, ComcastAn Update on Hyperledger & Open Source Blockchain - David Treat, Accenture; Daniela Barbosa & Brian Behlendorf, HyperledgerSentimine: A cregit Plugin to Analyze the Sentiment Behind the Linux Kernel Code - Isabella Vieira Ferreira, Polytechnique MontréalA Novel Way to Efficiently Comply with Licenses - Alexios Zavras, Intel CorporationHow to Manage Open Source at Scale in a Global Enterprise? - Peter Giese, SAPWorking in Foundation-based vs. Company-led Open Source Projects - Ray Paik, GitLab & Stefano Maffulli, ScalityThe FOSSology Project - Latest News and Future Plans - Maximilian Huber, TNG Consulting GmbHSustaining Jenkins Through the CDF - Tracy Miranda, CloudBeesPanel Discussion: Managing Competing Corporate Interests While Driving Coherent Communities - Tom Tofigh, AT&T; Malini Bhandaru, VMware; Prakash Ramchandran, DellEMC & Sujata Tibrewala, IntelR Consortium: Striving to Address Diversity Issues in Open Source - Gabriela de Queiroz, IBM & David Smith, MicrosoftYocto Project: Solving Out of this World Problems! - Lieu Ta, Wind RiverBe Smart, Stay Smart - Open Source for Long-living Products - Urs Gleim, Siemens AGThe Serverless Landscape and Event Driven Futures - Priyanka Sharma, Gitlab & Dee Kumar, The Linux Foundation点击进入网页下载幻灯片(pdf)。KubeCon + CloudNativeCon + Open Source Summit大会日期:会议日程通告日期:2019 年 4 月 10 日会议活动举办日期:2019 年 6 月 24 至 26 日KubeCon + CloudNativeCon + Open Source Summit赞助方案KubeCon + CloudNativeCon + Open Source Summit多元化奖学金现正接受申请KubeCon + CloudNativeCon和Open Source Summit即将首次合体落地中国KubeCon + CloudNativeCon + Open Source Summit购票窗口,立即购票!CNCF邀请你加入最终用户社区 ...

March 18, 2019 · 4 min · jiezi

使用Ansible和Vagrant设置Kubernetes

作者:Naresh L J(Infosys)目的此博客文章介绍了为开发而设的多节点Kubernetes集群所需的步骤。此设置提供了类似生产环境的群集,可以在本地计算机上进行。为什么需要多节点群集设置?多节点Kubernetes集群提供类似生产的环境,具有各种优势。尽管Minikube提供了很好的入门平台,但它并没有提供使用多节点集群的机会,帮助解决与应用程序设计和体系结构相关的问题或错误。例如,Ops可以在多节点集群环境中重现问题,测试者可以部署多个版本的应用程序来执行测试用例和验证更改。这些优势使团队能够更快地解决问题,从而提高敏捷性。为什么使用Vagrant和Ansible?Vagrant可以让我们轻松创建虚拟环境,消除导致“在我的机器能工作”现象的陷阱。它可以与多个供应程序一起使用,例如Oracle VirtualBox、VMware、Docker等。它允许我们通过使用配置文件来创建一次性环境。Ansible是自动化软件配置管理的基础架构自动化引擎。它是无代理的,允许我们使用SSH密钥连接到远程计算机。Ansible playbooks以yaml编写,以简单的文本文件提供库存管理。先决条件在你的机器上安装Vagrant。可以在此处找到安装二进制文件。Oracle VirtualBox可以作为Vagrant供应程序,也可以使用Vagrant官方文档描述的类似供应程序。Ansible安装在你的机器上。有关特定平台的安装,请参阅Ansible安装指南。设置概述我们将建立一个Kubernetes集群,包含一个主节点和两个工作节点。所有节点将运行Ubuntu Xenial 64位操作系统,配置使用Ansible playbooks。第1步:创建Vagrantfile使用你喜欢的文本编辑器,创建名为Vagrantfile的文件,插入下面的代码。N的值表示集群中存在的节点数,可以相应地进行修改。在下面的示例中,我们将N的值设置为2。IMAGE_NAME = “bento/ubuntu-16.04"N = 2Vagrant.configure(“2”) do |config| config.ssh.insert_key = false config.vm.provider “virtualbox” do |v| v.memory = 1024 v.cpus = 2 end config.vm.define “k8s-master” do |master| master.vm.box = IMAGE_NAME master.vm.network “private_network”, ip: “192.168.50.10” master.vm.hostname = “k8s-master” master.vm.provision “ansible” do |ansible| ansible.playbook = “kubernetes-setup/master-playbook.yml” end end (1..N).each do |i| config.vm.define “node-#{i}” do |node| node.vm.box = IMAGE_NAME node.vm.network “private_network”, ip: “192.168.50.#{i + 10}” node.vm.hostname = “node-#{i}” node.vm.provision “ansible” do |ansible| ansible.playbook = “kubernetes-setup/node-playbook.yml” end end end第2步:为Kubernetes master创建Ansible playbook。在Vagrantfile相同的目录中创建名为kubernetes-setup的目录。在kubernetes-setup目录中创建两个名为master-playbook.yml和node-playbook.yml的文件。在master-playbook.yml文件中,添加以下代码。步骤2.1:安装Docker及其相关组件。我们将安装以下软件包,然后将名为“vagrant”的用户添加到“docker”组。—- hosts: all become: true tasks: - name: Install packages that allow apt to be used over HTTPS apt: name: “{{ packages }}” state: present update_cache: yes vars: packages: - apt-transport-https - ca-certificates - curl - gnupg-agent - software-properties-common - name: Add an apt signing key for Docker apt_key: url: https://download.docker.com/linux/ubuntu/gpg state: present - name: Add apt repository for stable version apt_repository: repo: deb [arch=amd64] https://download.docker.com/linux/ubuntu xenial stable state: present - name: Install docker and its dependecies apt: name: “{{ packages }}” state: present update_cache: yes vars: packages: - docker-ce - docker-ce-cli - containerd.io notify: - docker status - name: Add vagrant user to docker group user: name: vagrant group: docker步骤2.2:如果系统启用了swap,Kubelet将无法启动,因此我们使用以下代码禁用swap。 - name: Remove swapfile from /etc/fstab mount: name: “{{ item }}” fstype: swap state: absent with_items: - swap - none - name: Disable swap command: swapoff -a when: ansible_swaptotal_mb > 0步骤2.3:使用以下代码安装kubelet、kubeadm和kubectl。 - name: Add an apt signing key for Kubernetes apt_key: url: https://packages.cloud.google.com/apt/doc/apt-key.gpg state: present - name: Adding apt repository for Kubernetes apt_repository: repo: deb https://apt.kubernetes.io/ kubernetes-xenial main state: present filename: kubernetes.list - name: Install Kubernetes binaries apt: name: “{{ packages }}” state: present update_cache: yes vars: packages: - kubelet - kubeadm - kubectl步骤2.3:使用以下代码使用kubeadm初始化Kubernetes集群(仅适用于主节点)。 - name: Initialize the Kubernetes cluster using kubeadm command: kubeadm init –apiserver-advertise-address=“192.168.50.10” –apiserver-cert-extra-sans=“192.168.50.10” –node-name k8s-master –pod-network-cidr=192.168.0.0/16步骤2.4:使用以下代码为vagrant用户设置kube配置文件以访问Kubernetes集群。 - name: Setup kubeconfig for vagrant user command: “{{ item }}” with_items: - mkdir -p /home/vagrant/.kube - cp -i /etc/kubernetes/admin.conf /home/vagrant/.kube/config - chown vagrant:vagrant /home/vagrant/.kube/config步骤2.5:使用以下代码设置容器网络供应商和网络政策引擎。 - name: Install calico pod network become: false command: kubectl create -f https://docs.projectcalico.org/v3.4/getting-started/kubernetes/installation/hosted/calico.yaml步骤2.6:生成kube join命令将节点加入Kubernetes集群,并将该命令存储在名为join-command的文件中。 - name: Generate join command command: kubeadm token create –print-join-command register: join_command - name: Copy join command to local file local_action: copy content=”{{ join_command.stdout_lines[0] }}" dest="./join-command"步骤2.7:使用以下代码设置检查Docker守护程序的处理程序。 handlers: - name: docker status service: name=docker state=started步骤3:为Kubernetes节点创建Ansible playbook。在kubernetes-setup目录中创建名为node-playbook.yml的文件。将以下代码添加到node-playbook.yml中步骤3.1:开始添加步骤2.1到2.3的代码。步骤3.2:使用以下代码将节点加入Kubernetes集群。 - name: Copy the join command to server location copy: src=join-command dest=/tmp/join-command.sh mode=0777 - name: Join the node to cluster command: sh /tmp/join-command.sh步骤3.3:添加步骤2.7中的代码以完成此playbook。第4步:完成Vagrantfile和playbooks后,请按照以下步骤操作。$ cd /path/to/Vagrantfile$ vagrant up完成上述所有步骤后,Kubernetes集群应该已启动并运行。我们可以使用Vagrant登录主节点或工作节点,如下所示:$ ## Accessing master$ vagrant ssh k8s-mastervagrant@k8s-master:~$ kubectl get nodesNAME STATUS ROLES AGE VERSIONk8s-master Ready master 18m v1.13.3node-1 Ready <none> 12m v1.13.3node-2 Ready <none> 6m22s v1.13.3$ ## Accessing nodes$ vagrant ssh node-1$ vagrant ssh node-2KubeCon + CloudNativeCon + Open Source Summit大会日期:会议日程通告日期:2019 年 4 月 10 日会议活动举办日期:2019 年 6 月 24 至 26 日KubeCon + CloudNativeCon + Open Source Summit赞助方案KubeCon + CloudNativeCon + Open Source Summit多元化奖学金现正接受申请KubeCon + CloudNativeCon和Open Source Summit即将首次合体落地中国KubeCon + CloudNativeCon + Open Source Summit购票窗口,立即购票!CNCF邀请你加入最终用户社区 ...

March 18, 2019 · 3 min · jiezi

LF DL的Horovod项目增加了对PySpark和Apache MXNet的支持以及其他功能,以加快培训速度

作者:Carsten Jacobsen,开源开发者倡导者@Uber摘录:Horovod在最新版本中支持更多框架,并引入了新功能以提高通用性和生产力。Horovod是由Uber创建的分布式深度学习框架,它使分布式深度学习变得快速,且易于使用。Horovod使用TensorFlow、Keras、PyTorch和Apache MXNet改进训练机器学习(ML)模型的速度、规模和资源分配。LF Deep Learning是支持和维持人工智能和机器学习开源创新的Linux基金会项目,于2018年12月接受了Horovod作为其托管项目之一。该项目被托管以后,Uber以外的额外贡献和协作由于LF DL的中立环境、开放式治理和基金会为项目提供的一系列推动因素而出现。最新版本中的更新以三个关键方式改进了Horovod:为更多框架添加支持和集成,改进现有功能,以及为TensorFlow 2.0带来的变化准备。综合起来,这些新功能和能力使Horovod更容易、更快速、更灵活、适用于不断增长的用户群,包括NVIDIA和Oak Ridge National Laboratory。Horovod还与各种深度学习生态系统集成,包括AWS、Google、Azure和IBM Watson。在此版本中,添加了许多用于Horovod的新用例,目的是使框架成为培训深度学习模型的更通用工具。随着集成和支持框架的增加,用户可以利用Horovod加速大量开源模型,并在多个框架中使用相同的技术。PySpark和Petastorm的支持Apache Spark能够处理大量数据,可用于许多机器学习环境。易用性、内存处理功能、近实时分析以及丰富的集成选项,如Spark MLlib和Spark SQL,使Spark成为一种受欢迎的选择。鉴于其可扩展性和易用性,Horovod得到了更广泛的基于Python的机器学习社区的兴趣,包括Apache Spark。随着PySpark支持和集成的发布,Horovod对更广泛的用户变得有用。在Horovod之前,PySpark的典型工作流程,是在PySpark中进行数据准备,将结果保存在中间存储中,使用不同的群集解决方案运行不同的深度学习培训工作,导出训练的模型,并在PySpark中运行评估。Horovod与PySpark的集成允许在同一环境中执行所有这些步骤。为了平滑Spark集群中PySpark和Horovod之间的数据传输,Horovod依赖于Petastorm,这是一个由Uber Advanced Technologies Group(ATG)开发的深度学习开源数据访问库。Petastorm于2018年9月开源,可直接从多TB数据集,进行单机或分布式培训,以及深度学习模型的评估。典型的Petastorm用例需要在PySpark中预处理数据,将其写入Apache Parquet中的存储,这是一种高效的列式存储格式,并使用Petastorm读取TensorFlow或PyTorch中的数据。Apache Spark和Petastorm也在Uber内部的某些应用程序中使用,因此扩展Horovod对PySpark和Petastorm的支持一直是使Horovod成为更多通用工具的过程中的自然步骤。Apache MXNet的支持Apache MXNet(孵化)是一个开源深度学习框架,可以促进更灵活、更有效的神经网络培训。亚马逊是Horovod和MXNet的重要贡献者,并且在Amazon EC2 P3实例和Amazon SageMaker上原生支持这两个框架。就像最近对PySpark的支持一样,Horovod与MXNet的整合是将Horovod提供给更广泛社区的更大努力的一部分,进一步扩大了对更快更轻松的模型培训。自动调节最新版本的第三次更新是Horovod推出自动调节的alpha版本。在此版本中,自动调整是可选的,但在将来的版本中它将默认打开。Horovod支持许多内部参数,可以调整这些参数以提高硬件和模型架构变化的性能。这些参数包括融合缓冲门槛(fusion buffer threshold),用于确定可以将多个张量(tensor)一起批量合并为单个allreduce、用于控制allreduce批次的频率的循环时间、以及当主机数量变得非常大时,作为单环allreduce的替代方案的分层allreduce 。找到这些参数的正确值,可以使性能提高多达30%。但是,手动尝试不同的参数是一种耗时的反复试验。Horovod的自动调节系统,通过使用贝叶斯(Bayesian),优化动态探索和选择最佳内部参数值来消除猜测。自动调节会自动化手动过程,执行尝试不同选项和参数值,以确定最佳配置,如果硬件、比例或模型发生变化,必须重复这些配置。由于自动化,自动调节使参数优化更有效,可以加快模型培训速度。嵌入的改进嵌入通常用于涉及自然语言处理(NLP)和从表格(tabular)数据学习的机器学习用例。在Uber的数据存储区,Uber旅程数据存储为表格数据,这些数据具有一些分类界限。在像Uber这样的用例中,嵌入的数量和嵌入的大小将会扩展。在最新版本中,Horovod增强了其扩展深度学习模型的能力,这些模型大量使用嵌入式设备,例如Transformer和BERT。此外,这些嵌入改进更快地促进了大嵌入梯度(gradient),以及小嵌入梯度的融合,允许更多数量的嵌入更快地处理操作。TensorFlow的热切执行支持热切执行(Eager execution)将是TensorFlow 2.0中的默认模式。热切执行允许开发者在命令式编程环境中创建模型,其中立即评估操作,并将结果作为实际值返回。热切执行消除了创建会话(session)和使用图形的需要。凭借对动态模型的热切执行支持,模型评估和调试变得更加容易和快捷。对于缺乏经验的开发者而言,热切执行也使得TensorFlow更直观。在过去,运行Horovod的热切执行,意味着按顺序计算所有工人(worker)的每个张量梯度(tensor gradient),没有任何张量批处理或并行性。在最新版本中,完全支持热切执行。在我们的实验中,使用热切执行的Tensor批处理,可将性能提高6倍以上。此外,用户现在可以使用TensorFlow的GradientTape的分布式实现来记录自动区分(differentiation)操作。混合精确训练混合精度是在计算方法中组合使用不同的数值精度。使用低于FP32的精度,可以通过使用更小的张量来减少内存需求,从而允许部署更大的网络。此外,数据传输花费的时间更少,计算性能也大幅提升。具有Tensor Core的GPU支持混合精度,使用户能够充分利用更低内存使用率和更快数据传输的优势。深度神经网络的混合精确训练实现了两个主要目标:减少所需的内存量,支持更大型号的培训或使用更大的小批量培训通过使用低精度算法减少所需资源,缩短训练或推理时间在过去,混合精确训练通常打断Horovod的融合逻辑,因为FP16张量的序列将经常被FP32张量打断,并且不同精度的张量不能参与单个融合事务。在最新版本中,NVIDIA对张量融合逻辑做出了改进,允许FP16和FP32张量序列通过前瞻机制独立处理。通过这种变化,我们已经看到高达26%的性能提升。想知道Horovod如何让你的模型训练更快,更具可扩展性?查看这些更新,并亲自试用该框架,并确保加入Deep Learning Foundation的Horovod公告和技术讨论邮件列表。KubeCon + CloudNativeCon + Open Source Summit大会日期:会议日程通告日期:2019 年 4 月 10 日会议活动举办日期:2019 年 6 月 24 至 26 日KubeCon + CloudNativeCon + Open Source Summit赞助方案KubeCon + CloudNativeCon + Open Source Summit多元化奖学金现正接受申请KubeCon + CloudNativeCon和Open Source Summit即将首次合体落地中国KubeCon + CloudNativeCon + Open Source Summit购票窗口,立即购票!CNCF邀请你加入最终用户社区 ...

March 15, 2019 · 1 min · jiezi

ONS演进:给运营商和企业的云、边缘和技术内容

作者:Arit Joshipura,Linux基金会网络、Edge&IoT总经理。第一届开放网络峰会(Open Networking Summit)于2011年10月在斯坦福大学举行,被称为“关于OpenFlow和软件定义网络(SDN)的首要活动”。七年半之后,我们到了现在,我一直惊讶从那时起已经走了多远,而且像电信这样一个传统的缓慢发展的行业,正在以多么快的速度接受由开放源码驱动的变革和创新。去年秋天在阿姆斯特丹举行的ONS峰会上,Network World将开放源码网络描述为“新的规范”,事实上,开放平台已经成为事实上的网络标准。与技术一样,ONS作为一项活动也在不断发展,以满足行业需求,旨在帮助你利用这场网络革命。今年活动的主题是“支持协作发展和创新”,我们通过探索企业、服务供应商和云供应商,在SDN、NFV、VNF、CNF/云原生网络、编排、云自动化、核心网络、边缘、接入、物联网服务等关键领域的协作开发和创新来实现这一目标。ONS的一个独特之处,在于它促进在活动中把令人兴奋的主题、行业和业务讨论同时,进行深入的技术讨论。来自网络项目社区的最新创新,包括LF Networking(ONAP、OpenDaylight、OPNFV、Tungsten Fabric)都会参与该活动,以及LFN UnConference Track和LFN Networking Demos等。各种活动经验确保与会者有充分的机会在会议、博览会大厅和社交活动中会面和互动。今年的新安排是专题结构旨在深入涵盖关键主题,以满足CIO/CTO/架构师和开发者、系统管理员、NetOps和DevOps团队的需求:运营商和云开发者(DevOps)云原生网络(适用于运营商和企业)企业IT和运营(开发和业务)新边缘开放创新的世界及其对网络的影响ONS的日程安排现已上线,查找将帮助你学习如何参与将对你的网络生涯产生影响的开放源码社区和生态系统的课程和教程。如果你需要帮助说服你的老板,这会帮助你立案。标准价格3月17日到期,所以赶快在今天登记吧!请务必查看Day Passes和Hall Passes。我希望在那里见到你!KubeCon + CloudNativeCon + Open Source Summit大会日期:会议日程通告日期:2019 年 4 月 10 日会议活动举办日期:2019 年 6 月 24 至 26 日KubeCon + CloudNativeCon + Open Source Summit赞助方案KubeCon + CloudNativeCon + Open Source Summit多元化奖学金现正接受申请KubeCon + CloudNativeCon和Open Source Summit即将首次合体落地中国KubeCon + CloudNativeCon + Open Source Summit购票窗口,立即购票!CNCF邀请你加入最终用户社区

March 15, 2019 · 1 min · jiezi

在CommunityBridge上推出Linux内核指导计划

作者:Shuah Khan当Jim Zemlin邀请我来Linux基金会作为Linux研究员,从事指导计划和提高Linux安全性时,我马上答应。我非常高兴能够在Linux基金会,与才华横溢,敬业奉献的人一起工作。这是一个独特而特殊的机会,可以分享我的知识和热情,帮助有抱负的开发者,感受成为世界上最大的开源项目的一部分的喜悦。为Linux内核做贡献,并在开源中工作是我的热情所在。能够成为影响和触动世界上每个人的软件的贡献者是一种荣幸,无论他们是否知道。作为改变我们沟通方式、开展业务、学习和互动的方式的一部分,我和全世界成千上万的开发者一起自豪地分享了作为Linux社区的一分子。我作为Linux内核贡献者的旅程开始是一个有趣的实验,帮助获取Android代码并使其成为核心Linux项目的一部分。我喜欢成为社区一员的经历,并开始寻找更多参与其中的机会。当Greg Kroah-Hartman寻找志愿者来帮助他完成稳定的维护工作时,我报了名。当我继续在内核社区工作时,Greg让我通过维护Linux Kselftest子系统来帮助完成提高Linux内核质量的任务。这使我有机会与在内核的各个部分拥有丰富经验的开发者和维护者合作。它让我保持警惕,为我提供了一个学习和帮助加强Linux内核质量和验证工作的巨大机会。此外,我协助稳定版本维护者,维护USB over IP、cpupower工具,贡献Linux媒体子系统,我在内核技术顾问委员会服务。像许多开源人士一样,我相信分享我的知识和专业。指导开发者是成为维护者和开源好公民的重要工作。任何社区都必须花时间和精力培养新的人才,并培养下一代领导者,以实现持续的成功。我发现Linux内核社区对于像我这样不同背景的人来说是一个非常热情的地方。我有很棒的导师,他们抽出时间帮助我找到我在社区中的位置,并将其作为我的家。我期待与社区分享我的经验,帮助新人克服他们的担忧,如果有的话,帮助他们在这个社区找到一个地方并有宾至如归的感觉。自从加入Linux基金会以来,我一直在努力建立新的指导计划。今天,我很高兴地宣布我们在CommunityBridge上推出新的Linux内核导师计划(Linux Kernel Mentorship Program),这个平台将为新开发者带来加入和学习社区的机会并同时进行改进。CommunityBridge是一个内核导师可以注册以分享他们的专业知识的地方,并将他们与具有申请工作的基本技能的任何人配对,作为选定的受指导者从我们的社区中学习。CommunityBridge将为个人,提供获得5500美元加上500美元旅行津贴的机会,为期12周的计划,向我们学习并解决诸如查找和修复,将使内核更加稳定和安全的错误等问题。在该计划结束时,受指导者还将与CommunityBridge雇主配对,以便有机会面试一些技术领域的知名公司。重要的是,为了改善我们社区的多样性,Linux基金会将在今年4月开始的夏季环节为来自不同背景的前5名学员提供全额资助。更重要的是,Linux基金会将以一兑一的方式进行匹配捐赠,以支持在CommunityBridge平台上托管的所有项目中的前100名来自不同背景的学员。简而言之,我们可以改进内核代码,将新人带入我们的社区,并为来自不同背景的有抱负的开发者找到工作机会,所有这些都在CommunityBridge上一同发生。我想邀请学员今天就通过申请CommunityBridge的计划,与专家作为指导和导师开始你的开源之旅。我敦促社区合作伙伴尽早捐赠给Linux内核指导计划,以确保Linux Kernel项目的LF匹配捐赠。请与我一起努力使Linux内核变得强大、多样和安全。对于内核以外的重要开源项目,我鼓励你利用CommunityBridge来改善你的社区。KubeCon + CloudNativeCon + Open Source Summit大会日期:会议日程通告日期:2019 年 4 月 10 日会议活动举办日期:2019 年 6 月 24 至 26 日KubeCon + CloudNativeCon + Open Source Summit赞助方案KubeCon + CloudNativeCon + Open Source Summit多元化奖学金现正接受申请KubeCon + CloudNativeCon和Open Source Summit即将首次合体落地中国KubeCon + CloudNativeCon + Open Source Summit购票窗口,立即购票!CNCF邀请你加入最终用户社区

March 14, 2019 · 1 min · jiezi

富士通加入OpenChain作为白金会员

领先的日本信息和通信技术公司,支持业界唯一的供应链协作开源合规标准加利福尼亚州半月湾 - 开源领导者峰会 - 2019年3月13日 - OpenChain项目通过使开源许可证合规更简单、更一致来建立对开源的信任,今天在Linux基金会的OSLS(Open Source Leadership Summit,开源领导者峰会)上宣布,富士通作为白金会员加入。富士通加入其他最近的白金级会员,包括博世、微软、优步、谷歌和Facebook。OpenChain提供规范以及公司需要成功管理开源许可证合规的总体流程、政策和培训,以使其对软件供应链的参与者变得更加高效、易懂和可预测。随着代码在通过供应链,消耗数十亿行开源软件以构建新产品和服务的公司之间流动,一个关键挑战是确保及时有效地满足相关许可要求。OpenChain项目提供一致的方法来解决这个问题和其他挑战。符合OpenChain规范表明组织遵循高质量开源合规计划的关键要求,并在供应链中的组织之间建立信任。它使采购者更容易采购,供应商更容易获得优先地位。“富士通一直是开源社区和Linux基金会的长期支持者;我们认为开源合规是开源合作的关键因素。”富士通副总裁兼平台软件业务部Linux开发部门负责人Kaneshige Kenji表示。“我们很高兴加入OpenChain项目,以促进对开源供应链的信任,并鼓励对我们社会中迅速增长的开源软件的更高合规性。”“我们很高兴富士通作为白金会员加入OpenChain项目。”OpenChain总经理Shane Coughlan说。“随着我们继续为供应链中的开源合规建立行业标准,他们的专业知识和支持将至关重要。我特别高兴能够获得富士通在物联网和云技术等领域拥有的丰富知识。”作为白金会员,富士通的代表将加入OpenChain管理委员会。OpenChain项目的其他白金成员包括Adobe、Arm Holdings、博世、思科、康卡斯特、Facebook、谷歌、哈曼国际、日立、微软、高通、西门子、索尼、东芝、丰田、优步和西部数据。KubeCon + CloudNativeCon + Open Source Summit大会日期:会议日程通告日期:2019 年 4 月 10 日会议活动举办日期:2019 年 6 月 24 至 26 日KubeCon + CloudNativeCon + Open Source Summit赞助方案KubeCon + CloudNativeCon + Open Source Summit多元化奖学金现正接受申请KubeCon + CloudNativeCon和Open Source Summit即将首次合体落地中国KubeCon + CloudNativeCon + Open Source Summit购票窗口,立即购票!CNCF邀请你加入最终用户社区

March 14, 2019 · 1 min · jiezi

重磅预告 | 今晚直播:MyCat的坑如何在分布式中间件DBLE上改善

上周,DBLE团队历时3个月准备的开源MySQL分布式中间件DBLE系列公开课发布了,为使社区同学能够更好的评估课程内容、质量以及对DBLE有更清晰深入的认知,我们联合IT168将在第二节课程发布前开放一期直播,跟大家聊聊DBLE与MyCat错综复杂的故事。直播时间:3月14日(今晚)20:00PM分享嘉宾:DBLE项目负责人 蓝寅分享主题:《MyCat的坑如何在分布式中间件DBLE上改善》课程亮点跟你分享MyCat不为人知的一面线上的复杂查询其实结果不对?被MyCat默默吃掉的那些SQL!MyCat不太支持的那些语法!不严谨代码导致的那些bug!内容简介分享将从DBA与研发两个角度进行说明,对于DBA同学最关心的SQL语言实现以及运维管理应当如何评估;开发者同学十分关注的bug修复质量,代码质量及代码科学管理如何判断,通过拆解两方对中间件的需求来吐槽MyCat到底有多少坑以及DBLE是如何避免的,为大家在MySQL的“读写分离”、“分库分表”等架构选型方面提供指引。课程提纲一.DBA角度SQL语言实现 数据查询: 简单查询 / 聚合函数查询 / 函数嵌套查询 / union 查询 / 子查询 / Join查询 / 跨表Join查询 数据操作:Insert / 全局序列 上下文设置:上下文变量运维管理 用户权限:管理端用户权限二.开发角度1.bug修复质量2.代码半成品残留3.代码灌水4.伪造实现直播课程参与方式关注「爱可生开源社区」,回复关键字 “ 直播 ”即可成功报名啦!今晚20:00,一起相约微课堂,关于DBLE公开课或者DBLE的使用问题反馈一键直达DBLE研发团队。开源分布式中间件DBLE社区官网:https://opensource.actionsky….GitHub主页:https://github.com/actiontech…技术交流群:669663113开源数据传输中间件DTLE社区官网:https://opensource.actionsky….GitHub主页:https://github.com/actiontech…技术交流群:852990221

March 14, 2019 · 1 min · jiezi

云原生土壤孕育的开源森林

当今的社会是高速发展的新型科技社会,互联网、物联网、人工智能等一系列新鲜事物如雨后春笋般喷薄而出,并以前所未有的速度迅速成长。在这个风起“云”涌的时代,云原生技术作为孕育这些高科技的土壤,亦是备受世人关注。早在2013年的时候,云原生 (Cloud Native) 这个概念一经提出,就已经广受专家们的关注与推崇。再经历了诸多大企业的部署、实践、应用之后,云原生技术的优势更进一步显现,它不仅带动了新的 IT 技术的大发展,也加速了很多类型企业向云技术化转型的进程。那么,火热的云原生究竟怎么去理解呢?其实,由于它具有可以为企业迅速部署新业务的特性,且在我们的实际应用中,可以清晰的感受到它的高弹性、动态调度、自动伸缩等一些传统IT技术所不具备的能力,在部署过程中除了我们要考量技术上的如 :DevOps、持续交付、微服务、敏捷基础设施等特性,也要考量如何体现其与企业管理、企业文化之间的深度融合,所以,综上考虑,我们可以认为云原生的实质,就是一个关联着管理与技术跨层面交叠的融合式集合。为了便于更好的运用云原生应用为我们服务,2015年,由谷歌牵头成立了 CNCF (Cloud Native Computing Foundation,云原生计算基金会) 。该组织来自社区的技术监督委员会整理了“云原生”的概念并通过了“CNCF 云原生定义 v1.0”:云原生技术有利于各组织在公有云,私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和声明式 API。这些技术能够构建容错性好、易于管理和便于观察的松耦合系统。结合可靠的自动化手段,云原生技术使工程师能够轻松地对系统作出频繁和可预测的重大变更。云原生计算基金会 (CNCF) 致力于培育和维护一个厂商中立的开源生态系统,来推广云原生技术。我们通过将最前沿的模式民主化,让这些创新为大众所用。之后, CNCF 绘制了 Cloud Native Landscape,并不断更新给出了比较详尽的云原生生态的参考体系。CNCF 也绘制了无服务器 Landscape,从而能够更好的跟踪这一热门领域的发展。以下是CNCF 无服务器 Landscape。为了便于大家理解和运用不同阶段的云原生应用,CNCF 在这片广袤的开源生态中,为不同程度的使用者绘制了不同应用阶段的 Trail map,来提供参考。自2017年的 LC3 大会登陆中国以来,云原生的议题便在中国的 IT 界生根发芽,蓬勃发展,面对这一高速发展的态势,我们甚至可以毫不夸张的说,2017年是云原生在中国发展的开元之年,如:Kubernetes 与华为 IT 系统的 PaaS 演变 – Kevin Wang & Jianlin Wu,华为;阿里巴巴在 Linux 内核中资源管理工作 – 马涛,阿里云;Kubernetes API & 下一代自动化工具 – Ian Lewis,Google Inc.;随着 Kubernetes 不断的融入我们的生产环境,在2018的 LC3 大会中,我们更是聆听了许多热门大咖关于这一热门领域的演讲,如:采用 Kubernetes 进行基因组测序的最佳实践 – Shengjun Tang,华为;基于 JStorm 的网络分析平台 – Biao Lyu,阿里云;DPDK 中的 FPGA 和虚拟化技术加速和扩展云网络 – Tianfei Zhang 和 Rosen Xu,Intel;Bcache 稳定性 – 云基础设施的改进 – Coly (Yong) Li,SUSE;在 KVM / QEMU 上实现更好的实时迁移 – Guangong Xiao,Tencent Cloud;使用开源工具加速 Kubernetes 上的云原生应用程序的 DevOps – Rome Li,Microsoft;在同年举办的首届 KubeCon + CloudNativeCon 中国论坛中,大咖们继续为我们带来了更精彩的演讲,如:CNCF 互动景观 – Dan Kohn,云原生计算基金会 (CNCF) ;中国的云原生生态系统 – Tao Ma,阿里云首席工程师;使用 “KubeEdge” 管理边缘节点 – Yulin Sun, 华为 和 Li Xing, 华为;谁在运行我的 Pod?深入研究 K8s Container Runtime Interface – Phil Estes,IBM;用于腾讯机器学习的深度定制 Kubernetes – Shengbo Song,腾讯。那么,在2019年,有关云原生对开源应用的影响等方面的议题又会有哪些大咖加以完善,并与您分享最新的实战观点呢?请您务必不要错过,2019年,CNCF和LF为您即将呈现的开源技术盛宴 - KubeCon + CloudNativeCon + Open Source Summit (原LC3)。KubeCon + CloudNativeCon + Open Source Summit大会日期:会议日程通告日期:2019 年 4 月 10 日会议活动举办日期:2019 年 6 月 24 至 26 日KubeCon + CloudNativeCon + Open Source Summit赞助方案KubeCon + CloudNativeCon + Open Source Summit多元化奖学金现正接受申请KubeCon + CloudNativeCon和Open Source Summit即将首次合体落地中国KubeCon + CloudNativeCon + Open Source Summit购票窗口,立即购票!CNCF邀请你加入最终用户社区 ...

March 14, 2019 · 1 min · jiezi

CNCF发布KubeCon + CloudNativeCon欧洲2019节目表

基金会迄今为止最大的欧洲活动将包括蚂蚁金服、AT&T、Dyson、Etsy.com、GO-JEK、NTT Corporation、NVIDIA、Offerup、Spotify、Zalando等的演讲加利福尼亚州旧金山 - 2019年3月13日 - 支持和集成Kubernetes®和Prometheus™等开源技术的CNCF(云原生计算基金会)发布了于2019年5月20日至23日在巴塞罗那举行的KubeCon + CloudNativeCon 欧洲的会议阵容。这次活动的亮点包括专家分享使用Kubernetes和其他云原生技术的真实案例研究,他们来自ADMIRALTY、Booking.com、英国电信、Carnegie Mellon、eBay、Engel & Völkers Technology、ING、领英、LSST & French National Institute of Nuclear and Particle Physics (IN2P3)、Mediakind、McKesson、VTT等机构。继去年12月在西雅图举办,有史以来规模最大的KubeCon会议之后,KubeCon + CloudNativeCon 欧洲将汇集来自全球蓬勃发展的开源社区的10,000多名技术专家,以进一步围绕云原生计算进行协作。 CNCF托管项目的维护者和最终用户 - 包括Kubernetes、Prometheus、Envoy、CoreDNS、containerd、OpenTracing、Fluentd、gRPC、rkt、CNI、Jaeger、Notary、TUF、Vitess、NATS、Rook、Harbour、etcd、Linkerd和Helm - 和其他云原生技术将聚集四天,分享见解并鼓励参与这个快速发展的生态系统。3月20日前注册KubeCon + CloudNativeCon欧洲,最高可节省300美元。“令人惊讶的是,我们有望从去年12月在西雅图的8,000人,有史以来最大的开源开发者大会,到今年5月在巴塞罗那召开规模更多的会议。”CNCF执行总Dan Kohn说。“云原生计算已经跨越了鸿沟,因此来自数百个最终用户组织的开发者渴望与社区其他成员合作。”由会议联合主席VMware的Bryan Liles和Google Cloud的Janet Kuo领导的110名专家组成的计划委员会,审核了1,535份提交,以帮助创建该节目的多样化内容。该议程包括令人印象深刻的主题组合,包括技术会议、深度研究和案例研究,涵盖应用和开发(包括Helm和Telepresence)、CI/CD、定制和扩展Kubernetes、促进社区、机器学习和数据、网络(包括NATS、CoreDNS、CNI和gRPC)、可观察性(包括Jaeger、OpenTracing、Fluentd和Prometheus)、操作、性能+可扩展性、运行时(包括containerd和rkt)、安全性、身份和策略(包括OPA、SPIFFE/SPIRE、Notary和TUF)、无服务器(包括CloudEvents)、存储(包括Vitess和Rook)等。“在审阅巴塞罗那的提交文件时,我们对整个社区广泛采用云原生技术,以及从研究机构到银行的所有垂直行业感到惊讶。我们对这个快速发展的生态系统中构建的新工具和技术印象深刻。”KubeCon + CloudNativeCon联合主席兼Google软件工程师Janet Kuo表示。“我们希望今年的与会者能够从专家和项目维护者那里获得第一手新知识,以及使用这些技术的实践经验。”“能够代表这样一个快速发展的多元化社区,从根本上改变我们构建软件和数字体验的方式,我感到非常荣幸。”VMware高级工程师兼会议联合主席Bryan Liles说。“今年的节目表包含了我们见过的一些最具创新性和信息量的会议,我们期待成员们聚在一起分享他们的知识。”社区策划的节目表将包括来自领先的开源技术专家的会议,包括:“How Spotify accidentally deleted all its Kube clusters, with no user impact” – David Xia, Spotify“Getting Started in the Kubernetes Community” – Lucas Käldström & Nikhita Raghunath, Independent“Reperforming a Nobel Prize Discovery on Kubernetes” – Ricardo Rocha & Lukas Heinrich, CERN“From COBOL to Kubernetes: A 250 Year Old Bank’s Cloud-Native Journey” – Mike Ryan, Epitech BV & Laura Rehorst, ABN AMRO Bank NV“Panel Discussion: GitOps & Best Practices for Cloud Native CI/CD” – Moderated by Laura Tacho, CloudBees“Kubernetes the new Research Platform” – Lindsey Tulloch, Brock University & Bob Killen, University of Michigan“From Snowflake Servers to Snowflake Clusters – The GitOps Journey” – Allison Richardet, Asteris, LLC & Fabio Giannetti, MasterCard“Panel Discussion: Democratizing HPC & AI: Startups Scale up with Cloud Native” – Moderated by Emily Tanaka-Delgado, Oracle“Kubectl Apply 2019: Defense against the Dark Arts” – Phillip Wittrock & Jennifer Buckley, Google“Helm 3: Navigating To Distant Shores” – Bridget Kromhout, Microsoft & Jessica Deen, Microsoft“Sharing is Caring: Your Kubernetes Cluster, Namespaces, and You” – Amy Chen, VMware & Eryn Muetzel, VMware“Panel Discussion: Going Multi-cloud for realz. Stories from media, retail, & infrastructure” – Moderated by Lisa-Marie Namphy, Portworx作为KubeCon + CloudNativeCon的一部分,CNCF还将于5月20日星期一举办以下同地活动 - 如果有兴趣,与会者应在预订航班和酒店时预早计划:KubeSec Enterprise Summit hosted by Aqua SecurityA Linkerd in Production Workshop hosted by BuoyantContinuous Delivery Summit hosted by CDFCephaloconContributor SummitServerless Practitioners Summit hosted by CNCFCNCF End User Partner SummitCloud Native Storage Day hosted by CNS EcosystemKubernetes Operator Framework Workshop hosted by Red HatOpenShift Commons Gathering hosted by Red HatIntro to Containers & Kubernetes hosted by VMware完整的KubeCon + CloudNativeCon欧洲计划,请到日程安排。谢谢赞助商在赞助商的支持下,KubeCon + CloudNativeCon成为可能,钻石赞助商:Cisco、IBM Cloud、Microsoft Azure、Oracle、Red Hat和VMware;白金赞助商:AWS、Ballerina、CloudBees、Google Cloud、Mirantis、Pivotal、Rancher、Sysdig和Ubuntu,以及更多金牌、银牌、初创公司和媒体赞助商。有关赞助的更多信息可在网站获得。注册和住宿在太平洋标准时间3月20日晚上11:59之前注册,以节省300美元的会议通行证。此外,网站的Venue/Travel部分提供酒店房价折扣。请提前预订,因为折扣价格视供应情况而定。KubeCon + CloudNativeCon + Open Source Summit大会日期:会议日程通告日期:2019 年 4 月 10 日会议活动举办日期:2019 年 6 月 24 至 26 日KubeCon + CloudNativeCon + Open Source Summit赞助方案KubeCon + CloudNativeCon + Open Source Summit多元化奖学金现正接受申请KubeCon + CloudNativeCon和Open Source Summit即将首次合体落地中国KubeCon + CloudNativeCon + Open Source Summit购票窗口,立即购票!CNCF邀请你加入最终用户社区 ...

March 14, 2019 · 2 min · jiezi

Linux基金会推出CommunityBridge平台,以帮助维护开源社区

新平台通过推进筹款、安全、指导和多元化为开源开发者和生态系统提供服务加利福尼亚州旧金山 - 2019年3月12日 - Linux基金会今天宣布CommunityBridge,这是一个新的平台,旨在为开源开发者,以及支持他们的个人和组织,提供支持以推动开源技术的永续性、安全性和多样性。在2019年和2020年,Linux基金会将推出一整套CommunityBridge工具,为开源开发者和生态系统提供服务。今天,CommunityBridge的首次推出为开源社区提供了三种关键工具的早期使用:CommunityBridge Funding:使开发者能够透明地筹集和支出资金;CommunityBridge Security:为潜在的漏洞和修复提供透明度;和CommunityBridge People:使有兴趣参与项目和推进多样性的导师和未来的学员能够轻松联系。“虽然大型开源项目通常资源充足,但许多小型项目需要更多的资金、人才、安全性、多样性和资源才能蓬勃发展。”Linux基金会执行董事Jim Zemlin说。“CommunityBridge是一个解决关键挑战的平台,通过赋予人们权力来促进开源创新和永续发展,所有这些都在一个地方。”其他关键细节早期使用:从今天开始,Linux基金会为选定的项目,成员和组织提供对平台的早期使用。可以在此处找到早期使用的应用程序:https://communitybridge.org/。维护者和开发者使用以及Linux基金会支持:维护者和开发者免费使用CommunityBridge平台。作为项目参与CommunityBridge早期使用计划的激励措施,LF将承担通过该平台筹集的首1000万美元的任何平台和支付处理器费用。提高安全性:根据2017年Forrester报告中引用的第三方研究,80-90%的开发者使用开源组件作为基础,这成为所有软件的关键依赖。CommunityBridge提供丰富的安全功能,例如扫描服务,为维护者提供有关上游依赖关系、安全漏洞、使用情况报告和许可详细信息的相关信息。它还包括一个bug赏金服务,用于提供可复制的缺陷以及积压的可操作数据,维护者可以轻松地使用这些数据来提高项目的安全性和稳健性。对多样性的承诺:Linux基金会宣布了一项新的激励计划,旨在奖励开源项目,这些项目通过指导将重点放在改善社区多样性上。新的Diversity Stipends Matching计划将通过CommunityBridge平台为项目参与的前100名不同学员提供3,000美元的匹配津贴。该计划可用于鼓励传统上代表性不足或边缘化群体的学员参与技术和开源社区,包括但不限于识别为LGBTQ的人员、妇女、有色人种和/或残疾人。加入CommunityBridge:项目维护者和有兴趣在CommunityBridge上建立的核心开发者可以在 https://communitybridge.org/ 上申请。KubeCon + CloudNativeCon + Open Source Summit大会日期:会议日程通告日期:2019 年 4 月 10 日会议活动举办日期:2019 年 6 月 24 至 26 日KubeCon + CloudNativeCon + Open Source Summit赞助方案KubeCon + CloudNativeCon + Open Source Summit多元化奖学金现正接受申请KubeCon + CloudNativeCon和Open Source Summit即将首次合体落地中国KubeCon + CloudNativeCon + Open Source Summit购票窗口,立即购票!CNCF邀请你加入最终用户社区

March 13, 2019 · 1 min · jiezi

Linux基金会宣布与GitHub提供资金给开发者而设的CommunityBridge平台

加利福尼亚州半月湾 - 开源领导者峰会 - 2019年3月12日 - Linux基金会今天宣布推出Community Bridge™,这是一个新的平台,旨在为开源开发者以及支持他们的个人和组织,提供支持以推动开源技术的永续性、安全性和多样性。在台上,执行董事Jim Zemlin宣布,Linux基金会将为任何向CommunityBridge项目捐赠资金的组织提供匹配资金,以帮助开发者提供资源,以解决开源生态系统中的关键安全性、指导和多样性挑战。紧随这些初步公告之后,全球领先的软件开发平台GitHub宣布向CommunityBridge捐赠10万美元,并邀请CommunityBridge项目的维护者参与其维护者计划。“我们非常感谢GitHub对CommunityBridge的捐赠和支持,并乐意与之相匹配,所有这些都是以我们双方所服务的维护者的名义进行的。”Linux基金会执行董事Jim Zemlin说。“我们邀请其他组织参与我们的资助计划,帮助我们解决关键挑战,以更好地支持开源项目的长期可持续性。”关键背景作为全球最大的开发者社区,GitHub是许多最成功的开源项目的所在地。为了支持这些项目,GitHub很自豪地捐赠了10万美元来匹配CommunityBridge中的开源资金,并邀请CommunityBridge项目的维护者也参与GitHub的维护者计划。Linux基金会将与为CommunityBridge项目提供资金的任何组织进行匹配,到所有贡献组织的累计总额达到500,000美元,以帮助提高安全性、指导和多样性。Linux基金会今天还宣布为部分项目、成员和组织提供早期使用CommunityBridge平台。可以在此处找到早期使用的应用程序:communitybridge.org。在2019年和2020年,Linux基金会将推出一整套CommunityBridge工具,为开源开发者和生态系统提供服务。今天,CommunityBridge的首次推出为开源社区提供了三种关键工具的早期使用:CommunityBridge Funding:使开发者能够透明地筹集和支出资金;CommunityBridge Security:为潜在的漏洞和修复提供透明度;和CommunityBridge People:使有兴趣参与项目和推进多样性的导师和未来的学员能够轻松联系。KubeCon + CloudNativeCon + Open Source Summit大会日期:会议日程通告日期:2019 年 4 月 10 日会议活动举办日期:2019 年 6 月 24 至 26 日KubeCon + CloudNativeCon + Open Source Summit赞助方案KubeCon + CloudNativeCon + Open Source Summit多元化奖学金现正接受申请KubeCon + CloudNativeCon和Open Source Summit即将首次合体落地中国KubeCon + CloudNativeCon + Open Source Summit购票窗口,立即购票!CNCF邀请你加入最终用户社区

March 13, 2019 · 1 min · jiezi

Node.js基金会和JS基金会合并为OpenJS基金会

新成立的基金会将加速JavaScript生态系统增长的下一阶段加利福尼亚州半月湾 - 开源领导者峰会 - 2019年3月12日 - Node.js基金会和JS基金会今天宣布他们正在合并组建OpenJS基金会。OpenJS基金会的使命是通过提供一个中立的组织来托管和维持项目,以及协作资助有益于整个生态系统的活动,从而支持JavaScript和Web技术的健康发展。OpenJS Foundation由31个开源JavaScript项目组成,包括Appium、Dojo、jQuery、Node.js和webpack。“这是整个开源JavaScript社区的一个令人兴奋的进步,因为它加强了我们在一个联合基金会下的集体努力的影响。”JS基金会技术咨询委员会主席Dave Methvin说。“新合并的基金会能够更好地为社区和成员服务,从技术和标准的角度发展JavaScript生态系统。”OpenJS基金会由30家企业和最终用户成员支持,包括GoDaddy、Google、IBM、Joyent、PayPal和Microsoft。这些成员认识到JavaScript生态系统的相互关联性,以及为代表重要共享价值的项目提供中立家园的重要性。“OpenJS基金会将通过为JavaScript社区项目创建第一家园,提供更好协作和永续性所需的资源,以改进成员及社区参与。”Linux基金会策略计划副总裁Mike Dolan说。“通过为任何JavaScript项目创建一个充满活力的家园,OpenJS基金会能够增加整个生态系统的协作。”JS基金会和Node.js基金会已经独立共存多年。由于JavaScript生态系统的互联性,两个组织在技术协作方面的关系越来越紧密,包括举办联合技术会议,Node+JS Interactive,始于2018年,这是迄今为止规模最大的活动,活动与会者比上一年增加了25%。合并过程在六个月前开始,包括社区的共识收集,以及与Linux基金会和Node.js基金会和JS基金会的管理委员会的密切合作。今天的公告宣布了这个过程的转折点,因为新的治理结构现已到位,社区将开始在OpenJS基金会下运作。OpenJS Foundation将消除两个组织之间的运营冗余,简化通过成员资格提供基本财务支持的公司经验,并协调JavaScript社区内和附属标准机构的工作。欢迎新成员和新项目提案随时加入。KubeCon + CloudNativeCon + Open Source Summit大会日期:会议日程通告日期:2019 年 4 月 10 日会议活动举办日期:2019 年 6 月 24 至 26 日KubeCon + CloudNativeCon + Open Source Summit赞助方案KubeCon + CloudNativeCon + Open Source Summit多元化奖学金现正接受申请KubeCon + CloudNativeCon和Open Source Summit即将首次合体落地中国KubeCon + CloudNativeCon + Open Source Summit购票窗口,立即购票!CNCF邀请你加入最终用户社区

March 13, 2019 · 1 min · jiezi

GraphQL基金会宣布与联合开发基金会合作推动开源和开放标准

新成员推进GraphQL规范,以扩展GraphQL生态系统,并加速API开发和消费的开源和开放标准加利福尼亚州半月湾 - 开源领导者峰会 - 2019年3月12日 - GraphQL基金会是GraphQL社区加速周围生态系统开发的中立家园,今天宣布与JDF(Joint Development Foundation,联合开发基金会)合作,该基金会最近加入了Linux基金会,以推动开源和标准的采用,继续开发GraphQL规范。GraphQL基金会鼓励广泛的团队在供应商中立的活动、文档、工具和对数据查询语言的支持方面,做出贡献、管理和共享投资。以下公司Apollo、AWS、Butterfly Network、Dgraph Labs、Facebook、Gatsby、GraphZen、Hasura、IBM、Intuit、Neo4j、Novvum、PayPal、Pipefy、Salsify、Solo.io和Thicit将以成员方式加入设计更有效的API,推动GraphQL作为行业规范。GraphQL每天在Facebook提供数千亿的API调用,在2012年开发了这项技术,并在去年帮助GraphQL加入Linux基金会方面发挥了不可或缺的作用。今天,几乎所有主流编程语言都通过各种开源软件库提供GraphQL支持。GraphQL是第一个受益于JDF和Linux Foundation协作的Linux Foundation项目,JDF为开源项目提供了开放规范标准化的快捷途径。开发者将拥有一个开放的GraphQL规范和开源软件实现,可用于设计符合要求的API。“我们很高兴正式欢迎新成员并与他们密切合作,以建立和支持全球GraphQL生态系统。我们很高兴GraphQL规范将继续通过JDF和Linux Foundation合作伙伴关系发展。通过更简单、更快捷的方式来创建和推进标准,开发者可以专注于创建对世界各地社区产生更大影响的应用程序。”GraphQL共同创建者Lee Byron说。GraphQL对于API开发很重要,因为它允许单个API请求中的嵌套对象,传统上需要多个API请求。GraphQL规范、GraphQL.js实现参考、DataLoader库和GraphiQL开发者工具是GraphQL 基金会支持的技术项目。随着应用程序开发转向微服务架构,重点是灵活性和上市速度,GraphQL等工具正在重新定义API设计和客户端服务器交互,以改善开发者体验、提高开发者的工作效率并最大限度地减少传输的数据量。GraphQL使跨平台和移动开发更加简单,多种编程语言的可用性在多个平台,如Web、iOS、Android、嵌入式和物联网应用程序中具有一致性和共同特征。Linux基金会和Facebook开源团队利用JDF经过验证的框架为规范创建了一个轻量级的治理结构,允许社区快速启动中立协作。“我们很高兴看到GraphQL和JDF(联合开发基金会)联合起来,并迅速开展工作以推进开放标准。”Linux基金会执行董事Jim Zemlin说。“与JDF合作,GraphQL社区能够利用整套基础设施,比以往更快、更灵活地创建和管理开放标准。这使开发者能够继续打破障碍,实现应用程序开发的现代化。““我们非常高兴能与Linux基金会密切合作,为基于规范的合作创建这种新颖的方法。”Facebook开源团队Michael Cheng表示。“通过为开源社区提供标准化和培育开源实施的简化途径,这种策略调整有利于GraphQL开发者、企业贡献者和最终用户,他们需要两种成果才能取得成功。”“我们期待与GraphQL基金会密切合作,我们期待今年许多其他Linux基金会项目与我们合作,以加快规范和标准制定,以推进他们的使命并推动创新技术的创造。”JDF总裁David Rudin说。KubeCon + CloudNativeCon + Open Source Summit大会日期:会议日程通告日期:2019 年 4 月 10 日会议活动举办日期:2019 年 6 月 24 至 26 日KubeCon + CloudNativeCon + Open Source Summit赞助方案KubeCon + CloudNativeCon + Open Source Summit多元化奖学金现正接受申请KubeCon + CloudNativeCon和Open Source Summit即将首次合体落地中国KubeCon + CloudNativeCon + Open Source Summit购票窗口,立即购票!CNCF邀请你加入最终用户社区

March 13, 2019 · 1 min · jiezi

在现代商业中利用BI和大数据(ODPi白皮书pdf)

作者:Swapnil Bhartiya今天的公司正在以前所未有的速度收集数据,但收集的数据中有多少实际上对他们的业务产生了影响?据ODPi称,到2020年,大数据的累积量将从4.4 zettabytes增加到大约44 zettabytes或44万亿GB。对于公司来说,将这些数据转化为投资回报率是一项艰巨的任务,许多企业仍然不知道如何将商业智能(BI)与大数据相结合,以获得富有洞察力的商业价值。Index Analytics的首席技术官和ODPi的BI和AI特别兴趣小组(SIG)负责人Cupid Chan告诉他的客户,“你有多少数据并不重要;除非你能从中获得洞察力,否则它只占位存储的位和字节。“为了帮助这些企业深入了解大数据如何通过多结构化数据和高级数据分析解决BI,ODPi发布了一份名为“BI”g Data - 商业智能和大数据如何协同工作的白皮书。这份最新的白皮书分享了BI和大数据相结合的最佳实践。它还分享了真实的最终用户对企业如何使用大数据工具的看法,他们面临的挑战以及他们希望如何增强投资。“BI”g Data亮点用于BI工具连接到Hadoop的首选BI/SQL连接器(Hive,Presto,Impala等)连接到Hadoop和RDBMS的最佳实践推荐的BI架构,用于在Hadoop中查询数据BI如何运行高级分析,包括Hadoop上的机器学习算法Cupid表示尽管供应商在处理大数据问题方面存在差异,但仍存在一些共同的主题:在RDBMS中存储数据的传统方式正在消退,人们正在利用越来越多的大数据平台。因此,BI必须适应以满足客户的期望。用户现在想要结果,而不是在执行查询后几个小时的批处理。因此,BI供应商需要创造性地做出响应,包括专有连接器、内存和混合方法以满足此要求。供应商不是创建一个全新的标准,而是整合现有的行业标准,例如R和Python,用于高级分析,以允许用户利用更广泛的社区支持。这些数据中有多少有价值?我们注意到的一个趋势是,公司正在收集大量数据,而实际上并不知道该数据的价值以及如何处理这些数据。Cupid同意这是正确的,特别是那些有预算可以摄取尽可能多的数据的公司。“尽管这可能不是进行分析的最佳方式,但也没有错。事实上,这种做法的另一个论点是,除非你有这样的数据可供进一步分析,否则没有办法证明这些数据毫无价值。”Cupid说。Cupid提出了“AI + BI = CI”概念,他首先在马里兰大学举办的健康IT与分析会议(CHITA)上发表。他认为我们应该追求的真正智慧是认知智能(Cognitive Intelligence,CI)。这可以通过将机器学习速度(由AI提供)与人类洞察力所引导的方向(由BI提供)相结合来实现。 “如果公司可以更多地关注将正确的主题专家纳入需要检查的领域,那么我们可以更有效地为分析提取正确的数据。”他解释说。当被问及这些公司应该利用哪些大数据/ML平台和框架时,Cupid说,对于数据,最突出的工具是Apache Hadoop(Cloudera/Hortonworks)、AWS(S3、EBS等)、Azure存储( Block Blobs、Azure Data Lake Storage等)和Google Cloud(BigTable、云端存储等)。对于ML,TensorFlow、Keras、Pytorch和Apache MXNet都很受欢迎。Cupid表示,刚刚开始这项工作的公司可以选择任何这些框架来开始他们的旅程。他指出,已经启动的公司应首先在内部利用现有资源,然后才决定彻底改革现有资源。数据是新的土壤如果想要取得成功,现代公司必须将大数据/ML作为其数字化转型战略的一部分。“公司应该像25年前建立网站一样关注大数据/ML。建立一个网站是昂贵的,因为它是“尖端”技术。您是否可以推迟在“数字化转型战略”中建立网站?是的,但结果是你将失去对竞争对手的领先优势。由于技术的快速和激烈特性,在您的数字化转型战略中没有大数据/ML将更具影响力。所以最好现在就制定计划,并以敏捷的方式逐步改进。”他说。您可能听说过“数据是新的石油。”然而,Cupid更倾向于认为数据是新的土壤。“如果你正确地种植你的商业模式,你可以取得非常丰硕的成果,但不要指望水果会在一夜之间到来。并且,它需要的不仅仅是土壤,而是为了您的企业。您还需要DevSecOps阳光来提供光合作用,作为肥料的财政支持,适当的行业趋势温度,以及对水的管理致力,即使结果不能立即看到。所有这些都需要共同努力才能获得新商业模式的成果。”他说。ODPi由Linux基金会托管,旨在成为简化、共享和开发开放大数据生态系统的标准。通过供应商中立的,全行业的数据治理和数据科学方法,ODPi成员为开放的生态系统带来了成熟、选择和协作。点击下载ODPi白皮书pdf。KubeCon + CloudNativeCon + Open Source Summit大会日期:会议日程通告日期:2019 年 4 月 10 日会议活动举办日期:2019 年 6 月 24 至 26 日KubeCon + CloudNativeCon + Open Source Summit赞助方案KubeCon + CloudNativeCon + Open Source Summit多元化奖学金现正接受申请KubeCon + CloudNativeCon和Open Source Summit即将首次合体落地中国KubeCon + CloudNativeCon + Open Source Summit购票窗口,立即购票!CNCF邀请你加入最终用户社区

March 13, 2019 · 1 min · jiezi

开源正在吃初创生态系统:评估初创公司价值创造的指南(电子书pdf)

作者:Ibrahim Haddad在过去几年中,我们目睹了所有行业中开源的空前增长 - 从产品和服务中开源软件的普及,到开源贡献的广泛增长以及开源许可下的专有技术的发布。成为其中一员是一种难以置信的体验。正如许多人所说,开源是新常态,开源正在吃世界,开源正在吃软件等,所有这些都是真实的陈述。在这之上,我想再添加一个格言:开源正在吃初创生态系统。现在几乎不可能找到一家技术创业公司,它不依赖于开源软件的一种形式来启动其运营并开发其产品。因此,在我们的运营空间中,开源尽职调查现在是每次并购交易的必修课。这些练习评估组织的开源实践,并确定产品/服务中使用的所有开源软件以及它与专有组件的交互方式 - 所有这些都是评估公司价值创造与开源软件的关系所必需的。密切参与这个领域让我观察、学习和应用了许多开源最佳实践。我决定在电子书中记录这些学习内容,作为对OpenChain项目的贡献:评估开源实践,作为合并和收购交易中尽职调查的一部分。本电子书解决了以下基本问题:如何评估作为收购目标的特定组织中的开源实践?我们通过提供评估这些实践的途径,以及适当的检查表来解决这个问题,以供参考。从本质上讲,它解释了查询者和目标公司如何为此尽职调查做好准备,提供审计流程的解释,并提供确保开源合规性的一般建议实践。值得注意的是,并非每个组织都认为有必要实施我们推荐的每一种做法。一些组织将找到替代实践或实施方法来实现相同的结果。组织将适当地根据其使用的开源的性质和数量,适用于其使用的开源的许可,其分发的产品类型或提供的服务,以及产品的或服务本身设计来调整其开源方法。如果您参与评估组织的开源和合规性实践,或参与以开源尽职调查为重点的并购交易,或者只是希望对定义、实施和改进开源合规性计划有更深入的了解你的组织 - 这本电子书是必读的。点击下载电子书pdf。KubeCon + CloudNativeCon + Open Source Summit大会日期:会议日程通告日期:2019 年 4 月 10 日会议活动举办日期:2019 年 6 月 24 至 26 日KubeCon + CloudNativeCon + Open Source Summit赞助方案KubeCon + CloudNativeCon + Open Source Summit多元化奖学金现正接受申请KubeCon + CloudNativeCon和Open Source Summit即将首次合体落地中国KubeCon + CloudNativeCon + Open Source Summit购票窗口,立即购票!CNCF邀请你加入最终用户社区

March 13, 2019 · 1 min · jiezi

Vitess安全审计结果(pdf)

作者:Adrianna Tan我们很高兴地宣布,Vitess最近接受了由CNCF/Linux基金会资助的安全评估。2019年2月,来自Cure53的团队在以下领域进行了测试:系统复杂性云基础设施源代码审计操作系统交互低级协议分析多角度渗透测试此独立安全审核是在本地安装的系统以及基于Kubernetes的群集上执行的。审计员执行:(1)手动代码审计和(2)代码辅助渗透测试。以下是一些亮点。“在Cure53看来,有明确的意图和后续行动提供一个用于扩展MySQL数据库的安全系统。这是通过保持攻击面最小,并选择适合此实现的语言来实现的。审计员设法覆盖了与Vitess软件系统主存储库相关的所有方面的广泛覆盖范围。选择最有可能被攻击的途径并验证其恢复能力。”“这次由CNCF/Linux基金会资助的Cure53评估,结果证明了Vitess数据库缩放器是安全可靠的。通过限制攻击面,适当关注用户提供的输入和安全驱动的最佳实践,以及,在某种程度上,使用Go语言生态系统,可以实现这一非常好的结果。”“虽然这次评估的结果很少,而且可能暗示某种测试限制,但实际上它们证明了Vitess团队能够兑现他们所做出的安全承诺。”审核员给Vitess团队确认了三个改进地方。我们感谢Cure53、CNCF、Linux基金会和所有项目贡献者的帮助。点击下载完整报告的pdf。KubeCon + CloudNativeCon + Open Source Summit大会日期:会议日程通告日期:2019 年 4 月 10 日会议活动举办日期:2019 年 6 月 24 至 26 日KubeCon + CloudNativeCon和Open Source Summit赞助方案KubeCon + CloudNativeCon和Open Source Summit多元化奖学金现正接受申请KubeCon + CloudNativeCon和Open Source Summit即将首次合体落地中国KubeCon + CloudNativeCon和Open Source Summit购票窗口,立即购票!CNCF邀请你加入最终用户社区

March 13, 2019 · 1 min · jiezi

Linux基金会宣布CDF作为支持持续交付协作的新基础

新计划为Jenkins、Jenkins X、Spinnaker、Tekton项目和下一代持续交付合作提供了中立的家园加利福尼亚州半月湾 - 开源领导者峰会 - 2019年3月12日 - 通过开源实现大规模创新的非营利组织Linux基金会宣布多元化持续集成和交付(CI/CD)领域的新基础。CDF(Continuous Delivery Foundation,持续交付基金会)将作为供应商中立的家庭,为最重要的开源项目提供持续交付和规范,以加快发布管道流程。CDF将促进行业顶级开发者、最终用户和供应商之间的协作,以传播CI/CD和DevOps方法、定义/记录最佳实践、提供指导并创建培训材料,以使全球任何软件开发团队能够实施CI/CD最佳实践。由CDF托管的首批项目包括Jenkins,一个开源CI/CD系统、Jenkins X,一个跑在Kubernetes上的开源CI/CD解决方案、Spinnaker,一个开源的多云CD解决方案、以及Tekton,一个开放的CI/CD组件的源项目和规范。预计其他项目将通过其即将成立的TOC(Technical Oversight Committee,技术监督委员会)加入CDF,其重点是将CD生态系统整合在一起,以便围绕可移植性和互操作性制定规范和项目。CDF将有一个开放的治理模式,鼓励参与和技术贡献,并将为基金会CI/CD工具的长期管理和可持续性提供框架。该基金会有20多个创始成员,包括Alauda、阿里巴巴、Anchore、Armory.io、Atos、Autodesk、Capital One、CircleCI、CloudBees、DeployHub、GitLab、Google、汇丰银行、华为、IBM、JFrog、Netflix、Puppet、Rancher、Red Hat、SAP、Snyk和SumoLogic。“我们很高兴欢迎CDF(持续交付基金会)进入Linux基金会。我们正在创建一个中立的环境,以增强加速和简化软件开发和交付所需的工具和最佳实践。”Linux基金会执行董事Jim Zemlin说。“每个行业和公司都依赖软件来竞争,这就是开源和CI/CD在协作的实时软件开发团队中首选和普及的原因。”CD是一种软件工程方法,团队在短周期内生成软件,确保软件可以随时可靠地发布。随着微服务和云原生架构的使用的增加,对持续交付工具和实践的需求越来越大,为软件开发团队提供了更高的速度和生产力。“Jenkins社区很高兴由CDF(持续交付基金会)托管。在CDF下,我们希望通过更广泛的团队合作,创建一个行业范围的规范,并创建对供应商中立活动、文档、工具和支持的共享投资。”Jenkins创始人兼CloudBees首席技术官Kohsuke Kawaguchi说。“我很高兴看到CDF的形成,它开始于CI/CD领域中一些最受欢迎的最佳开源工具。”Jenkins X联合创始人兼CloudBees杰出工程师James Strachan说道。“我期待加强我们之间的合作,以帮助加速开源CI/CD领域。”“由Netflix创建,由Netflix和Google共同领导的Spinnaker是一个持续交付平台,经过数百个团队在数百万次部署中的生产测试。开发团队每天依靠Spinnaker以高速和自信的方式发布软件变更。”Netflix交付工程总监Andy Glover说道。“在一个基础上聚集的生态系统是推动持续交付技术发展的独特机会,Spinnaker社区很高兴能够成为这一发展的一部分。”Google Cloud软件工程经理兼Spinnaker指导委员会成员Steven Kim说。“持续交付是现代软件开发的关键部分,但这领域非常分散。Tekton项目通过与开源社区和其他领先供应商合作,解决CI/CD基础架构现代化这一问题。”Google云计算软件工程师Dan Lorenc表示。“建立与供应商中立的基础来创建规范,将允许快速变化的CI/CD领域充分利用容器和更广泛的云原生生态系统。出于这些原因,我们很高兴能够在CDF下托管Tekton项目,并期待与其他创始成员合作。”Cloud Native Interactive Landscape说明了CI/CD领域的多样性以及该领域中活跃的众多项目和供应商。“随着市场转向容器化和云原生技术,CI/CD系统和相关工具的生态系统发生了根本性的变化。可用CD工具的数量有所增加,并且没有关于管道和工作流程的行业规范定义,以帮助工具之间的可移植性。Capital One、CircleCI、CloudBees、谷歌、华为、IBM、JFrog、Netflix和其他CDF(持续交付基金会)创始成员,认识到需要一个中立的家,进行协作和整合来解决这个问题。CDF将建立一个项目社区,以促进围绕CI/CD的行业最佳实践和创新。”Linux基金会开发者关系副总裁兼CNCF CTO Chris Aniszczyk说。KubeCon + CloudNativeCon + Open Source Summit大会日期:会议日程通告日期:2019 年 4 月 10 日会议活动举办日期:2019 年 6 月 24 至 26 日KubeCon + CloudNativeCon + Open Source Summit赞助方案KubeCon + CloudNativeCon + Open Source Summit多元化奖学金现正接受申请KubeCon + CloudNativeCon和Open Source Summit即将首次合体落地中国KubeCon + CloudNativeCon + Open Source Summit购票窗口,立即购票!CNCF邀请你加入最终用户社区 ...

March 13, 2019 · 1 min · jiezi

Linux基金会启动CHIPS Alliance项目通过开源芯片和SoC设计推动行业创新

新的Linux基金会项目,旨在为不同的以数据为中心的应用程序和工作负载提供灵活的下一代芯片设计通过开源实现大规模创新的非营利组织Linux基金会今天宣布,它打算组建CHIPS Alliance项目,以托管和策划与硅设备设计相关的高质量开源代码。CHIPS Alliance将建立一个协作环境,以加速创建和部署更高效、更灵活的芯片设计,用于移动、计算、消费电子和物联网(IoT)应用。早期的CHIPS Alliance支持者包括Esperanto Technologies、谷歌、SiFive和Western Digital,所有都致力于开源硬件和自由开放的RISC-V架构背后的持续动力。“RISC-V社区正在努力推动开源基础技术,这将有助于解锁市场创新,推动人工智能、机器学习和基础架构可组合性前进。”IDC基础设施系统平台及科技研究副总裁Eric Burgener,通过最近的IDC报告表示。该项目将创建一个独立的实体,以便公司和个人可以合作并提供资源,使开源CPU芯片和片上系统(SoC)设计更容易被市场所接受。“开放式协作一再被证明可以帮助行业加快产品上市时间,实现长期可维护性,并创建事实上的标准。”Linux基金会战略计划副总裁Mike Dolan说。“相同的协作模型适用于系统中的硬件,就像软件组件一样。我们渴望成为CHIPS Alliance的东道主,并邀请更多组织加入该计划,以推动CPU和SoC市场内的协同创新。”“随着新工作负载每天浮出水面,我们需要新的硅片设计以优化处理要求。”RISC-V基金会临时首席执行官兼Western Digital执行副总裁兼首席技术官Martin Fink说。“在某些情况下,今天的传统通用架构几十年了。随着CHIPS Alliance的成立,我们期待通过开源社区快速实现芯片创新。“CHIPS Alliance将遵循与其他Linux基金会项目一致的治理实践,其中包括董事会、技术指导委员会和社区贡献者,他们将共同管理项目。最初的计划将侧重于建立一个旨在为芯片社区提供高质量企业级硬件访问的策展流程。要了解有关CHIPS Alliance的更多信息,请到项目网站。KubeCon + CloudNativeCon和Open Source Summit大会日期:会议日程通告日期:2019 年 4 月 10 日会议活动举办日期:2019 年 6 月 24 至 26 日KubeCon + CloudNativeCon和Open Source Summit赞助方案KubeCon + CloudNativeCon和Open Source Summit多元化奖学金现正接受申请KubeCon + CloudNativeCon和Open Source Summit即将首次合体落地中国KubeCon + CloudNativeCon和Open Source Summit购票窗口,立即购票!CNCF邀请你加入最终用户社区

March 12, 2019 · 1 min · jiezi

Linux基金会启动Red Team项目旨在帮助保护开源软件

Linux基金会启动Red Team项目,该项目孵化开源网络安全工具,以支持网络范围自动化、容器化测试实用程序、二进制风险量化以及标准验证和改进。Red Team Project的主要目标是使开源软件更安全。他们使用恶意行为者使用的相同工具、技术和程序,但以建设性的方式提供反馈并帮助使开源项目更安全。我们与Google的客户工程师Jason Callaway交谈,以了解有关Red Team项目的更多信息。Linux Foundation:你能简单介绍一下Red Team项目及其与Fedora Red Team SIG的历史吗?Jason Callaway:我在Def Con 25与Red Hatters的一些同事一起创建了Fedora Red Team SIG。我们有一些想要构建的漏洞利用映射工具,我受到了Mudge和Sarah Zatko的Cyber-ITL项目的启发。我想对他们的方法进行开源实现。Fedora项目慷慨地提供托管,并且是极大的倡导者。现在我在谷歌,我很幸运能够将Red Team作为我的20%项目,我希望能够扩大其影响力并建立一个更加供应商中立的社区。Fedora正在与LF合作,支持我们的项目分支,并将在我们的技术指导委员会中有代表。LF:该项目的一些短期和长期目标是什么?Jason:我们最直接的目标是恢复正常运转。这意味着迁移GitHub repos,建立我们的网络和社交媒体,最重要的是,回到编码。我们正在组建一个技术指导委员会,我认为这将成为帮助我们保持专注和有影响力的真正力量倍增器。我们还将在华盛顿特区举行一次聚会,这场聚会将在演讲者和实用的漏洞利用黑客马拉松之间进行为期两周。LF:为什么开源对项目很重要?Jason:开源在很多方面对我们很重要,但主要是因为这是正确的做法。网络安全是一个影响个人、企业、政府和每个人的全球性问题。因此,我们必须使开源软件更安全。有很多人在努力,以典型的开源方式,我们是站在巨人的肩膀上。但Red Team项目希望为开源软件安全提供一些明显的主动价值。LF:社区如何更多地学习并参与其中?Jason:我曾经有一位经理人喜欢说,“80%的工作只是出现了。”这肯定是诙谐的,但它肯定适用于开源项目。要了解更多信息,你可以亲自或通过Google Hangout参加我们的聚会,订阅我们的邮件列表,并在GitHub或我们的网站上查看我们的项目。KubeCon + CloudNativeCon和Open Source Summit大会日期:会议日程通告日期:2019 年 4 月 10 日会议活动举办日期:2019 年 6 月 24 至 26 日KubeCon + CloudNativeCon和Open Source Summit赞助方案KubeCon + CloudNativeCon和Open Source Summit多元化奖学金现正接受申请KubeCon + CloudNativeCon和Open Source Summit即将首次合体落地中国KubeCon + CloudNativeCon和Open Source Summit购票窗口,立即购票!CNCF邀请你加入最终用户社区

March 12, 2019 · 1 min · jiezi

CNCF终端用户合作伙伴峰会(仅限终端用户)

CNCF终端用户合作伙伴峰会(仅限终端用户)活动时间:6月24日星期一, 9:30 – 16:30活动价格:人民币150元(将捐赠于多元化奖学金)CNCF终端用户合作伙伴峰会将云原生用户聚集在一起,来分享最佳实践和经验。峰会日程将从终端用户介绍他们的故事,并分享战胜挑战和在不同行业采用云原生的旅程开始。之后以非会议(unconference)的形式,使参会者与同行会面并学习如何参与和为云原生社区做出贡献。您的机构必须是CNCF终端用户社区(https://www.cncf.io/people/en…)的成员才能参加。终端用户成员最多可购买四张票,终端用户支持者最多可购买两张票。如有任何问题,请联系Cheryl Hung,chung@linuxfoundation.org。如何注册:您可以在您KubeCon + CloudNativeCon + Open Source Summit的注册表中申请此活动,点击此处添加。在您将此申请添加成功后,我们会对您的申请进行审核。如您通过审核,您将会收到一个付款链接,您须在支付成功并收到确认信后才能参加此活动。KubeCon + CloudNativeCon和Open Source Summit大会日期:会议日程通告日期:2019 年 4 月 10 日会议活动举办日期:2019 年 6 月 24 至 26 日KubeCon + CloudNativeCon和Open Source Summit赞助方案KubeCon + CloudNativeCon和Open Source Summit多元化奖学金现正接受申请KubeCon + CloudNativeCon和Open Source Summit即将首次合体落地中国KubeCon + CloudNativeCon和Open Source Summit购票窗口,立即购票!CNCF邀请你加入最终用户社区

March 12, 2019 · 1 min · jiezi

LINE案例研究:使用Fluentd从批处理到流日志处理

用几句话:公司:LINE公司地点:日本东京用例概述:Terabyte级:Fluentd用作主要数据流处理器,每天处理数TB的数据。灵活的数据处理:开发了许多自定义插件。Fluentd充满活力和开放的社区是其在LINE上取得成功的关键。将Fluentd的可扩展性提升到一个新的水平:他们的一位工程师在Fluentd之上构建了一个无模式SQL流处理引擎。目标:近实时地汇总和处理日志数据LINE公司以其同名的应用程序及其平台上的各种服务而闻名,面临着每天收集、存储和分析海量日志数据的挑战。当Satoshi Tagomori,他们的数据工程团队成员四年前加入公司时,他们有一个经典的Hadoop设置:他们使用Scribe日志收集器将所有东西收集到Hadoop中,并在Hadoop上运行批处理作业来处理日志。这个设置工作得很好,但Tagomori先生认为有一些改进的地方。Hadoop旨在以可扩展的方式运行批处理作业,但不太适合实时的流内处理:Tagomori先生想要将一些日志处理(特别是针对固定时间窗口的处理)放入到数据收集器中,以便在日志进入时进行分析。该系统可以近乎实时地为内部利益相关者提供有关日志数据的统计数据,从而使整个公司能够更快地做出决策。通过将日志处理卸载到数据收集器,可以更好地利用Hadoop集群的资源:通过将Hadoop上的日志数据的一些批处理转换为数据收集器中的流内处理,他们将能够释放Hadoop的资源并使用它用于其他批处理作业。Tagomori先生探索了各种选择,包括自己建造原型。最终,他找到了Fluentd并开始与社区合作。与社区共同发展当Fluentd于2011年10月首次推出时,它已经拥有了许多当前的主要优势:可插拔架构使其易于定制和扩展其行为、内存占用空间小、可靠的缓冲和负载平衡机制。然而,有一件事它没有,那就是性能。“Fluentd…不是很快。”Tagomori先生回忆道,他现在是Fluentd的核心维护者。“但由于它是一个开源项目,我开始与核心开发人员合作,帮助他们对Fluentd的性能进行基准测试。在接下来的一年左右,Fluentd的性能提高了10x-15x。”今天,Fluentd对于LINE来说非常快:他们每天使用Fluentd处理1.5TB(56亿条记录)的日志数据,在高峰时段每秒数据超过120,000条记录。此外,作为Fluentd的活跃用户,Tagomori先生已经贡献了34个插件,从HDFS输出插件到各种过滤器插件,现在在许多其他组织中使用。“社区是我最喜欢Fluentd的地方之一。”Tagomori先生说。“我确实考虑过其他开源数据采集器,但Fluentd拥有一个充满活力的社区,可以通过坚定的承诺保持Fluentd的简单、强大和快速。此外,它的插件系统经过精心设计,使贡献变得非常容易。”现在:在Fluentd上使用SQL进行无模式流处理在开发了数十个插件之后,Tagomori先生开始认为他可以将Fluentd演变成一个轻量级数据流处理器。2014年5月,他推出了无模式流处理引擎Norikra,允许用户针对数据流编写SQL查询。“Norikra可以在Fluentd上对数据流进行采样、过滤、聚合和连接。它的查询语言是SQL,所以没有特殊的DSL需要学习,你可以随时添加和删除SQL查询。Norikra已经替LINE解决了一些数据相关的挑战,允许我们直接查询数据流。”KubeCon + CloudNativeCon和Open Source Summit大会日期:会议日程通告日期:2019 年 4 月 10 日会议活动举办日期:2019 年 6 月 24 至 26 日KubeCon + CloudNativeCon和Open Source Summit赞助方案KubeCon + CloudNativeCon和Open Source Summit多元化奖学金现正接受申请KubeCon + CloudNativeCon和Open Source Summit即将首次合体落地中国KubeCon + CloudNativeCon和Open Source Summit购票窗口,立即购票!CNCF邀请你加入最终用户社区

March 12, 2019 · 1 min · jiezi

我在Paris-Saclay举行的ONAP和OPNFV活动中所学到了什么

作者:Linux基金会网络与协调运营副总裁Phil RobbONAP和OPNFV项目于2019年早些时候,在法国的诺基亚Paris-Saclay设施举办了一个开发活动。来自这些社区的200多名开发者聚集在一起,讨论他们的下一个版本,计划更长期的策略重点,并且有史以来第一次共同探讨了两个团队之间的进一步合作。与往常一样,通过参与这些讨论和计划会议,从这些社区中每个人都散发著对卓越的热情让我充满活力。此活动在四天内分别举办了约150场会议,以及由诺基亚主办方设立的OPNFV Plugfest和2场演示。我要感谢诺基亚主办此次活动。他们一直是这些社区中令人难以置信的支持者,也是Linux Foundation Networking(LFN)基金的杰出白金会员。现在可以获得完整的报告,但我想分享一篇快速的博客文章,以捕捉我个人在一周内感兴趣的内容。会话幻灯片和录音将在LFN Wiki页面发布。LFN最终用户咨询小组我要提到的第一件事是我在本周开始时(重新)启动了LFN最终用户咨询小组(EUAG),我在电子邮件和活动上都看到人们对这的兴趣。我们计划在1月底举行第一次会议,如果你是LFN内任何项目的最终用户,我强烈建议你填写会员申请表并参加。EUAG既是向技术社区提供反馈的好方法,也是向同行学习如何最好地利用LFN项目发布的当前功能的好方法。我期待今年一个非常活跃的EUAG,特别是根据我在活动中听到的内容中的ONAP和OPNFV工作流程。OPNFV认证计划(OVP)整个2018年,Dovetail-OVP项目在OPNFV内完成的工作扩展到包括VNF验证和NFV基础设施。VNF验证工作的自然受益人和合作者是ONAP项目,特别是VNF要求项目和VNF SDK项目。这些团体在过去的几个月里一直在合作,这次活动使他们有机会在一周内多次坐在一起,并向更广泛的OPNFV和ONAP社区解释他们的目标以及其他人如何参与。如果你想了解更多信息,或有兴趣帮助确定在ONAP环境中运行VNF的基本要求,请按照上述链接之一获取更多信息。利用OPNFV和ONAP的测试工具和基础设施该活动有几个会议讨论了ONAP如何利用OPNFV小组多年开发的测试工具和系统测试配置和部署。此外,Orange的社区成员提供了有关他们的OpenLab和工具的更多详细信息,他们已经创建了系统地分层和测试ONAP下的不同云和NFVI组件,然后安装和测试ONAP环境,然后最终分层他们想要的VNF在特定的环境中测试。它们还具有不同“口味”的实现,包括Core、Small、Medium和Full,允许测试团队仅部署特定VNF/Environment测试所需的部分ONAP。Orange最近开源了这些工具,并将它们在Github上提供,直到在LFN项目中为他们找到一个家。在这些会议期间,我对ONAP的成对集成和系统测试需求有一个顿悟。通常,对于提供一个或相对较小耦合的可执行文件集的开源项目,集成测试相对简单,可以站起来交互组件并测试新的或修改过的交互。最终目标是在发行版上执行集成测试的项目,即具有数百甚至数千个组件的大型复杂系统,所有这些都在不同的发布计划中花费了大量精力来构建工具以纠正一致,可重复的部署和配置这样的系统使他们能够成功地对它们进行测试,以产生一致和有意义的结果。开源生态系统中最常见的发行版是Linux操作系统和它附带的数千个程序/软件包,如Debian、Red Hat或Ubuntu发行版。然而,OPNFV构建工具来部署、配置和测试能够运行NFV工作负载的开源分发。它实际上是典型Linux发行版的超集。顿悟对我来说是因为认识到完整的ONAP实施所带来的重大复杂性。虽然该项目创建了自己的可执行文件集,但它还依赖于数千个其他开源组件,包括OpenStack、OpenDaylight、Ceph和Hadoop(所有这些组件在其自身上都很重要)。这种复杂性的结果是难以生成、部署和配置允许可靠的成对集成测试的环境,这反过来又减慢了系统测试的速度。ONAP将通过与OPNFV测试项目以及Orange的团队及其最新工具的整合和合作而受益匪浅。这个对话在巴黎认真开始,我很高兴看到它从那里开始。ONAP与其他编排器的互操作性一些ONAP社区成员提供了一个会议,最初旨在探索与Open Source Mano(OSM)项目的潜在互操作性机会。随着讨论的演变,我们将重点放在ONAP需要做些什么来支持其他一般的编排器。在过去的18个月里,我从运营商那里听说,他们希望在网络的不同部分与ONAP一起探讨各种部署方案,其中包括遗留组件,其中一些是现有的编排器。巴黎的讨论,结束于那些在房间里感觉好像在NFV-SDK项目中,添加将ETSI NFV-ISG定义的SOL-006 YANG模型,转换为SOL-001 TOSCA模型的能力,将允许在ETSI NFV中,选择那些不同路径的编排器之间的通用互操作性-ISG规格集。此外,为了以东西方的方式与其他编排器进行适当的互动,会议室内的小组认为继续支持SOL-005是一项重要的工作。本次讨论的参与者采取行动向ONAP技术指导委员会(TSC)提出这些建议,供社群进一步考虑。探索ONAP与其他编排器之间更深层次的互动也是一种可能性。如果社区有兴趣从事此类工作,我鼓励有兴趣的人与TSC联系进一步讨论。ONAP小组委员会会议在ONS前几天举行下一次ONAP社区成员有机会进行面对面会议,将在加利福尼亚州圣何塞举行的开源网络峰会(ONS)之前举行。我的目标是那周的周一和周二,4月1日和2日,但计划尚未最终确定。会议将仅限于TSC和TSC小组委员会的讨论,以便为即将于5月发布Dublin版ONAP后即将开始的El Alto开发周期做准备。在巴黎期间,我们有机会计划ONAP和ETSI工作组之间的潜在联合会议,该工作组主要关注零接触网络和服务管理(ZSM)。ONAP内部的一些社区成员也在ZSM中工作,这两个小组目前似乎适合会面,分享他们的工作和计划,并探讨合作的方式。对此的计划仍在不断发展,但希望在ONS的一周内有一个3或4小时的研讨会,以便进行此类介绍。总而言之,我们在法国度过了愉快的一周,ONAP和OPNFV在2019年将会有一个非常好的合作年。有关我们学到的知识的详细信息,请参阅完整报告。希望四月份在ONS见到你!KubeCon + CloudNativeCon和Open Source Summit大会日期:会议日程通告日期:2019 年 4 月 10 日会议活动举办日期:2019 年 6 月 24 至 26 日KubeCon + CloudNativeCon和Open Source Summit赞助方案KubeCon + CloudNativeCon和Open Source Summit多元化奖学金现正接受申请KubeCon + CloudNativeCon和Open Source Summit即将首次合体落地中国KubeCon + CloudNativeCon和Open Source Summit购票窗口,立即购票!CNCF邀请你加入最终用户社区

March 11, 2019 · 1 min · jiezi

日立获得TÜV SÜD的免费和开源软件许可证合规证书

作者:Shane CoughlanOpenChain规范是供应链中开源合规的唯一标准。它是由用户公司为用户公司创建的文档,它非常适合在采购和并购中的实体之间建立信任。OpenChain的核心原则是任何市场领域的任何公司都可以免费快速有效地进行自我认证,提供一种简单的方式来展示他们对高质量开源合规计划的关键要求的采用。这种方法提供了最大的灵活性,以确保忠实度。当然,一些市场有不同的要求,在某些情况下,供应链中的实体可能更愿意遵循第三方或审计认证的工作流程。OpenChain标准也与此方法兼容,我们一直在建立联系,以支持汽车等关键领域中的第三方认证。我们的第一个认证合作伙伴是TÜV SÜD,这是一家着名的德国认证机构,长期以来一直致力于为汽车行业和更远的地区提供“信任但审计”的基本要求。我们在建立更广泛的采用标准的同时,很高兴与TÜV SÜD在德国、日本和全球合作。了解更多有关TÜV SÜD基于OpenChain规范的认证流程,以及日立如何成为第一家获得这个新的TÜV SÜD证书的公司,可以参阅着最近的公布。恭喜日立和TÜV SÜD取得这一重大成就!我们正在迅速接近OpenChain Conformant供应商将成为首选供应商的地步。在实现这一目标的同时,我们将同时降低各方的不确定性和成本,同时提高全球供应链中每个参与者的忠实度和安全性。我们邀请每个公司和每个感兴趣的个人,从他们的开源合规之旅开始到访我们的网站,并订阅我们的新闻通讯以获取更新。KubeCon + CloudNativeCon和Open Source Summit大会日期:会议日程通告日期:2019 年 4 月 10 日会议活动举办日期:2019 年 6 月 24 至 26 日KubeCon + CloudNativeCon和Open Source Summit赞助方案KubeCon + CloudNativeCon和Open Source Summit多元化奖学金现正接受申请KubeCon + CloudNativeCon和Open Source Summit即将首次合体落地中国KubeCon + CloudNativeCon和Open Source Summit购票窗口,立即购票!CNCF邀请你加入最终用户社区

March 11, 2019 · 1 min · jiezi

欢迎Harbor的新维护者!

两位新贡献者加入了维护者行列2019年3月4日 - 今天我们宣布Harbor项目增加两个新的维护者。我们感谢他们的贡献,并期待着长期和有影响力的参与。Frank (FanJian) Kongkofj是知名互联网安全公司奇虎360的工程师。Frank负责运营和维护公司内部的容器登记平台,该平台建在Harbor之上。他有很好的Harbor经验,并积极参与Harbor社区。Frank在V1.7中做出了非常重要的贡献,开发了构建历史(build history)功能。现在,他是复制工作组(replication workgroup )的成员,该工作组致力于在V1.8中提供下一代复制服务。他的提名请求在PR中获得批准。MingMing Pei@mmpei在网易工作,专注于容器相关工作。MingMing是网易容器登记服务的主要开发者和维护者之一,该服务利用了Harbor。MingMing非常积极地参与Harbor社区,并在V1.7中做出了非常重要的贡献。他在非常紧迫的时间表中为正在运行的作业实现了数据库记录器(database logger)。现在,他是复制工作组(replication workgroup )的成员,该工作组致力于在V1.8中提供下一代复制服务。此外,他还致力于提供webhook功能,这将有助于下一版本中的Harbor CI/CD集成方案。他的提名请求在PR中获得批准。再次欢迎Frank和MingMing!KubeCon + CloudNativeCon和Open Source Summit大会日期:会议日程通告日期:2019 年 4 月 10 日会议活动举办日期:2019 年 6 月 24 至 26 日KubeCon + CloudNativeCon和Open Source Summit赞助方案KubeCon + CloudNativeCon和Open Source Summit多元化奖学金现正接受申请KubeCon + CloudNativeCon和Open Source Summit即将首次合体落地中国KubeCon + CloudNativeCon和Open Source Summit购票窗口,立即购票!

March 11, 2019 · 1 min · jiezi

Open Policy Agent发布Rego游乐场

OPA(Open Policy Agent)帮助你使用高级声明语言Rego将政策实现为代码。今天,我们很高兴发布一个在线互动游乐场,你可以使用它来试验Rego政策。Rego游乐场(The Rego Playground)的最初版本支持:语法高亮显示,使政策更容易读写。表达式、查询、规则和包的交互式评估。输入对话框,为政策指定复杂的JSON输入。共享,以便你可以链接到在线政策。我们希望游乐场能让人们更容易地尝试新的政策和学习语言。我们期待逐步改进游乐场,并将其嵌入到OPA文档之类的地方。要查看Rego游乐场的演示和它的一些功能,请查OPA Rego Playground演示的视频。KubeCon + CloudNativeCon和Open Source Summit大会日期:会议日程通告日期:2019 年 4 月 10 日会议活动举办日期:2019 年 6 月 24 至 26 日KubeCon + CloudNativeCon和Open Source Summit赞助方案KubeCon + CloudNativeCon和Open Source Summit多元化奖学金现正接受申请KubeCon + CloudNativeCon和Open Source Summit即将首次合体落地中国KubeCon + CloudNativeCon和Open Source Summit购票窗口,立即购票!

March 11, 2019 · 1 min · jiezi

CNCF邀请你加入最终用户社区

最终用户社区CNCF的最终用户社区正在发展,由70多家顶级公司和初创公司组成,致力于加速采用云原生技术并改善部署体验。Intuit的Jeff Brewer是技术监督委员会的最终用户代表。关于最终用户社区CNCF为最终用户提供多种机会来参与社区贡献,并为自己发声。那些在自己公司内部使用云原生计算技术,但不对外出售任何云原生服务公司有资格参加最终用户社区。在这里,你有机会与同行合作确立最佳操作方式,直接接触项目维护者,并且向CNCF提供反馈意见。加入CNCF最终用户社区的权益包括:投票选举一名最终用户社区代表进入技术监督委员会(TOC)。TOC上的席位非常受欢迎,因为他们是云原生社区的领导者,控制进入CNCF的新项目,并帮助协调现有的项目。每月有专门的最终用户电话会议、邮件列表以及Slack通道。每个月,我们为最终用户会员安排一次机会,聆听云原生社区社区领袖,包括项目的维护人员、管委会和技术监督委员会成员、未来的项目负责人的讲话及他们相互的讨论。5张门票参加云原生社区的盛会KubeCon + CloudNativeCon北美、欧洲或中国(公司少于300名员工的提供2张门票)。提供机会促进最终用户会员与CNCF社区交流,包括在网站上显示用户会员的标志,在新闻报导和分析简报中提及用户会员的名称等。(这是可选的;对希望不公开他们参与的最终用户社区成员,我们支持和配合)。参加CNCF最终用户合作伙伴峰会,一个KubeCon+CloudNativeCon的会前活动,只对CNCF的最终用户社区成员开放。加入用户社区的途径用户有两种途径参加最终用户社区和 CNCF:用户会员(适用于白银、黄金、白金级别)会员权益和会费匹配会员级别,也包括参与最终用户社区的机会。这包括CNCF会员的权益, 如参与市场推广委员会,管委会席位和KubeCon + CloudNativeCon赞助折扣。最终用户支持者参与最终用户社区,但没有CNCF会员的权益。(支持者不会自动成为CNCF或LF成员)参加并获得KubeCon + CloudNativeCon门票300名或以上员工,每年$4,500(包括5张门票参加KubeCon + CloudNativeCon北美、欧洲或中国)299名或以下员工,每年$1,800(包括2张门票参加KubeCon + CloudNativeCon北美、欧洲或中国)扫描二维码联系我们,加入CNCF最终用户社区!KubeCon + CloudNativeCon和Open Source Summit大会日期:会议日程通告日期:2019 年 4 月 10 日会议活动举办日期:2019 年 6 月 24 至 26 日KubeCon + CloudNativeCon和Open Source Summit赞助方案KubeCon + CloudNativeCon和Open Source Summit多元化奖学金现正接受申请KubeCon + CloudNativeCon和Open Source Summit即将首次合体落地中国KubeCon + CloudNativeCon和Open Source Summit购票窗口,立即购票!

March 11, 2019 · 1 min · jiezi

基于Xtrabackup及可传输表空间实现多源数据恢复

本文目录一、使用背景1.可传输表空间基本流程2.使用前提条件/限制二、技术要点三、实施步骤1.实验环境2.源端操作 1) 造测试数据并模拟小压力 2) 备份单库数据 3) 备份表结构 4) 批量生成可传输表空间命令3.目标端操作 1) 备份数据恢复准备 2) 恢复表结构至目标端 3) 舍弃目标端对应表空间文件 4) 拷贝表数据及配置文件到目标端sbtest库数据目录 5) 执行导入表空间文件操作4.建立复制(多源复制)四、参考链接Keywords:MySQL xtrabackup Transportable Tablespaces MySQLdump multi-source replication一、使用背景 MySQL在5.7以后引入了多源复制(Multi-Source)功能,可用于将多个单独的数据库汇聚到一个数据库实例下,方便用户进行数据分析、汇总或推送至其他数据库平台。早期针对汇聚场景初始化各源端数据到汇聚库,为了提升效率通常会使用使用开源并行逻辑导入导出工具myloader/mydumper进行数据导入/导出,当源端多实例多库数据量较大(100G以上)情况下,使用myloader/mydumper花费的时间则可能无法满足时间要求,需要考虑是否有更高效的方式进行数据初始化同步操作,以及当复制通道异常时更便捷快速修复。ps:多源复制使用物理备份(xtrabackup)做数据初始化时,常规方式只有第一个通道可做覆盖还原,后续通道需逻辑还原或用其他方式还原,如该方案所描述的方式。MySQL在5.6以后支持了可传输表空间,以及Xtrabackup针对该功能在备份时提供了一个对应参数export,该参数支持对InnoDB存储引擎表的备份数据export转换,且与常规备份操作一样可生成备份时间点的binlog信息(GTID信息),结合这两特性可以更高效和快速的方式实现多库数据汇聚的初始导入操作。▽场景架构图如下▽1.可传输表空间基本流程先简单梳理一下可传输表空间基本流程:在源端将InnoDB表进行ibd数据文件导出处理(export tablespace))在目标端创建与源端相同表结构的表将目标端的表数据文件舍弃(discard tablespace)用源端的相对应ibd文件覆盖到目标端在目标端执行表空间文件的导入/置换(import tablespace)单纯使用可传输表空间功能无法记录对应表的事务点,也就是如果需要进行汇聚复制同步,无法知道从binlog哪个文件的哪个position点进行数据同步,这也就是需要引入xtrabackup及export功能的原因。备份元数据信息本身会记录复制同步点信息。2.使用前提条件/限制MySQL须为5.6以上版本表存储引擎须为InnoDB存储引擎(支持可传输表空间)导入完成后建议执行ANALYZE TABLE更新统计信息二、技术要点sysbench 源端造测试数据并模拟压力mysqldump 备份源端表结构concat()拼接批量可传输表空间SQLxtrabackup 备份源端单库(部分库)数据Transportable Tablespace可传输表空间功能Multi-source Replication 多源复制mysql-error.log 错误信息日志校验ANALYZE TABLE更新统计信息三、实施步骤 1.实验环境 2.源端操作 1) 造测试数据并模拟小压力使用sysbench创建4张各100W记录的测试表,并使用2个并发持续模拟业务压力:## 造数据shell> /opt/sysbench-0.9/sysbench/sysbench –test=/opt/sysbench-0.9/sysbench/tests/db/oltp.lua –oltp-table-size=1000000 –oltp-tables-count=4 –mysql-user=sysbench –mysql-password=sysbench –mysql-host=10.186.60.16 –mysql-port=3333 prepare## 模拟小压力shell> /opt/sysbench-0.9/sysbench/sysbench –test=/opt/sysbench-0.9/sysbench/tests/db/oltp.lua –oltp-table-size=1000000 –oltp-tables-count=4 –mysql-user=sysbench –mysql-password=sysbench –mysql-host=10.186.60.16 –mysql-port=3333 –num-threads=2 –max-requests=0 –max-time=0 –report-interval=1 run2) 备份单库数据使用xtrabackup备份工具对源端sbtest库进行单库备份,保存至/data/mysql/backup/目录下:shell> innobackupex –databases=sbtest /data/mysql/backup/3) 备份表结构为可传输表空间做准备,将源端表结构备份并后续在目标端导入:shell> cd /data/mysql/backupshell> mysqldump –no-data –set-gtid-purged=off sbtest>sbtest_schema.sql4) 批量生成可传输表空间命令discard使用concat函数拼接出批量DISCARD TABLESPACE的SQL:shell> cd /data/mysql/backupshell> mysql -ssre “select concat(‘ALTER TABLE ‘,TABLE_SCHEMA,’.’,TABLE_NAME,’ DISCARD TABLESPACE;’) from information_schema.tables where TABLE_SCHEMA=‘sbtest’;” >discard_tbs.sql## 输出文件如下所示shell> cat discard_tbs.sqlALTER TABLE sbtest.sbtest1 DISCARD TABLESPACE;ALTER TABLE sbtest.sbtest2 DISCARD TABLESPACE;ALTER TABLE sbtest.sbtest3 DISCARD TABLESPACE;ALTER TABLE sbtest.sbtest4 DISCARD TABLESPACE;- import使用concat函数拼接出批量IMPORT TABLESPACE的SQL:shell> cd /data/mysql/backupshell> mysql -ssre “select concat(‘ALTER TABLE ‘,TABLE_SCHEMA,’.’,TABLE_NAME,’ IMPORT TABLESPACE;’) from information_schema.tables where TABLE_SCHEMA=‘sbtest’;">import_tbs.sql## 输出文件如下所示shell> cat import_tbs.sqlALTER TABLE sbtest.sbtest1 IMPORT TABLESPACE;ALTER TABLE sbtest.sbtest2 IMPORT TABLESPACE;ALTER TABLE sbtest.sbtest3 IMPORT TABLESPACE;ALTER TABLE sbtest.sbtest4 IMPORT TABLESPACE;拷贝源端/data/mysql/backup目录下生成的所有相关文件到目标端/data/mysql/backup下3.目标端操作1) 备份数据恢复准备对备份数据进行apply-log日志应用及将数据进行export转换生成配置文件:shell> innobackupex –apply-log –export /data/mysql/backup/2019-02-22_15-26-20/## export执行完后sbtest库下备份文件如下所示## exp结尾的文件为Percona针对Percona XtraDB做export的配置文件## cfg结尾的文件为Percona针对MySQL可传输表空间export的配置文件shell> ll /data/mysql/backup/2019-02-22_15-26-20/sbtest/总用量 999556-rw-r—– 1 root root 67 2月 22 15:40 db.opt-rw-r–r– 1 root root 569 2月 22 15:53 sbtest1.cfg-rw-r—– 1 root root 16384 2月 22 15:53 sbtest1.exp-rw-r—– 1 root root 8632 2月 22 15:40 sbtest1.frm-rw-r—– 1 root root 255852544 2月 22 15:53 sbtest1.ibd-rw-r–r– 1 root root 569 2月 22 15:53 sbtest2.cfg-rw-r—– 1 root root 16384 2月 22 15:53 sbtest2.exp-rw-r—– 1 root root 8632 2月 22 15:40 sbtest2.frm-rw-r—– 1 root root 255852544 2月 22 15:53 sbtest2.ibd-rw-r–r– 1 root root 569 2月 22 15:53 sbtest3.cfg-rw-r—– 1 root root 16384 2月 22 15:53 sbtest3.exp-rw-r—– 1 root root 8632 2月 22 15:40 sbtest3.frm-rw-r—– 1 root root 255852544 2月 22 15:53 sbtest3.ibd-rw-r–r– 1 root root 569 2月 22 15:53 sbtest4.cfg-rw-r—– 1 root root 16384 2月 22 15:53 sbtest4.exp-rw-r—– 1 root root 8632 2月 22 15:40 sbtest4.frm-rw-r—– 1 root root 255852544 2月 22 15:53 sbtest4.ibd2) 恢复表结构至目标端将源端表结构在目标端数据库创建:shell> cd /data/mysql/backup## 手工创建sbtest库shell> mysql -e “create database sbtest;”## 导入源端对应的表结构shell> mysql sbtest< sbtest_schema.sql## 验证shell> mysql -e “show tables from sbtest;“3) 舍弃目标端对应表空间文件shell> cd /data/mysql/backupshell> mysql <discard_tbs.sql## 执行后效果如下所示,ibd文件已被舍弃shell> ll /data/mysql/data/sbtest/-rw-r—– 1 mysql mysql 67 2月 22 15:58 db.opt-rw-r—– 1 mysql mysql 8632 2月 22 15:58 sbtest1.frm-rw-r—– 1 mysql mysql 8632 2月 22 15:58 sbtest2.frm-rw-r—– 1 mysql mysql 8632 2月 22 15:58 sbtest3.frm-rw-r—– 1 mysql mysql 8632 2月 22 15:58 sbtest4.frm4) 拷贝表数据及配置文件到目标端sbtest库数据目录## 拷贝ibd文件shell> cp /data/mysql/backup/2019-02-22_15-26-20/sbtest/.ibd /data/mysql/data/sbtest/## 拷贝cfg文件shell> cp /data/mysql/backup/2019-02-22_15-26-20/sbtest/.cfg /data/mysql/data/sbtest/## 修改文件权限为mysql用户shell> chown -R mysql:mysql /data/mysql/data/sbtest5) 执行导入表空间文件操作shell> cd /data/mysql/backup## 出现Warning为可传输表空间正常输出,可忽略,详情可参考下图所示note说明shell> mysql <import_tbs.sqlWarning (Code 1814): InnoDB: Tablespace has been discarded for table ‘sbtest1’Warning (Code 1814): InnoDB: Tablespace has been discarded for table ‘sbtest2’Warning (Code 1814): InnoDB: Tablespace has been discarded for table ‘sbtest3’Warning (Code 1814): InnoDB: Tablespace has been discarded for table ‘sbtest4’## 可通过MySQL错误日志查看import期间是否存在导入异常shell> less /data/mysql/data/mysql-error.log4.建立复制(多源复制)mysql> CHANGE MASTER TO MASTER_HOST=‘10.186.60.16’, MASTER_USER=‘repl’, MASTER_PORT=3333, MASTER_PASSWORD=‘repl’,MASTER_LOG_FILE=‘mysql-bin.000004’,MASTER_LOG_POS=149327998 FOR CHANNEL ‘10-186-60-16’;mysql> CHANGE REPLICATION FILTER REPLICATE_WILD_DO_TABLE=(‘sbtest.%’);mysql> START SLAVE FOR CHANNEL ‘10-186-60-16’;mysql> SHOW SLAVE STATUS FOR CHANNEL ‘10-186-60-16’\G;四、参考链接Percona xtrabackup export功能介绍https://www.percona.com/doc/p…MySQL 可传输表空间功能说明https://dev.mysql.com/doc/ref…场景示例思路来源博客http://www.cnblogs.com/xuanzh…开源分布式中间件DBLE 社区官网:https://opensource.actionsky…. GitHub主页:https://github.com/actiontech… 技术交流群:669663113开源数据传输中间件DTLE 社区官网:https://opensource.actionsky…. GitHub主页:https://github.com/actiontech… 技术交流群:852990221 ...

March 9, 2019 · 3 min · jiezi

DBLE核心研发主讲:MySQL分布式中间件公开课开课啦

DBLE年龄:2岁半爱好:开源技能:数据水平拆分、兼容MySQL、高可用性、SQL支持、复杂查询优化、分布式事务支持特长:兼容性、复杂查询、分布式事务的深入改进优化为了使社区同学能够更清晰的了解开源分布式中间件DBLE的功能特性,DBLE核心研发团队历时3个月推出DBLE系列公开课。DBLE公开课简介课程目录DBLE系列课程分为4章,共12节3月15日起,每周五中午11:30前更新课程咨询:DBLE技术交流群(669663113)每天8:30-20:30即时疑问解答适用人群 正在使用DBLE或MyCat的用户当前中间件无法满足业务需求的用户运维大体量数据库,需要考虑分库分表的DBA为数据库架构选型发愁的研发人员讲师介绍▽Attention▽为了让大家更好的了解课程内容以及评估课程质量,本期预热已发布第一期课程,大家可以先感受一下一股强烈的分布式旋风扑面而来是多么清爽。第一章 DBLE的基本使用1.1 DBLE概述课程观看传送门:方式1:打开「爱可生开源社区」官网,点击技术博客,选择DBLE系列公开课即可观看方式2:点击“阅读原文”直达播放现场,一秒开始听课~如何获取课程DBLE系列公开课自3月15日起将按照每周一节课程发布在「爱可生开源社区官网」,点击官网(http://opensource.actionsky.com)博客专栏,即可查看“DBLE系列公开课”。课程免费,公开,我们的最终目标是能有更多的社区同学了解认可并使用DBLE。除此之外,我们为心急的同学提供了新的打开方式:敲黑板:VIP提前解锁新课程朋友圈分享本文并截图给小编(WeChat:mg116611)即可提前2周获取课程,DBLE系列公开课更新结束前分享均有效。

March 9, 2019 · 1 min · jiezi

Zephyr Project RTOS - 开源实时操作系统的首次功能安全认证提交

作者:Amber Hibberd,博士。英特尔功能安全工程经理和Zephyr项目成员免费的开源RTOS…旨在通过安全认证!连接设备的持续增长,暴露了物联网市场的明显差距:需要免费的、允许许可证的开源实时操作系统,该系统已获得国际电工委员会(International Electrotechnical Commission,IEC)和国际标准化组织(International Organization for Standardization,ISO)的功能安全认证。Zephyr项目旨在满足这一需求,并计划成为此类别中第一个提交其核心操作系统,包括长期支持(long term support,LTS)发布的内核和操作系统服务以进行认证。这些证书很重要,因为它们表明产品已经过仔细审查和测试,并且在安全相关系统中被认为是值得信赖的。什么是功能安全?根据IEC,“功能安全依赖于主动(active)系统,例如通过传感器检测烟雾以及随后智能激活灭火系统。”此外,“功能安全本质上是端到端的,它必须将组件或子系统的功能视为任何系统的整个自动保护功能的一部分。”另一方面是提供的安全程度。IEC定义了安全完整性等级(safety integrity level,SIL),ISO规定了汽车安全完整性等级(automotive safety integrity level ,ASIL)。从本质上讲,这些衡量了危险失败的可能性。IEC 61508标准定义了四个级别,SIL 4是最可靠和最严格的。Zephyr RTOS将包含Zephyr软件的硬件系统针对SIL 3。这解决了为功能安全而设计的绝大多数设备用例。针对汽车,我们将提交ISO 26262 ASIL D,以获得许多自动汽车系统的使用资格。ZEPHYR在做什么?Zephyr认证范围适用于跨所选体系结构的核心操作系统,包括内核和操作系统服务。Zephyr有许多RTOS元素仍然不在第一次提交的范围内,如平台驱动程序、板级支持包、平台特定的电源管理实现、文件系统和传感器驱动程序实现。Zephyr项目已经开始致力于在开源环境中开发功能安全认证的RTOS。我们正在与证书颁发机构合作,以确保我们有提交的基础。开源的一个关键方面是邀请社区贡献。我们正在修改我们的开发流程以保持社区参与,同时确保高完整性代码所需的严格流程控制,和开发工具分析。在某些情况下,开源可以更安全,因为开发的透明性和来自不同社区人士注视代码的眼球数量。Zephyr RTOS功能安全评估分两个阶段进行:概念审查和功能安全管理阶段,以及详细的测试阶段。第一阶段包括Zephyr软件安全要求和架构规范,以及验证和确认计划。阶段二包括在软件的所有级别(例如软件模块、软件集成),故障注入测试和编码指南合规性的测试。最后,认证将建立软件故障避免和控制措施到目标完整性水平。开发者可以期待什么?我们的LTS版本将在年中向开发者提供。这是开始对证书提交代码进行测试和原型设计的好方法。一旦我们完成认证,产品设计者就可以使用符合安全要求的最终Zephyr OS内核来创建他们的硬件和应用软件系统。这将缩短构建需要功能安全环境的产品的路径。我们期待为工业、汽车、智能城市和其他产品开发商提供支持,因为他们将Zephyr RTOS集成到他们的安全驱动解决方案中。有关我们免费、安全认证的RTOS的更多信息,请通过Zephyr网站与我们联系。我们很乐意在你的产品中使用我们的代码!要了解更多信息或提出问题,请注册Zephyr Project的Slack频道。KubeCon + CloudNativeCon和Open Source Summit大会日期:会议日程通告日期:2019 年 4 月 10 日会议活动举办日期:2019 年 6 月 24 至 26 日KubeCon + CloudNativeCon和Open Source Summit赞助方案KubeCon + CloudNativeCon和Open Source Summit多元化奖学金现正接受申请KubeCon + CloudNativeCon和Open Source Summit即将首次合体落地中国KubeCon + CloudNativeCon和Open Source Summit购票窗口,立即购票!

March 8, 2019 · 1 min · jiezi

使用SPIRE(自动)提供TLS证书给Envoy以进行更强大的身份验证

作者:Andrew Harding你好!这是来自Scytale的Andrew Harding。如果你目前正在使用Envoy提供安全的服务到服务通信,我想向你展示如何利用开源SPIRE项目,通过基于多个因子工作负载认证,自动交付和轮换密钥和证书来显着提高你的身份验证安全性。Envoy和SPIRE已经存在了一段时间,但我们最近才在SPIRE中增加了对Envoy SDS API的支持,这使得设置起来更加容易。我们来探讨一下。背景Envoy是一个流行的开源服务代理,除其他外,广泛用于在服务之间提供抽象、安全、经过身份验证和加密的通信。Envoy享有丰富的配置系统,允许灵活的第三方交互。该配置系统的一个组件是秘密发现服务协议或SDS(Secret Discovery Service)。Envoy使用SDS从SDS供应商处检索并维护更新的“秘密”。在身份验证的意思来说,这些秘密是Envoy用于在服务之间提供安全TLS通信的TLS证书、私钥和可信CA证书。短暂的秘密是安全的一个重要方面,因为它们减少了对撤销列表基础设施的需求,这削弱了安全性并导致攻击面增加。旋转短寿命秘密经常涉及手动审计和部署,并且通常对操作员来说非常麻烦。SDS供应商向Envoy提供更新秘密的能力,是简化秘密管理和为Envoy提供最新服务标识的有用步骤。SPIRE(SPIFFE运行时环境)是一个工具链,用于在各种平台上建立软件系统之间的信任。SPIRE支持容器化和弹性扩展环境,例如Kubernetes、托管基础架构如Azure、AWS和GCP,以及内部裸机部署。这些环境中的服务可以利用SPIRE以X.509证书(X509-SVID)的形式,获取具有关联私钥的服务标识,以及服务可用于验证其他身份的一组可信CA证书。当服务与SPIRE接合时,它会经历一个称为证明(attestation)的过程,其中SPIRE宣称(assert)有关服务及其环境的特征。这些宣称与运营商定义的政策相匹配,以决定应该为服务提供哪个服务标识。(有关证明的更多详细信息,请参阅此视频。)SPIRE根据运营商定义的政策自动轮换服务的X.509证书和密钥。换句话说,Envoy可以通过SDS动态消费服务标识,SPIRE可以动态提供服务标识。听起来很棒!这个怎样运作当Envoy连接到SDS服务器时,SPIRE代理会证明Envoy并确定它应该通过SDS向Envoy提供哪些服务身份和CA证书。随着服务标识和CA证书的轮换,更新将流式传输回Envoy,Envoy可立即将它们应用于新连接,而不会中断或停机,也无需私钥触及磁盘。换句话说,SPIRE丰富的定义和证明服务的方法可用于定位Envoy流程,为其定义身份,并为其提供Xv09证书和Envoy可用于TLS通信的信任信息。在两个服务之间的两个Envoy代理,使用SPIRE代理作为SDS的实现,以获取相互认证的TLS通信的秘密配置SPIRE在SPIRE中设置SDS支持就像在SPIRE代理配置中设置enable_sds = true配置值一样简单。配置EnvoySPIRE代理群集必须将Envoy配置为与SPIRE代理通信,通过配置集群指向SPIRE代理提供的Unix域套接字(domain socket)。例如:clusters: - name: spire_agent connect_timeout: 0.25s http2_protocol_options: {} hosts: - pipe: path: /tmp/agent.sockconnect_timeout会影响Envoy在启动Envoy时SPIRE代理未运行或者如果重启SPIRE代理时能够响应的速度。TLS证书要从SPIRE获取TLS证书和私钥,你可以在TLS上下文中设置SDS配置。例如:tls_context: common_tls_context: tls_certificate_sds_secret_configs: - name: “spiffe://example.org/backend” sds_config: api_config_source: api_type: GRPC grpc_services: envoy_grpc: cluster_name: spire_agentTLS证书的名称是Envoy充当代理服务的SPIFFE ID。验证上下文(Validation Context)Envoy使用可信CA证书来验证对等证书。验证上下文提供这些可信CA证书。SPIRE可以为每个信任域提供验证上下文。要获取信任域的验证上下文,可以在TLS上下文的SDS配置中配置验证上下文,将验证上下文的名称设置为信任域的SPIFFE ID。例如:tls_context: common_tls_context: validation_context_sds_secret_config: name: “spiffe://example.org” sds_config: api_config_source: api_type: GRPC grpc_services: envoy_grpc: cluster_name: spire_agentSPIFFE和SPIRE专注于促进安全认证作为授权的构建块,而不是授权本身,因此对验证上下文中的授权相关字段(例如verify_subject_alt_name)的支持超出范围。相反,我们建议你利用Envoy广泛的过滤器框架来执行授权。此外,你可以将Envoy配置为将客户端证书详细信息转发到目标服务,从而允许它执行自己的授权步骤,例如使用嵌入在客户端X.509 SVID的URI SAN中的SPIFFE ID。试试看!这就是你使用SPIRE改善服务到服务通信中的身份验证安全性的方法!尝试一下,让我们知道你的试用是怎么回事!你可以通过SPIFFE slack与我们联系。计划进行未来的改进,你的经验对于塑造SPIRE对Envoy的支持非常有价值。我要感谢Scytale公司自己的Marcos Yacob和Marcos Yedro,他们的努力有助于SPIRE SDS实施的原型设计和开发。KubeCon + CloudNativeCon和Open Source Summit大会日期:会议日程通告日期:2019 年 4 月 10 日会议活动举办日期:2019 年 6 月 24 至 26 日KubeCon + CloudNativeCon和Open Source Summit赞助方案KubeCon + CloudNativeCon和Open Source Summit多元化奖学金现正接受申请KubeCon + CloudNativeCon和Open Source Summit即将首次合体落地中国KubeCon + CloudNativeCon和Open Source Summit购票窗口,立即购票! ...

March 8, 2019 · 1 min · jiezi

Kubernetes v1.13对原始块卷支持转移到beta

作者:Ben Swartzlander(NetApp),Saad Ali(谷歌)Kubernetes v1.13将原始块卷(raw block volume)支持转移到beta。此功能允许持久卷(persistent volume)作为块设备(block device),而不是作为已安装的文件系统在容器内部公开。什么是块设备?块设备允许随机访问固定大小的块中的数据。硬盘驱动器、SSD和CD-ROM驱动器都是块设备的示例。持久存储通常以分层方式实现,在块设备(如旋转磁盘或SSD)之上使用文件系统(如ext4)。然后,应用程序读取和写入文件,而不是在块上操作。操作系统负责使用指定的文件系统,将文件作为块读取和写入底层设备。值得注意的是,整个磁盘都是块设备,磁盘分区也是,存储区域网络(SAN)设备的LUN也是。为什么要将原始块卷添加到kubernetes?有些专门的应用程序需要直接访问块设备,例如,文件系统层会引入不必要的开销。最常见的情况是数据库,它们更喜欢直接在底层存储上组织数据。原始块设备也常用于任何本身实现某种存储服务的软件(软件定义的存储系统)。从程序员的角度来看,块设备是一个非常大的字节数组,通常具有一些最小的读写粒度,通常为512字节,但更常见为4K或更大。随着在Kubernetes内部运行数据库软件和存储基础架构软件变得越来越普遍,Kubernetes中对原始块设备支持的需求变得更加重要。哪个卷插件支持原始块?在发布此博客时,以下树内(in-tree)卷类型支持原始块:AWS EBSAzure DiskCinderFibre ChannelGCE PDiSCSILocal volumesRBD (Ceph)Vsphere树外(Out-of-tree)CSI卷驱动程序也可以支持原始块卷。 Kubernetes CSI对原始块卷的支持目前是alpha。请参阅此处的文档。Kubernetes原始块卷API原始块与普通卷有很多共同点。两者都是通过创建绑定到PersistentVolume对象的PersistentVolumeClaim对象来请求的,并通过将它们包含在PodSpec的volumes数组中而附加到Kubernetes中的Pod。但是有两个重要的区别。首先,要请求原始块PersistentVolumeClaim,必须在PersistentVolumeClaimSpec中设置volumeMode =“Block”。将volumeMode留空与指定volumeMode =“Filesystem”相同,这会导致传统行为。PersistentVolumes在其PersistentVolumeSpec中也有一个volumeMode字段,而“Block”类型的PVC只能绑定到“Block”类型的PV,而“Filesystem”PVC只能绑定到“Filesystem”PV。其次,在Pods中使用原始块卷时,必须在PodSpec的Container部分而不是VolumeMount中指定VolumeDevice。VolumeDevices具有devicePaths而不是mountPaths,并且在容器内部,应用程序将在该路径中看到设备而不是已安装的文件系统。应用程序打开、读取和写入容器内的设备节点,就像它们将与非容器化或虚拟化环境中的系统上的任何块设备进行交互一样。创建新的原始块PVC首先,确保你选择的存储类关联的配置程序是支持原始块的配置程序。然后创建PVC。apiVersion: v1kind: PersistentVolumeClaimmetadata: name: my-pvcspec: accessModes: - ReadWriteMany volumeMode: Block storageClassName: my-sc resources: requests: storage: 1Gi使用原始块PVC在pod定义中使用PVC时,可以选择块设备的设备路径,而不是文件系统的安装路径。apiVersion: v1kind: Podmetadata: name: my-podspec: containers: - name: my-container image: busybox command: - sleep - “3600” volumeDevices: - devicePath: /dev/block name: my-volume imagePullPolicy: IfNotPresent volumes: - name: my-volume persistentVolumeClaim: claimName: my-pvc作为存储供应商,如何在我的CSI插件中添加对原始块设备的支持?CSI插件对原始块支持仍然是alpha,但今天可以添加支持。CSI规范详细说明了如何处理具有BlockVolume功能而不是MountVolume功能的卷请求。CSI插件可以支持这两种卷。有关更多详细信息,请参阅此处。问题/陷阱因为块设备实际上是设备,所以可以从容器内部对它们执行低级操作,这是文件系统卷无法实现的。例如,实际上是SCSI磁盘的块设备支持使用Linux ioctls向设备发送SCSI命令。默认情况下,Linux不允许容器将SCSI命令从容器内部发送到磁盘。为此,你必须将SYS_RAWIO功能授予容器安全上下文(context)以允许此操作。请参阅此处的文档。此外,虽然Kubernetes保证向容器提供块设备,但不能保证它实际上是SCSI磁盘或任何其他类型的磁盘。用户必须确保所需的磁盘类型与其pod一起使用,或者仅部署可处理各种块设备类型的应用程序。怎样能了解更多?在此处查看有关快照功能的其他文档。我如何参与?加入Kubernetes存储SIG和CSI社区,帮助我们添加更多优秀功能,并改进现有功能如原始块存储!鸣谢特别感谢帮助Kubernetes增加块卷支持的所有贡献者,包括:Ben Swartzlander(https://github.com/bswartz)Brad Childs(https://github.com/childsb)Erin Boyd(https://github.com/erinboyd)Masaki Kimura(https://github.com/mkimuram)Matthew Wong(https://github.com/wongma7)Michelle Au(https://github.com/msau42)Mitsuhiro Tanino(https://github.com/mtanino)Saad Ali(https://github.com/saad-ali)KubeCon + CloudNativeCon和Open Source Summit大会日期:会议日程通告日期:2019 年 4 月 10 日会议活动举办日期:2019 年 6 月 24 至 26 日KubeCon + CloudNativeCon和Open Source Summit赞助方案KubeCon + CloudNativeCon和Open Source Summit多元化奖学金现正接受申请KubeCon + CloudNativeCon和Open Source Summit即将首次合体落地中国KubeCon + CloudNativeCon和Open Source Summit购票窗口,立即购票! ...

March 8, 2019 · 1 min · jiezi

了解网络最新发展:LF Networking将在ONS北美大会提供的10个演示

ONS(Open Networking Summit,开放网络峰会)是业界首屈一指的开放式网络活动,支持跨企业、服务提供商和云提供商的协作开发和创新,并讨论开源网络的未来,包括SDN、NFV、VNF、CNF/云原生网络、编排、云自动化、核心网、边缘、接入和物联网服务。LF Networking的演示通过LF Networking展台的10个社区驱动演示,让你沉浸在开源网络堆栈的最新创新中!展示服务供应商特定测试和验证要求(OPNFV,ONAP) - 沃达丰提出并由沃达丰/华为/iConectiv演示此演示旨在演示ONAP入职流程(通过SDC)与VTP(VNF测试平台)交互的能力,并在入职之前请求在VNF上执行特定的测试场景。该演示将使用标准和OPEN API与VTP进行交互,这也将使未来可以与认证存储库(Certification Repositories,例如OVP)进行交互,以检索给定VNF所经历的认证列表。这种集成将为动态DevOps环境下的更多E2E合规性和认证流程打开大门。作为平台的VTP允许与OPNFV测试工具(例如Dovetail),以及可以承载运营商特定测试场景的第三方测试工具(或第三方实验室)进行交互。ODL和NSM的集成(OpenDaylight,Network Service Mesh) - 由Lumina Networks演示NSM(Network Service Mesh)在CNCF世界中获得了很大的吸引力,并且正在重塑云原生网络。该演示旨在通过gRPC机制展示ODL和NSM的集成。它将展示NSM如何利用ODL网络模型,以及集成如何解决许多混合网络方案。多数据路径之间的SDN性能比较(Tungsten Fabric,FD.io) - 由ATS和Sofioni Networks演示该演示将显示对VPP(Vector Packet Processing,矢量数据包处理)与DPDK(Data Plane Development Kit,数据平面开发工具包)vRouter性能的观察,两者均由同一Tungsten Fabric控制器控制。它将一个Tungsten Fabric控制平面连接到运行VPP的计算作为数据路径而不是常规内核模块或DPDK vRouter,所有服务器连接到相同的机架顶部以确保类似的环境。它将通过改变注入网络的后台流的数量,通过后台流生成器调整网络条件来演示两个数据平面的并排性能。ONAP BBS(Broadband Service,宽带服务)用例(ONAP,OPNFV) - 由Swisscom,华为和诺基亚演示BBS用例团队将展示使用ONAP Dublin版本的首次实施使用ONAP用于宽带服务的设计、供应、生命周期管理和保证。该用例涵盖了新的方案,例如游牧ONT(Optical Network Terminal,光网络终端)和服务订阅计划的变化,显示了ONAP平台支持跨不同位置(例如,中央办公室、核心)和技术领域(例如,Access、Edge)的服务编排方面的可扩展性。注意:BBS实现/测试CloudCO(Cloud Central Office,云中心办公室),技术报告TR-384等架构框架中定义的一些规范。零停机应用的OpenStack滚动升级(OPNFV,OpenStack) - 由诺基亚和德国电信演示在本演示中,我们将通过OPNFV Doctor测试框架利用OpenStack Fenix工作流程进行滚动OpenStack升级。通过VNFM交互,我们还可以保证VNF的停机时间为零。该演示旨在实现Fenix滚动升级CI作业,因此我们还可以看到修改后的DevStack脚本如何用于升级节点。因此,我们将为任何人提供处理和测试OpenStack升级的强大工具。Skydive和VPP集成:拓扑分析仪(FD.io,Ligato,Skydive,Docker) - 由PANTHEON.tech演示Skydive是一个开源实时网络拓扑和协议分析器,旨在提供一种全面的方法来了解网络基础架构中发生的情况。此演示包含使用Ligato VPPAgent Docker容器运行的VPP(Vector Packet Processing,矢量数据包处理)实例,以自动启动VPP实例,并实时检测网络拓扑的更改。此演示的重要性在于从VPP中提取数据的需求,并通过Skydive提供网络的鸟瞰图。VSPERF:超越绩效指标,走向因果分析(OPNFV) - 由思博伦通信和AT&T演示本演示将展示VSPERF和其他工具如何收集、分析和可视化每个测试用例的各种结果数据,以促进因果关系分析。VSPERF架构的优势是在所有结果数据上具有统一的时间戳,同时测量支持相关性和因果关系分析的不同配置。对于每次测试运行,我们计划演示以下内容:相关性热图实时结果的趋势分析EOT结果的趋势分析描述拓扑中的瓶颈关键指标的详细统计测试环境表示:可用、提供、配置等在测试运行期间表示所有事件基于ONAP生命周期管理(ONAP)的网络切片 - 由AT&T和爱立信演示该ONAP演示将利用ONAP架构的许多组件/功能元件,在MBB(Mobile Broadband,移动宽带)服务用例中提供具有特定特征的e2e网络片。它将实例化和配置多个虚拟网络功能,并演示服务创建、实例化和服务配置的整个生命周期。该演示将使用ONAP组件远程配置新泽西州的AT&T/Ericsson网络,并显示5G网络的LCM并创建e2e网络片。服务网格和SDN:大规模集群负载均衡(Tungsten Fabric,Linux OS,Istio,Consul,Envoy,Kubernetes,HAProxy) - 由Tungsten Fabric社区演示从服务网格到入口,到网络政策,再到加密等等,网络和安全性已向左移动,更早推进到DevOps时间范围。在本演示中,你将看到Tungsten Fabric,一个合适Kubernetes使用的SDN,如何超越CNI的基础,为Istio和Consul等服务网格提供了良好的基础和补充。此演示将展示Tungsten Fabric与Kubernetes的云中立的服务负载均衡器实现,以及在处理遗留和云原生工作负载的情况下比较和对比Tungsten Fabric与Istio和Consul的集成。我们还将讨论从网关到入口,到服务代理的横向扩展负载平衡。实验室即服务2.0演示(OPNFV) - 由UNH-IOL演示LaaS 2.0项目旨在支持LFN社区,目前正由OPNFV和ONAP团队使用。随着LaaS 2.0的推出,开源网络项目领导者现在可以预订多节点资源,为他们的团队提供资源,以便跨多个裸机服务器部署更大的项目。预订过程已更新,允许在服务器之间配置不同的操作系统映像和网络,从而创建一个可由LF Networking项目利用的灵活工具。此演示将有助于让社区了解可用资源,并向用户显示预订流程和后端工具。请在此处查看LaaS仪表板:https://labs.lfnetworking.org。KubeCon + CloudNativeCon和Open Source Summit大会日期:会议日程通告日期:2019 年 4 月 10 日会议活动举办日期:2019 年 6 月 24 至 26 日KubeCon + CloudNativeCon和Open Source Summit赞助方案KubeCon + CloudNativeCon和Open Source Summit多元化奖学金现正接受申请KubeCon + CloudNativeCon和Open Source Summit即将首次合体落地中国KubeCon + CloudNativeCon和Open Source Summit购票窗口,立即购票! ...

March 7, 2019 · 1 min · jiezi

容错性好、易于管理和便于观察:浅谈如何利用K8s全面拥抱微服务架构

KubeCon + CloudNativeCon 论坛,作为 CNCF 的旗舰会议,自2016年以来已经在北美和欧洲两地的旧金山、伦敦、硅丘(奥斯汀)、哥本哈根等知名城市举办。2018年11月15日,KubeCon + CloudNativeCon 论坛首次来到中国,在上海跨国采购会展中心召开并获得了圆满成功。在去年的论坛上,CNCF不仅邀请到了Liz Rice、Janet Kuo等开源技术大牛到场为KubeCon + CloudNativeCon 在中国举行的首秀呐喊助威,更吸引到了包括美国、日本、印度在内的五大洲48个国家的开源精英前来参与。期间,有954家公司派代表到场展示自己的理念或者聆听精彩的技术分享。据统计,2018年盛会的参会者超过2500人,CNCF 为参会者提供了13场次的主题演讲、97场次的分组会议、55场次的维护者会议和15场次的快闪演讲。华为云、阿里云、腾讯云、微软、GitLab、Lyft等众多知名企业纷纷登台为大家分享相关的产品和技术架构,并为在场观众解答了相关问题。在上届论坛上,大家询问最多的,就是在 K8s(Kubernetes)架构上的使用精髓,而其中,比较有代表性的问题,则是企业如何利用 K8s 作为微服务架构,并且如何通过这样的部署来提升企业的自身价值。那么,什么是微服务架构呢?其实,微服务架构是与当前常用的单体架构相比较而言的。单体架构虽然方便管理,易于规划,但是灵活性和稳定性还是有所欠缺的,甚至一旦局部架构受损则可能面临全盘崩溃的危险;而且单体架构的迭代操作,比较复杂,部署速度慢不说,还会出现阻塞持续集成的现象,这对于要求时效性且相对复杂的生产环境来说,是不言而喻的灾难。基于此,便出现了小的模块化的自治服务架构,即我们常说的微服务架构。因为它所有的节点都被连接到了API网关,所以API网关的用户都会自动连接到这个完整的系统来调用或者聚合所需资源,来完成整个工作。所以,微服务架构在目前来看,基本解决了单体架构的弊端,这如同使用并联的灯泡组,即使一个灯泡损坏,亦不会影响全局的稳定和整体的生产进度,更不会出现整个局部系统的损坏而导致整体系统全面崩塌的灾难性后果。众所周知的是,任何一种架构的运用都会面临一些问题,我们采用的微服务架构也不例外。虽然微服务架构本身具有稳定、轻量、高速的特性,但是在现实的企业生产环境部署过程中,也会出现诸如调度、负载均衡、集群管理、有状态数据的管理等问题。而作为一切以服务为中心的K8s,则为我们提供了解决上述问题的最佳方式。K8s拥抱微服务就成为大势所趋。作为上届大会的焦点 - K8s如何更好的拥抱微服务?主题演讲有这些分享:Zhenqin (Alan) Liao(华为云 PaaS 服务产品部部长)的“垂直扩展,Kubernetes 如何加速各行业的云原生移动”Vicki Cheung(Lyft 工程经理)的“Kubernetes 是架构的基础层”Brendan Burns(杰出工程师及Microsoft K8s 联合创始人)的“Kubernetes 无服务器架构的现在和未来”专题演讲也分享了不少:Tony Erwin和Jonathan Schweikhart(IBM)的“将企业微服务从Cloud Foundry迁移到Kubernetes”Xiang Li(阿里巴巴)的“日新月异的 Sigma:在阿里巴巴使用 Kubernetes”Dan Romlein和Spencer Sugarman(Google)的“用户介面:利用 Kubernetes Dashboard 并决定其未来”Peter Zhao和Yuan Ji(ZTE)的“Kubernetes:使用、贡献并享受它!“Land Lu和Zhang Lei Mao(Canonical)的“利用 MicroK8s 和 Kubeflow 达成的 Kubernetes CICD 小技巧”Hui Chi(PetroChina)和Kai Chen(Alauda)的“石油巨头与Kubernetes, Microservice & DevOps共舞”Shikha Srivastava和Erica Brown(IBM)的“通过 Kubernetes 实现从容器化应用到安全和缩放”YIN SUN(小米)的“从 Mesos 到 Kubernetes”那么,在2019年,这些议题又会有哪些大咖加以完善,并与您分享更新的实战观点呢?敬请关注,今年2019年,CNCF和LF为您即将呈现的开源技术盛宴 - KubeCon + CloudNativeCon 和 Open SourceSummit(原LC3)。KubeCon + CloudNativeCon和Open Source Summit大会日期:会议日程通告日期:2019 年 4 月 10 日会议活动举办日期:2019 年 6 月 24 至 26 日KubeCon + CloudNativeCon和Open Source Summit赞助方案KubeCon + CloudNativeCon和Open Source Summit多元化奖学金现正接受申请KubeCon + CloudNativeCon和Open Source Summit即将首次合体落地中国KubeCon + CloudNativeCon和Open Source Summit购票窗口,立即购票! ...

March 7, 2019 · 1 min · jiezi

协作是NHS开源合规的关键:NHS案例研究(pdf)

作者:Shane Coughlan关于开源的一个有力的事情是,它允许各种组织和利益相关者聚集在一起实现共同目标的方式。开源项目发挥着关键作用,通过提供可与新系统和现有系统集成的通用平台。在讨论开源合规性并使开源供应链中的各种利益相关者保持一致时,这一点就更加明显了。最好的例子是最近在openchainproject.org上发布的NHS案例研究。NHS England是英格兰的公共卫生服务供应商,每24小时治疗超过140万名患者。该组织需要一种方法来管理和利用整个组织的开源资产,而无需锁定供应商。我们的源代码控制合作伙伴提出了OpenChain规范,并让我们参与了Apperta基金会、Code4Health计划、OpenEyes和AB EHR数字培训和试点计划。结果使项目参与者能够满足开源行业的最佳实践。它还帮助NHS在未来几个月和几年内,在多个项目和供应商的更广泛的部署计划中迈出了第一步。感谢所有合作伙伴,我们期待未来在医疗保健、汽车和更多行业的合作,因为他们越来越多地采用开源。点击下载NHS案例研究。KubeCon + CloudNativeCon和Open Source Summit大会日期:会议日程通告日期:2019 年 4 月 10 日会议活动举办日期:2019 年 6 月 24 至 26 日KubeCon + CloudNativeCon和Open Source Summit赞助方案KubeCon + CloudNativeCon和Open Source Summit多元化奖学金现正接受申请KubeCon + CloudNativeCon和Open Source Summit即将首次合体落地中国KubeCon + CloudNativeCon和Open Source Summit购票窗口,立即购票!

March 6, 2019 · 1 min · jiezi

LF Edge欢迎Aricent成为高级会员,帮助统一开放边缘计算

领先的全球设计和工程公司加入LF Edge,共同开发边缘计算的开源框架,物联网的未来旧金山,2019年3月5日 - LF Edge是Linux基金会的一个伞形组织,旨在建立一个开放、可互操作的边缘计算框架,独立于硬件、芯片、云或操作系统,今天宣布Aricent,一家全球设计和工程公司,已加入LF Edge作为高级会员。“我们很高兴欢迎Aricent成为LF Edge的最新高级会员。”Linux基金会总经理Arpit Joshipura说。“他们为领先的移动运营商提供强大的边缘框架的专业知识,以及他们对开放式创新网络协同开发的承诺,将有助于社区建立边缘计算的通用平台。”LF Edge于今年1月推出,最初由五个项目组成,包括Akraino Edge Stack、EdgeX Foundry、Home Edge、 Open Glossary of Edge Computing和Project EVE,这些项目将支持新兴边缘应用程序,例如非传统领域视频和连接的东西,这些需要更低的延迟、更快的处理和移动性。通过形成一个能够带来最佳云、企业和电信的软件堆栈,LF Edge将围绕行业未来的共同开放愿景,帮助统一分散的边缘市场。“开放标准对于创建未来网络至关重要,这些网络将基于边缘计算架构。”Aricent首席技术官兼Altran集团首席创新官Walid Negm说。“我们参与LF Edge表明了我们对开源分布式网络开发的承诺,这将推动5G的新应用开发。”“在未来几年,电信公司将希望从边缘计算中释放出企业机会。”Aricent通信业务高级副总裁Dietmar Wendt表示。“LF Edge将成为围绕最引人注目的用例引导技术的重要论坛。”作为全球领先的设计和工程公司,为数字时代的客户进行创新,Aricent在为移动运营商提供强大的边缘框架方面拥有良好的记录。通过加入LF Edge,Aricent将帮助创建通用的开源架构,支持对边缘计算系统和应用程序优化的服务。具体的贡献计划,包括帮助确定如何最好地结合边缘网络的虚拟化、容器、智能和管理,使开发者能够创建无缝遍历所有网络的应用程序,并从中获利。Aricent是Altran集团的一部分,Altran集团是工程和研发服务(ER&D)的全球领导者。Altran与客户一起工作,从最初的概念到工业化,发明明天的产品和服务。30多年来,该公司一直提供航空航天、汽车、国防、能源、金融、生命科学、铁路和电信方面的专业知识。收购Aricent将这一领导地位扩展到半导体、数字体验和设计创新。合并后,Altran和Aricent在2017年创造了29亿欧元的收入,在30多个国家拥有约45,000名员工。Aricent加入了60个现有创始成员的强大阵容,其中包括创始高级成员Arm、AT&T、百度、戴尔EMC、Dianomic Inc.、爱立信、惠普、HPE、华为、IBM、英特尔、inwinStack、Juniper Networks、MobiledgeX、Netsia、Nokia Solutions、NTT、OSIsoft、Qualcomm Technologies、Radisys、Red Hat、Samsung Electronics、Seagate Technology、Tencent、WindRiver、Wipro和ZEDEDA。可以在此处找到LF Edge成员的完整列表:https://www.lfedge.org/members/有关LF Edge的更多详细信息,包括如何加入成员,请到:https://www.lfedge.org/。KubeCon + CloudNativeCon和Open Source Summit大会日期:会议日程通告日期:2019 年 4 月 10 日会议活动举办日期:2019 年 6 月 24 至 26 日KubeCon + CloudNativeCon和Open Source Summit赞助方案KubeCon + CloudNativeCon和Open Source Summit多元化奖学金现正接受申请KubeCon + CloudNativeCon和Open Source Summit即将首次合体落地中国KubeCon + CloudNativeCon和Open Source Summit购票窗口,立即购票!

March 6, 2019 · 1 min · jiezi

KubeEdge v0.2版本现已推出

KubeEdge是一个开源系统,可将原生容器化应用程序的编排和设备管理扩展到边缘的主机。它基于Kubernetes构建,为云和边缘之间的网络、应用程序部署和元数据同步提供核心基础架构支持。它还支持MQTT,并允许开发者创建自定义逻辑,并在边缘上启用资源受限的设备通信。今天宣布KubeEdge的v0.2版本。在这里查看发布:发布v0.2有关如何设置KubeEdge的说明,请到这里添加功能边缘控制器(Edge-controller)连接到Kubernetes api-server,并在边缘和kubernetes api-server之间同步节点/ pod状态。Cloudhub是KubeEdge云部分的websocket服务器。内部MQTT模式,其中MQTT代理使用edge_core启动,并删除对外部MQTT代理的依赖性。边缘集成测试框架方面改进了edge_core单元测试覆盖率。已知的问题我们还没有任何e2e测试。云部分应改进单元测试覆盖率。功能正在开发中(未来发布)通过CRD描述设备API。边到边通信。KubeEdge的不同协议支持,如BLE,Zigbee等KubeCon + CloudNativeCon和Open Source Summit大会日期:会议日程通告日期:2019 年 4 月 10 日会议活动举办日期:2019 年 6 月 24 至 26 日KubeCon + CloudNativeCon和Open Source Summit赞助方案KubeCon + CloudNativeCon和Open Source Summit多元化奖学金现正接受申请KubeCon + CloudNativeCon和Open Source Summit即将首次合体落地中国KubeCon + CloudNativeCon和Open Source Summit购票窗口,立即购票!

March 6, 2019 · 1 min · jiezi

CNCF参与Google Summer of Code 2019!感兴趣的学生现在是加入的最佳时机

Google Summer of Code(GSoC)是面向开源开发领域新贡献者的最知名和最受欢迎的计划之一,我们很高兴地宣布CNCF(Cloud Native Computing Foundation,云原生计算基金会)参与GSoC 2019!CNCF是过去几年(包括2017年和2018年)GSoC中最活跃的参与者之一,我们将在2019年继续这项工作,有近50个项目构想涉及13个CNCF项目。如果你是学生,计划参加GSoC 2019,现在是审查项目构想,并与导师开始讨论的最佳时机。这里分享一篇去年浙江大学研究生,在谐云实习的Jian Liu,有关“GSoC 18:Kata Containers对containerd的支持”的经验。Kubernetes项目构想Integrate kube-batch with pytorch-operator/mxnet-operatorImplement volume snapshotting support into the external Manila provisionerEnable full e2e tests for external Azure cloud providerCSI driver for AzureDiskCSI driver for AzureFileCSI driver for BlobfuseStreamline and simplify SASS for the Kubernetes websiteFully automate API and reference doc generationAdd support for Custom Resource Definitions to the DashboardAdd plugin mechanism to the DashboardPrometheus项目构想Benchmarks for TSDBContinue the work on PrombenchPersist Retroactive Rule ReevaluationsOptimize queries using regex matchers for set lookupsPackage for bulk importsOpen Policy Agent (OPA)项目构想IntelliJ plugin to experiment with and visualize policy evaluationInteractive website detailing OPA integrationsIntegration with IPTablesCoreDNS项目构想Support source-IP based query block/allowSupport Google Cloud DNS backendSupport Azure DNS backendTiKV项目构想Migrate to tower-grpcIntroduce other storage enginesBuild TiKV clients in different languagesAuto-tune RocksDBRook项目构想Upgrade Rook to a more advanced operator/controller frameworkStorage provider features and enhancementsEnable multiple network interfaces for Rook storage providersEnhance and extend the Rook framework for storage solutionsExpand coverage and scope of Rook’s continuous integration (CI) systemDynamic provisioning for portable workloadsLinkerd and Envoy项目构想Benchmarks for Linkerd and EnvoyVirtual Kubelet项目构想Conformance testing for Virtual KubeletLinkerd项目构想Cross-cloud integration testingAuto-UpdateConformance ValidationAlertmanager IntegrationKafka Introspectionrkt项目构想Add support for the OCI runtime spec by implementing a runc stage2Add native OCI image supportcontainerd项目构想Snapshotter implementation for block devicesp2p or remote blob store implementationFalco项目构想Improved Falco OutputsAdditional Event SourcesLayer 7 Inspection and DetectionFalco integration with AI/ML platformsPrometheus Metrics ExporterPerformance Analysis and OptimizationFalco rules profiles for applications and security benchmarksCortex项目构想Improve Ingester HandoverCentralized Rate LimitingUse etcd in Cortex请在CNCF的GitHub页面上查看2019年项目构想的完整列表,包括描述、推荐技巧和导师资料等。KubeCon + CloudNativeCon和Open Source Summit大会日期:会议日程通告日期:2019 年 4 月 10 日会议活动举办日期:2019 年 6 月 24 至 26 日KubeCon + CloudNativeCon和Open Source Summit赞助方案KubeCon + CloudNativeCon和Open Source Summit多元化奖学金现正接受申请KubeCon + CloudNativeCon和Open Source Summit即将首次合体落地中国KubeCon + CloudNativeCon和Open Source Summit购票窗口,立即购票! ...

March 6, 2019 · 2 min · jiezi

OpenChain Project宣布Bosch为白金会员

Bosch利用业界唯一的开源合规标准,为汽车和物联网供应链的协作提供通用方法和理解旧金山 - 2019年2月28日 - OpenChain项目通过使开源许可证合规性更简单、更一致来建立对开源的信任,今天宣布博世已加入白金会员。该项目的会员势头继续增长,正如微软几周前加入,以及其他大型公司,包括优步、谷歌和Facebook。OpenChain提供规范以及公司需要成功管理开源许可证合规性的总体流程、政策和培训,以使其对软件供应链的参与者变得更加高效、易懂和可预测。随着代码在通过供应链消耗数十亿行开源软件以构建新产品和服务的公司之间流动,一个关键挑战是确保及时有效地满足相关许可要求。OpenChain项目提供了一致的方法来解决这个问题和其他挑战。符合OpenChain规范表明组织遵循高质量开源合规计划的关键要求,并在供应链中的组织之间建立信任。它使采购者更容易采购,供应商更容易获得优先地位。在过去的15年中,博世采用开源软件,开始使用Eclipse IDE消费汽车中的开源工具,将Linux嵌入博世产品,以及在公共资助项目中共同创新软件。博世目前正在领导十多个开源项目,并积极推动其在Eclipse物联网上为博世物联网套件开放平台战略,提供超过150万条代码。因此,它特别关注使用成熟的开源管理流程,以增加合作公司的数量。博世认为,OpenChain是一个分享良好实践和改进开源管理系统和流程的绝佳平台,因此其他公司可以加入开源社区。OpenChain规范是供应链中开源合规的唯一标准,并且引起了汽车公司的极大兴趣。丰田目前是白金会员,Scania最近满足OpenChain一致性。此外,像松下和瑞萨这样的公司也积极参与社区工作组。“开源管理系统标准将成为开源管理基础设施和服务成功合作的关键。”博世能力开源中心负责人Hans Malte Kern说。“我们很高兴加入OpenChain项目,因为它反映了合规开源使用、分发和贡献的重要性。而不是与所有合作伙伴和供应商协商开源要求,博世将利用OpenChain作为开放标准,为开源合作提供共同的方法和理解,不仅在汽车行业,而且在物联网的互联世界。我们相信OpenChain标准将取代双边谈判、教育和开源风险缓解讨论。”OpenChain总经理Shane Coughlan说:“让博世加入像其他汽车公司如丰田作为白金会员,这一点非常棒。博世对OpenChain项目并不陌生,并且在开源合规活动方面有着悠久的历史。我们很高兴让他们参加理事会、指导和外联委员会,以及工作组的电话和会议,以帮助推动这个社区向前发展。”作为白金会员,博世的代表将加入OpenChain管理委员会。OpenChain项目的其他白金成员包括Adobe、ARM Holdings、Cisco、Comcast、Facebook、Google、Harman International、Hitachi、Microsoft、Qualcomm、Siemens、Sony、Toshiba、Toyota、Uber和Western Digital。其他资源开始使用OpenChain在线自我认证使用OpenChain一致性计划的公司关于OpenChain项目OpenChain项目通过使开源许可证合规性更简单、更一致、建立了对开源的信任。OpenChain规范定义了每个质量合规计划必须满足的核心要求。OpenChain课程为开源流程和解决方案提供了教育基础,同时满足了OpenChain规范的关键要求。OpenChain一致性允许组织显示他们对这些要求的遵守情况。结果是,对于软件供应链的参与者来说,开源许可证合规性变得更加可预测、可理解和有效。KubeCon + CloudNativeCon和Open Source Summit大会日期:会议日程通告日期:2019 年 4 月 10 日会议活动举办日期:2019 年 6 月 24 至 26 日KubeCon + CloudNativeCon和Open Source Summit赞助方案KubeCon + CloudNativeCon和Open Source Summit多元化奖学金现正接受申请KubeCon + CloudNativeCon和Open Source Summit即将首次合体落地中国KubeCon + CloudNativeCon和Open Source Summit购票窗口,立即购票!

March 5, 2019 · 1 min · jiezi

5G美洲白皮书:5G开源的现状(pdf)

(2019年2月)这份5G美洲白皮书概述了5G架构,重点介绍了基于3GPP Release 15定义的5G系统架构的开源原则的应用。本文旨在呼吁5G社区的运营商、解决方案供应商和开发商,参与适用于5G的现有开源工作,或在“基础设施”和“管理和控制”等领域启动新的工作,这是5G生态系统可能受益最多的地方。社区参与对于帮助实现项目的关键支持,以避免一次性解决方案非常重要。5G开源的现状白皮书由Sprint的联合负责人Lyle Bertz和Mavenir的Bejoy Pankajakshan以及参与本报告开发的5G美洲理事会成员公司的代表撰写。点击下载白皮书。KubeCon + CloudNativeCon和Open Source Summit大会日期:会议日程通告日期:2019 年 4 月 10 日会议活动举办日期:2019 年 6 月 24 至 26 日KubeCon + CloudNativeCon和Open Source Summit赞助方案KubeCon + CloudNativeCon和Open Source Summit多元化奖学金现正接受申请KubeCon + CloudNativeCon和Open Source Summit即将首次合体落地中国KubeCon + CloudNativeCon和Open Source Summit购票窗口,立即购票!

March 5, 2019 · 1 min · jiezi

CNCF多元化奖学金系列:一次学习和成长的机会

CNCF为开发者和学生提供多元化奖学金,以参加KubeCon + CloudNativeCon North America 2018。在这篇文章中,Surbhi Aggarwal分享了她作为KubeCon第一次参加者的经历以及她从活动中获得的巨大技术优势。任何有兴趣申请CNCF多元化奖学金,以参加于5月20日至23日在巴塞罗那的KubeCon + CloudNativeCon Europe 2019的人士,可在此提交申请,申请截止日期为3月11日;任何有兴趣参加于6月24-26日在上海的KubeCon + CloudNativeCon China 2019的人士,可在此提交申请,申请截止日期为4月15日。作者:Cvent的统计分析师Surbhi Aggarwal最近,我有机会参加2018年12月11日至13日,在华盛顿州西雅图华盛顿州会议中心举办的KubeCon + CloudNativeCon北美2018。该活动由CNCF组织,这是一个致力于推动云原生计算发展的非营利机构。我非常感谢Linux基金会,Wendi West为我提供了参与此次活动的机会,并感谢PranavJain向我介绍了KubeCon,这次经历极大地促进了我的知识、成长和观点。它让我有机会向专家学习,并体验Kubernetes的大量使用案例。KubeCon是我的第一次云原生会议,也是在7021英里外的国外。也就是说,我充满渴望和热情,最大限度地获益。经过25个多小时的旅行后,我到达了西雅图,在西雅图机场第一眼就看到了KubeCon的海报,它让我感到KubeCon的规模并留下印象。在第一天,我参加了Liz Rice、Michelle Noorali、Aparna Sinha和来自云原生世界的一些知名人士的主题演讲。看到大多数主题演讲由女性提供是非常令人惊讶和激励。大厅里满是大约8000人,感觉华盛顿州会议中心是当时世界上最具知识性的游乐场。在此之前,我不知道云原生社区有多强大和Kubernetes的增长速度如此之快。当Liz Rice分享数字突显KubeCon在互联网上的趋势,甚至超过了Seahawk和曼联时,我对成为整个活动的一部分充满了狂喜。从很多讲者那里了解Kubernetes的力量,使我非常积极地学习,并在我的日常工作中开始使用它。在主题演讲之后,我参加了一些有关机器学习主题的有趣且内容丰富的分论坛。我感兴趣的是在ML驱动应用程序中Kubernetes的用法,以及在初学者级别部署ML模型时它如何有用。这就是为什么我参加的大多数论坛围绕着ML和AI的主题,并且属于初级/中级水平。我参加的每次演讲都向我介绍了一种使用Kubernetes的新技术,这种技术可以与我围绕ML的工作联系起来。我参加来自IBM的AnimeshSingh和Tommy Li的“使用KNative构建机器学习模型服务和管道”,他们解释了Knative,这是Google、Pivotal和其他公司的开源项目。他们解释了Knative如何帮助构建自动化和事件驱动的AI管道,从而在流程的每个阶段启用触发器。这一天行程紧密,有更多的会议、演讲、网络和我正在接触的新话题。Google aronchick的“机器学习即代码:Kubernetes与Kubeflow”是我最爱的。我过去曾使用过TensorFlow,但本身并不了解KubeFlow,这次演讲帮助我了解Kubeflow的可用性,以及它如何让每个人都轻松地在Kubernetes上开发、部署和管理便携式分布式ML。演讲之后,我对Kubeflow非常感兴趣,我已经开始从Katacoda学习。事先就确信Kubernetes获得广泛采用,但在Red Hat的SophieWatson的“数据科学家为什么爱Kubernetes”的演讲中,我更详细地了解了它的用例。在第一天结束前,我去了主题演讲和mesosphere的IceCubeCon音乐会,这是有史以来最好的会议派对。我非常仔细地看IceCube,得到了一些非常酷的小礼物,而且不要忘记“没有像KubeCon派对的派对因为KubeCon派对不会停止”。第二天,我参加了Liz Rice、Jason McGee的主题演讲。在主题演讲之后,我参加了一些分论坛,在那里我了解了“贝莱德如何自动化研究工作流程”。Mathew Magaldi和VaibhavPage谈到他们如何使用Kubernetes和Jupyter Notebook API来自动化研究环境,并在贝莱德扩展数据科学工作流程。我非常喜欢的另一个话题是ChrisDutra的“使用Prometheus和ML作预测性应用程序扩展”,他是Schireson数据科学咨询和工程公司的站点可靠性工程总监。他的演讲使我明白他是如何开发出一种将数据科学流程转移到生产的方法。我有机会在多元午餐会上遇到一些不可思议的人,我喜欢Heptio的KrisNova的活力,她的想法非常简洁,她的一切都启发着我,我喜欢她在传达她的想法的同时,所拥有的细节水平和清晰度。在午餐桌上,我们有7位不同背景的女性。我们讨论过许多热门话题。我们围绕各种主题对话,包括工作空间的挑战、与薪酬相关的最佳谈判实践。我们进一步讨论了我们首次参与技术、Kubernetes背后的动机以及我们对会议的主要关注。对我来说,体验每个人是否愿意以任何可能的方式互相帮助是如此迷人。我在桌子上结识了很多朋友,RiaBhatia、CatherineShen、MaryaryStyles。最后,我参加了在Space Needle and Chihuly Gardens举办的所有与会者派对,这是当天的亮点。感谢KubeCon举办的盛大派对,这对我来说是一次超现实的体验,我好像在硅谷电视系列中扮演一个角色,在这个城市最好的景点举办派对。我有机会参观太空针的顶部,我的眼睛仍然可以看到令人惊叹的景色。我可以告诉你,KubeCon不仅每年都会变得更大,而且每天都会变得更大。在主题演讲结束后的会议的最后一天,我大部分时间都在赞助商摊位上。我没有看到这个级别的活动,有近200个赞助商。摊位不亚于一个小孩的糖果店。我见到了来自不同公司的很多人,并了解他们如何利用Kubernetes。从Datadog、Influxdata、New Relic、Iguazio团队等学习关于他们涉及Kubernetes和CNCF其他项目是非常有趣的。此外,令人惊讶的是,赞助商中出现了Nordstrom、WeWork等公司。这些公司对我来说是完全不同的业务,对我而言与技术无关。在与他们交谈之后,我意识到这些公司在技术方面有多大,以及他们如何使用Kubernetes。这清楚地给出了Kubernetes巨大的例子。了解不同的公司让我增长见识,我也非常喜欢收集一些非常酷的小礼物。感谢所有赞助商,即使是小礼物也是如此创新。我也在抽奖嘉年华上试过我的运气,几乎每个赞助商摊位上都有引人注目的赠品,但那天运气似乎太好。在会议到达其最后的主题演讲时,它令人舍不得,但我的每一次体验,在很大程度上让我充满了希望和积极。最后,我在Pike啤酒厂AWS举办的派对上向KubeCon North American 2018干杯告别。总的来说,KubeCon对我来说是一次非常棒的体验。在此次会议之前,我无法自信地谈论Kubernetes或其他云原生项目。在这里,我发现了几个可能对我的工作有帮助的新软件项目。回到印度,在与朋友、工作网络和不同社区成员分享我的经验的同时,我可以看到人们对学习云原生项目真正感兴趣。KubeCon让我接触到无限的机会,导致我的个人和职业发展。整体体验是一个很好的启发,我很高兴将这些想法付诸实践。我期待着KubeCon Barcelona'19。谢谢2018年KubeCon + CloudNativeCon北美!KubeCon + CloudNativeCon和Open Source Summit大会日期:会议日程通告日期:2019 年 4 月 10 日会议活动举办日期:2019 年 6 月 24 至 26 日KubeCon + CloudNativeCon和Open Source Summit赞助方案KubeCon + CloudNativeCon和Open Source Summit多元化奖学金现正接受申请KubeCon + CloudNativeCon和Open Source Summit即将首次合体落地中国KubeCon + CloudNativeCon和Open Source Summit购票窗口,立即购票! ...

March 5, 2019 · 1 min · jiezi

LF Networking and Orchestration白皮书 - 协调2.0:开源和标准如何促进整个IT的协作

随着跨越电信、电缆、企业、云和研究界的网络运营商重新定义网络架构,网络行业正处于一个重要的转折点。广泛采用的新技术需要数年时间才能成功,并且需要在生产网络技术的人和使用网络技术的人之间进行密切合作。传统上,标准制定组织(standards development organizations,SDO)在提供讨论和论坛,以及系统地标准化和验证新技术的完善流程方面发挥了关键作用。在软件驱动的世界中,在没有更多迭代方法的情况下,标准化复杂参考架构和软件平台是不可行的。因此,行业越来越多地转向开源社区,以获得实施专业知识和反馈。本白皮书概述了关键概念,并邀请SDO、开源项目和行业团体之间进行前所未有的合作。他们每个都在建立可永续生态系统中发挥着至关重要的作用,而生态系统是成功的关键。加入我们开创协作与融合的新纪元,重塑网络的未来。点击下载白皮书。KubeCon + CloudNativeCon和Open Source Summit大会日期:会议日程通告日期:2019 年 4 月 10 日会议活动举办日期:2019 年 6 月 24 至 26 日KubeCon + CloudNativeCon和Open Source Summit赞助方案KubeCon + CloudNativeCon和Open Source Summit多元化奖学金现正接受申请KubeCon + CloudNativeCon和Open Source Summit即将首次合体落地中国KubeCon + CloudNativeCon和Open Source Summit购票窗口,立即购票!

March 4, 2019 · 1 min · jiezi

Project EVE促进针对边缘计算的云原生方法

作者:Eric BrownProject EVE是新成立的LF Edge的一部分,它提供了一个基于云原生的虚拟化引擎,用于为工业边缘计算机开发和部署容器。上周由Linux基金会宣布的用于开源边缘计算的LF Edge伞式组织包括两个新项目:Samsung Home Edge和Project EVE。我们对三星的家庭自动化项目了解不多,但我们发现了更多关于基于Zededa边缘虚拟化技术的Project EVE。上周,我们与Zededa联合创始人Roman Shaposhnik就Project EVE交谈,该项目提供了一个基于云原生的虚拟化引擎,用于开发和部署工业边缘计算机的容器(见下文)。LF Edge旨在建立“开放、可互操作的边缘计算框架,独立于硬件、芯片、云或操作系统”。它围绕Linux基金会的电信导向Akraino边缘堆栈以及EdgeX Foundry构建。EdgeX Foundry是一个工业级物联网中间件项目。与谷歌(谷歌云物联网边缘)、亚马逊(AWS IoT)、微软(Azure Sphere)以及最近的百度(开放边缘)等新兴的云端到边缘平台一样,LF Edge设想了一个世界,物联网网关和边缘设备上运行的软件,是从云端向下发展,而不是从传统的嵌入式平台开始。Linux基金会亦支持许多“基础”嵌入式项目,如Yocto项目和Iotivity,但是对于LF Edge,它已经朝着以云为中心的范例迈出了实质性的一步。云原生方法给嵌入式系统的优势包括更简单的软件开发,特别是在需要多个应用程序时,以及通过虚拟化,定期更新的容器应用程序提高安全性。云原生边缘计算还应该能够在边缘更有效地部署基于云的分析,同时减少昂贵、高延迟的云通信。上面列出的四大云运营商(除了百度)目前都不是LF Edge的成员,这对该组织构成了挑战。然而,已经有很多公司上市,包括Arm、AT&T、百度、戴尔EMC、爱立信、HPE、华为、IBM、英特尔、诺基亚解决方案、高通、Radisys、红帽、三星、Seagate和WindRiver(参阅LF Edge公布完整名单)。随着开发者从自上而下,和自下而上的角度处理边缘计算问题,通常对相反领域的知识有限,第一步是就术语达成一致。早在六月,Linux基金会就推出了Open Glossary of Edge Computing ,一个开放式边缘计算词汇表项目来解决这个问题。现在,作为LF Edge的一部分,Open Glossary的努力“旨在提供与边缘计算领域相关的简明术语集合。”在LF Edge项目的公告中没有提到Linux,所有这些都提出了边缘计算的开源、操作系统中立的方法。然而,毫无疑问,Linux将成为这里的推动力。Project EVE旨在成为边缘计算的AndroidProject EVE正在开发一种“开放、中立和标准化的架构,统一了在整个企业边缘开发和编排云原生应用程序的方法。”Linux基金会表示。Project EVE基于Santa Clara创业公司Zededa的专有Edge Virtualization X(EVx)引擎的开源EVE(边缘虚拟化引擎)版本构建,旨在使用Docker容器和其他开源云原生软件,如Kubernetes,重新构建嵌入式系统。云原生边缘计算的“简单、标准化的编排”将使开发者能够“安全地将云应用程序扩展到边缘设备,而无需专门的工程绑定到特定的硬件平台。”该项目说。今年早些时候,Zededa加入了EdgeX Foundry项目,其技术同样针对工业领域。但是,Project EVE主要涉及更高的应用程序级别而不是中间件。该项目的边缘软件的云原生方法也将它连接到另一个LF项目:CNCF(云原生计算基金会)。除了轻量级虚拟化引擎外,Project EVE还提供零信任安全框架。在与Linux.com的对话中,Zededa联合创始人Roman Shaposhnik建议将“嵌入式”一词交给较低级别的基于MCU的简单IoT设备,这些设备无法运行Linux。“To learn embedded you have to go back in time, which is no longer cutting it.”Shaposhnik说。“我们有数百万可以驱动边缘计算的云原生软件开发者。如果你熟悉云原生,那么在开发边缘原生应用程序时应该没有问题。”如果Shaposhnik对传统的、基于嵌入式开发持批评态度,由于其复杂性和缺乏安全性,他也对专有的云端到边缘解决方案不屑一顾。“很明显,构建孤岛式端到端集成云应用程序并不是真正的方向。”他说,并提到供应商锁定的危险以及缺乏互操作性和隐私。Shaposhnik表示,为了实现边缘计算的目标,我们需要的是一种可以与任何云一起使用的标准化开源边缘虚拟化方法。他说,Project EVE可以实现这一目标,它是与Android相当的边缘计算。Shaposhnik表示,“今天的边缘市场是移动设备在21世纪初期所处的位置”,指的是Palm、BlackBerry和Windows Mobile等早期移动操作系统创造了专有孤岛的时代。iPhone通过应用程序和其他高级功能改变了这种模式,但更为开放的Android确实让移动世界陷入了超速状态。Shaposhnik表示,“Project EVE在边缘在做Android在移动设备方面做的事。”他补充说。该项目的标准化边缘虚拟化技术相当于Android软件包管理和Dalvik VM for Java的合并。“作为移动开发者,你不会考虑使用什么驱动程序。同样,我们的技术可以保护开发者免受硬件复杂性的影响。”Project EVE基于Zededa的EVx边缘虚拟化引擎,该引擎目前运行在Advantech、Lanner、SuperMicro和Scalys等合作伙伴的边缘硬件上。Zededa的客户大多是需要及时分析的大型工业或能源公司,这些公司越来越需要多种应用。“我们有客户希望优化他们的风力涡轮机,并需要预测性维护和振动分析。”Shaposhnik说。“有六家机器学习和人工智能公司可以提供帮助,但他们提供产品的唯一方法就是给他们一个新盒子,这会增加成本和复杂性。”典型的边缘计算机可能只需要少数几个不同的应用程序,而不是典型智能手机上的数百个应用程序。然而,如果没有虚拟化容器等应用程序管理解决方案,就没有简单的方法来托管它们。使用嵌入式容器技术提供应用程序的其他开源云端到边缘解决方案,包括Balena(以前的Resin.io)的Balena IoT车队管理解决方案,以及Canonical的容器式Ubuntu Core发行版。目前,重点是将EVx的开源版本推向市场。Project EVE计划在第二季度发布1.0版本的EVE以及用于开发EVE边缘容器的SDK。应用程序商店平台将在今年晚些时候推出。更多信息可以在这篇Zededa博客文章中找到。了解有关LF Edge的更多信息:https://www.lfedge.org/KubeCon + CloudNativeCon和Open Source Summit大会日期:会议日程通告日期:2019 年 4 月 10 日会议活动举办日期:2019 年 6 月 24 至 26 日KubeCon + CloudNativeCon和Open Source Summit赞助方案KubeCon + CloudNativeCon和Open Source Summit多元化奖学金现正接受申请KubeCon + CloudNativeCon和Open Source Summit即将首次合体落地中国KubeCon + CloudNativeCon和Open Source Summit购票窗口,立即购票! ...

March 4, 2019 · 1 min · jiezi

电信业已走向开源

LF Networking通过创建一个伞形项目,成为电信行业的催化剂,各种参与者可以通过该项目贡献,并丰富所涉及的技术。电信业是第四次工业革命的核心。无论是连接的物联网设备,还是移动娱乐,现代经济都在互联网上运行。但是,网络的支柱一直在传统技术上运行。一些电信公司已有数百年的历史,它们拥有庞大的基础设施,需要进行现代化改造。好消息是,这个行业已经处于新兴技术的前沿。AT&T、Verizon、中国移动、DTK等公司已采用开源技术,以便更快地进入未来。LF Networking是这次转型的核心。“2018年是非常棒的一年。”Linux基金会Networking总经理Arpit Joshipura在去年秋天在温哥华举行的开源峰会上发言。“我们已经看到一家拥有140年历史的电信行业,从专有和传统技术转向使用LF Networking的开源技术。”现在LF Networking拥有超过100名成员,占这些电信运营商全球用户的约70%。这些成员积极参与LF Networking的软件开发。他们在现有项目上合作,将自己的内部代码贡献给基金会,并将其作为开源发布。例如,AT&T将自己的虚拟网络以ONAP项目贡献给了Linux基金会。该项目现在被其他公司用于生产,AT&T作为回报,受益于竞争对手为改进代码库所做的工作。“在开源社区中,已经创造了价值超过5亿美元的软件创新。”Joshipura说。“我们现在可以有把握地说,电信行业将使用基于Linux Foundation的开源来构建他们的下一代网络。电信转型对于电信行业的这种转变而言,令人难以置信的是,与开发者推动变革的其他行业不同,这里的最高领导层一直主张改变。LF Networking成为一个催化剂,通过创建一个伞形项目来帮助该行业。在该项目下,各种参与者可以收集、贡献和丰富所涉及的技术。LF Networking目前的主要焦点是在生产环境中看到越来越多的这些技术。“但我们的下一个目标是了解网络如何实现我们所谓的跨项目协作、跨行业协作、跨社群协作。区块链如何影响电信公司,电信公司如何能够与Kubernetes一起使用云计算等等。”Joshipura说。网络社区最有前途的领域之一是边缘计算,正如最近创建的新LF Edge伞式项目所示。这个领域有很多创新 - 5G、自动驾驶等等。“我们的重点是弄清楚这些项目是如何结合在一起并进行协作的,这样我们的最终用户成员才能获得更多价值。”他说。Linux Foundation拥有广泛的项目,其中许多项目都是单独构建代码。Joshipura希望这些项目能够密切合作。“我们有VNF(虚拟网络功能)的概念。我们如何让他们成为云原生的?我们创建了一个名为CNF(云原生网络功能)的项目,但我们需要与ONAP社区、网络社区和Kubernetes社区合作,以解决网络社区面临的一些问题。”他说。凭借目前的发展势头和社区支持,LF Networking有望引领潮流。KubeCon + CloudNativeCon和Open Source Summit大会日期:会议日程通告日期:2019 年 4 月 10 日会议活动举办日期:2019 年 6 月 24 至 26 日KubeCon + CloudNativeCon和Open Source Summit赞助方案KubeCon + CloudNativeCon和Open Source Summit多元化奖学金现正接受申请KubeCon + CloudNativeCon和Open Source Summit即将首次合体落地中国KubeCon + CloudNativeCon和Open Source Summit购票窗口,立即购票!

March 4, 2019 · 1 min · jiezi

奥斯卡金像奖学院科学技术奖行业标准项目OpenColorIO加入ASWF

作者:eolin由Sony Pictures Imageworks开发开源色彩管理解决方案成为第二个Academy Software Foundation项目加利福尼亚州洛杉矶,2019年2月8日 - ASWF(Academy Software Foundation)是Linux基金会在电影和媒体行业开源软件开发的中立论坛,今天宣布OpenColorIO(OCIO)已被批准为基金会的第二个托管项目。OCIO最初由Sony Pictures Imageworks开发,是获得学院科学和技术奖(Academy Scientific and Technical Award)的色彩管理解决方案,用于在视觉效果和动画制作期间,跨多个内容创建应用程序建立和显示一致的图像。“OpenColorIO是电影行业的基础开源项目之一,它已成为整个视觉效果(VFX)和动画社区的重要资源。”Linux基金会ASWF执行董事David Morin说。“业内许多开发者已经为OpenColorIO做出了贡献,我们希望他们能够更轻松地做到这一点。”OCIO是动画和视觉特效制作的基本工具,已被用于数十部故事片,包括Spider-Man™:Into the Spider-Verse、Spider-Man™:Homecoming、Hotel Transylvania 3、Ghostbusters、Alice in Wonderland、Cloudy with a Chance of Meatballs、Surf’s Up和Watchmen。“OpenColorIO一直是整个视觉特效/动画社区的资源,有许多外部贡献和提交。”Sony Pictures Imageworks软件开发副总裁Michael Ford表示。“我们希望将OpenColorIO贡献给依赖它的社区,而ASWF则非常适合。每天使用它的开发者和公司将指导项目路线图,从新版本2.0的功能和发布节奏开始。”基于2003年开始的开发,OCIO可以在多种图形应用程序中,包括合成器、图像回放工具、渲染器和颜色分级中以一致的方式处理颜色变换和图像显示。它与ACES(Academy Color Encoding System)兼容,并在Katana、Mari、Nuke和Silhouette FX等商业应用程序中得到原生支持。Spider-Man™:Into the Spider-Verse使用到OpenColorIOASWF(Academy Software Foundation,学院软件基金会)于2018年8月由美国电影艺术与科学学院和Linux基金会推出,为开源软件开发者提供了一个中立的论坛,以便共享资源,并在图像创建、视觉效果、动画和声音方面进行协作。该基金会也是OpenVDB的所在地,OpenVDB是由梦工厂动画公司开发,是获得学术科学和技术奖的行业标准,用于创建更详细和逼真的体积图像。ASWF将通过技术指导委员会的监督来维护和进一步发展该项目。有兴趣了解更多信息,或为OpenColorIO做出贡献的开发者,可以注册加入邮件列表:ocio-dev@googlegroups.com或加入Slack频道 https://opencolorio.slack.com。KubeCon + CloudNativeCon和Open Source Summit大会日期:会议日程通告日期:2019 年 4 月 10 日会议活动举办日期:2019 年 6 月 24 至 26 日KubeCon + CloudNativeCon和Open Source Summit赞助方案KubeCon + CloudNativeCon和Open Source Summit多元化奖学金现正接受申请KubeCon + CloudNativeCon和Open Source Summit即将首次合体落地中国KubeCon + CloudNativeCon和Open Source Summit购票窗口,立即购票! ...

March 4, 2019 · 1 min · jiezi

使用OperatorHub.io自动化群集上的操作

作者:Diane Mueller,红帽云平台社区发展总监开发者和Kubernetes管理员面临的重要挑战之一,是缺乏快速查找在Kubernetes提供运营就绪的公共服务的能力。通常情况下,存在特定服务的Operator - 这种模式在2016年推出并获得了动力 - 对于Kubernetes服务的运营就绪是一个很好的信号。但是,迄今为止还没有Operator注册表来简化发现此类服务。为了帮助应对这一挑战,今天Red Hat与AWS、Google Cloud和Microsoft合作推出OperatorHub.io。OperatorHub.io使开发者和Kubernetes管理员能够查找和安装策划好的、Operator支持的服务,其中包括基础文档、社区或供应商的主动维护、基本测试以及Kubernetes优化生命周期管理的打包。目前在OperatorHub.io中的Operator只是开始。我们邀请Kubernetes社区加入我们,通过在OperatorHub.io上开发、打包和发布Operator,为Operator建立一个充满活力的社区。OperatorHub.io提供什么?OperatorHub.io旨在满足Kubernetes开发者和用户的需求。对于前者,它提供了通用的注册表,他们可以在其中发布他们的Operator以及描述、相关的详细信息,如版本、镜像、代码仓库,并打包准备方便安装。他们也可以对已发布的Operator发布更新版本。用户可以在一个中心位置发现和下载Operator,该Operator的内容已根据前面提到的标准进行筛选并扫描已知漏洞。此外,开发者可以使用他们引入的CustomResources的说明性示例,指导其Operator的用户,与应用程序进行交互。Operator是什么?Operator最初由CoreOS于2016年推出,并已被Red Hat和Kubernetes社区用作打包、部署和管理Kubernetes原生应用程序的方法。Kubernetes原生应用程序是一个部署在Kubernetes上的应用程序,使用Kubernetes API和众所周知的工具进行管理,如kubectl。Operator实现为自定义控制器,用于监视某些Kubernetes资源的显示、修改或删除。这些通常是Operator“拥有”的CustomResourceDefinition。在这些对象的spec属性中,用户声明应用程序或操作的所需状态。Operator的协调循环将选择这些,并执行所需的操作以实现所需的状态。例如,可以通过创建EtcdCluster类型的新资源,来表达创建高可用性etcd集群的意图:apiVersion: “etcd.database.coreos.com/v1beta2"kind: “EtcdCluster"metadata: name: “my-etcd-cluster"spec: size: 3 version: “3.3.12"这样,EtcdOperator将负责创建运行版本v3.3.12的3节点etcd集群。类似地,可以定义类型为EtcdBackup的对象,以表示创建etcd数据库一致备份到S3存储桶的意图。如何创建和运行Operator?一种入门方法是使用Operator框架,这是一个开源工具包,提供SDK、生命周期管理、计量和监视功能。它使开发者能够构建、测试和打包Operator。Operator可以用几种编程和自动化语言实现,包括Go、Helm和Ansible,这三种语言都直接由SDK支持。如果你有兴趣创建自己的Operator,我们建议你查看Operator框架以开始使用。Operator的功能范围各不相同,从基本功能到应用程序的特定操作逻辑,以及备份、恢复或调整等高级方案的自动化。除了基本安装之外,高级Operator可以更加无缝地处理升级并自动应对故障。目前,OperatorHub.io上的Operator来自不同成熟度范围,但我们预计它们会随着时间而持续成熟。虽然不需要使用SDK实现OperatorHub.io上的Operator,但它们是打包给通过Operator Lifecycle Manager(OLM)进行部署。格式主要由称为ClusterServiceVersion的YAML清单组成。它提供有关Operator拥有或要求的CustomResourceDefinitions的信息、所需的RBAC定义、存储图像的位置等。此文件通常附带定义Operator自己的CRD的其他YAML文件。OLM在用户请求安装Operator以提供依赖性解析和自动化时处理此信息。OperatorHub.io上的Operator列表是什么意思?要列出,Operator必须成功显示群集生命周期功能,打包为CSV并通过OLM维护,以及为其预期用户提供可接受的文档。目前在OperatorHub.io上列出的Operator的一些示例包括:Amazon Web Services Operator、Couchbase Autonomous Operator、CrunchyData’s PostgreSQL、etcd Operator、Jaeger Operator for Kubernetes、Kubernetes Federation Operator、MongoDB Enterprise Operator、Percona MySQL Operator、PlanetScale’s Vitess Operator、Prometheus Operator和Redis Operator。想要将你的Operator添加到OperatorHub.io?跟着这些步骤如果你有现有的Operator,请遵循贡献指南使用社区Operator仓库的分支。每个贡献包含CSV、所有CustomResourceDefinitions、访问控制规则以及安装和运行Operator所需的容器映像的资料,其功能描述和支持的Kubernetes版本等其他信息。EtcdOperator可以作为完整的示例,包括Operator的多个版本。在你自己的集群上测试Operator之后,将PR提交到社区存储库,其中包含此目录结构的所有YAML文件。可以以相同的方式发布Operator的后续版本。刚开始这将是手动审查,但往后会自动化。由维护者合并之后,它将显示在OperatorHub.io上,以及其文档和方便的安装方法。想了解更多?参加即将举行的Kubernetes Operator框架实践研讨会:3月7日在Pasadena的ScaleX举行,以及3月11日在Santa Clara的OpenShift Commons Gathering on Operating举行听听Daniel Messer和Diane Mueller关于“Operator现况”的OpenShift Commons简报加入社区Kubernetes-Operator Slack Channel和Operator框架Google Group的在线对话最后,阅读如何将你的Operator添加到OperatorHub.io:https://operatorhub.io/contri…KubeCon + CloudNativeCon和Open Source Summit大会日期:会议日程通告日期:2019 年 4 月 10 日会议活动举办日期:2019 年 6 月 24 至 26 日KubeCon + CloudNativeCon和Open Source Summit赞助方案KubeCon + CloudNativeCon和Open Source Summit多元化奖学金现正接受申请KubeCon + CloudNativeCon和Open Source Summit即将首次合体落地中国KubeCon + CloudNativeCon和Open Source Summit购票窗口,立即购票! ...

March 4, 2019 · 1 min · jiezi

Linux基金会启动LF Edge,为Edge建立统一的开源框架

旧金山,2019年1月24日 - 通过开源实现大规模创新的非营利组织Linux基金会今天宣布推出LF Edge,这是一个伞形组织,旨在建立一个独立于硬件、芯片、云的边缘计算的开放可互操作的框架或操作系统。LF Edge最初由五个项目组成,支持非传统视频和连接事物领域的新兴边缘应用,这些应用需要更低的延迟、更快的处理和移动性。LF Edge包括Akraino Edge Stack、EdgeX Foundry和Edge Computing of Edge Computing,以前是Linux基金会的独立项目。该计划还包括由三星电子提供的新项目,该项目将创建通过智能家居设备收集的实时数据的中心,以及ZEDEDA的另一个项目,该项目正在贡献一种新的中立标准边缘架构。“LF Edge的市场机遇涵盖了跨越多个边缘和领域的复杂环境中的工业、企业和消费者用例。我们对启动时获得支持水平感到非常兴奋,有60个全球组织作为创始成员和新的项目贡献。“Linux基金会总经理Arpit Joshipura说。“这种大规模的认可,加上现有的代码和项目贡献,如来自AT&T的Akraino和来自戴尔EMC的EdgeX Foundry,意味着LF Edge能够很好地改变边缘和物联网应用程序的开发。”通过形成一个能够带来最佳电信、云和企业(代表位置、延迟和移动性差异)的软件堆栈,LF Edge将有助于确保更加协调,以加速在2020年之前规模超过200亿的快速增长的边缘设备中的部署。为了使更广泛的物联网取得成功,目前分散的边缘市场需要能够共同努力,以识别和防范有问题的安全漏洞,并为行业的未来推进共同的、建设性的愿景。有关LF Edge项目的更多信息:Akraino Edge Stack正在创建一个开源软件堆栈,支持针对边缘计算系统和应用程序优化的高可用性云服务。EdgeX Foundry专注于为物联网边缘计算构建一个通用的开放框架。Home Edge Project,由三星电子提供的代码,是一个新项目,专注于驱动和实现在我们日常生活中的各种设备上运行的强大、可靠、智能的家庭边缘计算框架、平台和生态系统。Open Glossary of Edge Computing提供了与边缘计算领域相关的简明术语集。Project EVE(Edge Virtualization Engine)由ZEDEDA提供,将创建一个开放且中立的标准边缘体系结构,以适应复杂多样的内部和外部硬件、网络和应用程序选择。KubeCon + CloudNativeCon和Open Source Summit大会日期:会议日程通告日期:2019 年 4 月 10 日会议活动举办日期:2019 年 6 月 24 至 26 日KubeCon + CloudNativeCon和Open Source Summit赞助方案KubeCon + CloudNativeCon和Open Source Summit多元化奖学金现正接受申请KubeCon + CloudNativeCon和Open Source Summit即将首次合体落地中国KubeCon + CloudNativeCon和Open Source Summit购票窗口,立即购票!

March 1, 2019 · 1 min · jiezi

爱立信加入LF DL基金会作为高级会员

旧金山 - 2019年2月21日 - LF DL(LF Deep Learning Foundation,LF深度学习基金会),一个支持和永续人工智能(AI)、机器学习(ML)和深度学习(DL)开源创新的Linux基金会,宣布爱立信已成为最新的高级会员。爱立信是提供ICT解决方案的全球领导者,140年来一直走在通信技术的最前沿。爱立信已经开始通过Acumos项目为LF DL基金会做出贡献,与AT&T、Orange和更广泛的社区合作,通过AI和ML解决围绕5G和物联网的复杂问题。除了参与LF DL之外,爱立信还是LF Networking、DPDK、CNCF和LF Edge的成员。爱立信坚定地致力于这些面向未来的技术,为此,该公司已经建立了一个全球AI加速器,专注于解决当前和未来复杂的业务问题。加入LF DL基金会作为高级会员将为爱立信提供董事会、技术咨询委员会和外展委员会的席位。爱立信的会员资格使他们有机会在一个中立的空间做出贡献,并从中受益。随着我们的世界变得越来越紧密,所有参与者都在一起努力,在为客户解决实际问题的能力和工具方面取得快速进展。“今天和未来,随着我们加速5G商业化,对于以可信、可靠和安全的方式解决运营效率和实时决策挑战,人工智能和ML技术是必要的。”爱立信技术开发和执行主管Anita Frisell说。“协作在爱立信的DNA中,我们看到成为LF DL和开源社区的一部分具有真正的价值。我们期待在支持快速增长的开源人工智能和ML生态系统的发展和演变方面发挥积极作用,与行业领导者合作解决未来的复杂挑战。”“我们很高兴欢迎爱立信加入LF DL基金会。”LF DL基金会执行主任Ibrahim Haddad说。“我们正在创建一个可永续的开源人工智能生态系统,使用开放技术更容易创建人工智能产品和服务,并期待让爱立信在为这项工作做出贡献中发挥作用。”随着爱立信的加入,LF DL董事会包括:Amdocs、AT&T、百度、爱立信、华为、诺基亚、Tech Mahindra、腾讯和中兴通讯。LF DL基金会目前专注于各种项目,包括Acumos,一个平台和开源框架,可以轻松构建、共享和部署AI应用程序;Angel ML,一个灵活而强大的参数服务器,适用于大规模机器学习;EDL,一个弹性深度学习框架,旨在帮助云服务提供商使用深度学习框架构建集群云服务;Horovod,一个跨多个机器的分布式培训框架和Pyro,一个深度概率编程框架,有助于大规模探索AI模型。KubeCon + CloudNativeCon和Open Source Summit大会日期:会议日程通告日期:2019 年 4 月 10 日会议活动举办日期:2019 年 6 月 24 至 26 日KubeCon + CloudNativeCon和Open Source Summit赞助方案KubeCon + CloudNativeCon和Open Source Summit多元化奖学金现正接受申请KubeCon + CloudNativeCon和Open Source Summit即将首次合体落地中国KubeCon + CloudNativeCon和Open Source Summit购票窗口,立即购票!

March 1, 2019 · 1 min · jiezi

Pyro概率编程语言成为LF DL最新的项目

由Uber贡献,Pyro实现灵活和富有表现力的深度概率建模旧金山 - 2019年2月21日 - LF DL(LF Deep Learning Foundation,LF深度学习基金会),一个支持和永续人工智能(AI)、机器学习(ML)和深度学习(DL)开源创新的Linux基金会,宣布由Uber创办的Pyro项目是其最新的孵化项目。Pyro构建于PyTorch框架之上,是一个深度概率编程框架,有助于大规模探索AI模型,使深度学习模型开发和测试更快、更无缝。继去年12月的Horovod宣布之后,这是LF DL从Uber投票的第二个项目。除了哈佛大学、麻省理工学院、斯坦福大学、牛津大学、剑桥大学和The Broad Institute之外,Pyro还被西门子、IBM和Uber等大公司以及Noodle.AI等初创公司所采用。在Uber,Pyro解决了一系列问题,包括传感器融合、时间序列预测、广告活动优化和数据增强,以便深入了解图像。Pyro是第五个加入LF DL的项目,LF DL提供财务和智力资源、基础设施、营销、研究、创意服务和活动支持。这种丰富的中立环境促进了其项目的快速发展,包括Acumos AI、Angel项目、EDL项目和Horovod,鼓励其他贡献者以及开源社区的更广泛合作。“LF DL基金会很高兴欢迎Pyro加入我们的项目系列。今天宣布Uber对该项目的贡献使我们更接近建立人工智能、机器学习和深度学习的综合生态系统的目标。”LF DL执行董事Ibrahim Haddad说。“我们期待帮助社区发展,为Pyro做出贡献并进一步改进预测和其他能力。”Pyro的设计考虑了四个关键原则:通用:Pyro可以表示任何可计算的概率分布。可扩展:Pyro可以轻松扩展到大型数据集。最小化:Pyro是通过一小部分功能强大,可组合的抽象实现的。灵活:Pyro的目标是在你需要时实现自动化,在你需要时进行控制。“Pyro最初是在Uber AI Labs创建的,旨在帮助工业界和学术界的AI从业者更快、更无缝地进行深度概率编程。”Uber AI Labs负责人Zoubin Ghahramani说。“通过将Pyro纳入LF DL项目组合,我们希望为全球研究人员提供更多机会,并使深度学习和贝叶斯(Bayesian )建模更易于获取。”Pyro加入了现有的LF DL项目:Acumos,一个平台和开源框架,可以轻松构建、共享和部署AI应用程序;Angel ML,一个灵活而强大的参数服务器,适用于大规模机器学习;EDL,一个弹性深度学习框架,旨在帮助云服务提供商使用深度学习框架构建集群云服务;Horovod,一个跨多个机器的分布式培训框架。KubeCon + CloudNativeCon和Open Source Summit大会日期:会议日程通告日期:2019 年 4 月 10 日会议活动举办日期:2019 年 6 月 24 至 26 日KubeCon + CloudNativeCon和Open Source Summit赞助方案KubeCon + CloudNativeCon和Open Source Summit多元化奖学金现正接受申请KubeCon + CloudNativeCon和Open Source Summit即将首次合体落地中国KubeCon + CloudNativeCon和Open Source Summit购票窗口,立即购票!

March 1, 2019 · 1 min · jiezi

回顾 | 开源分布式中间件DBLE社区分享活动总结

1月24日,我们发布了为期30天的「如何获取全国 25场 MySQL 主题大会免费入场券」有奖社区分享活动,希望社区同学能够分享测试或生产环境中DBLE使用上的难题,困惑,创新或收获,分享与DBLE相关的社区故事。在经历春节在内的1个月中我们收到共了3位社区同学的4篇投稿,内容涉及DBLE的基础配置系列,DBLE的进阶使用系列,DBLE实际应用案例分析,每篇内容都是社区同学自己在实际应用中的总结与整理,相信这些内容除了与大家分享外更重要的是对产品的具体使用与认知上的沉淀。案例类 社区投稿 | DBLE和MyCat跨分片查询结果不一致案例分析投稿:杨严豪这篇文章的背景是社区同学刚好发现一条跨节点 join 查询在 DBLE、Mycat 的查询得到的结果不一致这样一个比较有意思的场景,于是准备测试环境进行分析比对并最终验证出了正确的数据来源。Tips:故障及案例分析思路可参考,同时提醒同学们重视数据的正确性基础知识类社区投稿 | DBLE rule.xml 配置解析投稿:余朝飞rule.xml 定义实际用到的拆分算法,熟悉各种拆分区算法的详细配置及其适用场景,方便我们在众多数据拆分场景选择并配置合适的拆分规则,同时这也是试用分库分表中间件的第一步。将表的详细拆分算法写在配置中,这是一种很"傻"的方式,但是这也是万不得已的一种选择,如果不通过配置文件的方式告诉中间件这些信息,那么中间件就无从得知底层具体的数据分布情况,也就达不到我们最终想要的目的了。社区投稿 | DBLE Server.xml 配置解析投稿:余朝飞本文简单介绍了Server.xml中的三个重要的配置段落,分别是DBLE的系统配置,用户配置以及黑白名单功能,针对用户配置则介绍了实际应用场景下的配置以及对应的DML权限配置,并详细介绍了DBLE黑白名单配置实践。Tips:以上两篇文章是社区同学在使用DBLE时对具体配置的理解,虽说是基础知识,但认知偏差或粗心大意很可能会为后期埋雷,建议详读,打牢基础。进阶使用类 社区投稿 | DBLE 自定义拆分算法 投稿:钟悦DBLE默认支持数十种数据拆分算法,基本能满足大部分的社区用户的使用需求;为了满足更广的业务场景,DBLE还支持更加灵活的自定义拆分算法;本文对面向有类似需求的DBLE开发者,提供了一个如何开发和部署自定义的拆分规则的一个指引。Tips:此文属于DBLE的进阶使用,为社区提供了DBLE如何开发和部署自定义的拆分规则的一个指引,非常适用于有类似需求的开发者。▽奖励回顾符合活动规则的投稿即可获得 100 RMB 京东E卡经 DBLE 团队审核优质文章可再额外获得:100 RMB 京东E卡在「爱可生开源社区」官微、官网及多个官方自媒体平台的推广展示全国 25场 MySQL主题大会免费入场券(仅限作者本人,不可转让)甲骨文官方MySQL技术交流大会姜承尧老师的IMG社区嘉年华叶金荣&吴炳锡老师的「3306」(包含但不仅限于以上社区活动)▽奖品展示1.「爱可生开源社区」推送的全国25场社区活动免费入场券请3位同学私信小编(wechat:mg116611)领取2.京东E卡(长这样子~)关于以上3位同学200元的京东E卡已发送,预计2个工作日即到;MySQL主题大会免费入场券请私信领取哦。后期我们会继续开放邀请分享,错过的同学请关注下期活动,稿子可以先攒起来~往期精选| 使用指南开源分布式中间件 DBLE 快速入门指南DBLE 自定义拆分算法DBLE Server.xml 配置解析DBLE Schema.xml 配置解析DBLE rule.xml 配置解析| 案例分析DBLE和Mycat跨分片查询结果不一致案例分析| 社区活动如何获取全国 25场 MySQL 主题大会免费入场券开源分布式中间件DBLE GitHub主页:https://github.com/actiontech…技术交流群:669663113开源数据传输中间件DTLEGitHub主页:https://github.com/actiontech…技术交流群:852990221

February 28, 2019 · 1 min · jiezi

开源分布式中间件 DBLE Server.xml 配置解析

DBLE是基于开源项目MyCat发展的企业级开源分布式中间件,适用于高并发及TB级海量数据处理场景;江湖人送外号 “MyCat Plus”;其简单稳定,持续维护,良好的社区环境和广大的群众基础使DBLE得到了社区的大力支持。DBLE项目介绍DBLE 官方项目: https://github.com/actiontech…如对源码有兴趣或者需要定制的功能的可以通过源码编译安装DBLE 下载地址:https://github.com/actiontech…DBLE 官方社区交流群:669663113DBLE的主要配置文件前两篇文章"DBLE Rule.xml 配置解析"、“DBLE Schema.xml 配置解析” 分别介绍DBLE中Rule.xml和Schema.xml的配置,今天继续介绍DBLE中Server.xml文件的配置,希望通过本篇的介绍,能对Server.xml文件的整体结构和内容有较为清晰的认识,方便大家能快速地入门。DBLE的配置文件都在conf目录里面,常用的几个配置文件如下:DBLE是一个JAVA分库分表中间件,既然是JAVA应用肯定会有JVM相关的配置,在DBLE中我们选择wrapper来作为管理DBLE进程的工具,配置文件在conf/wrapper.conf中,关于JVM的详细介绍在wrapp.conf。Server.xml配置解析Server.xml是DBLE的重要配置文件之一, 整体配置可以分为三段,<system>段,<user>段和<firewall>段,分别定义了DBLE软件的相关配置,用户配置和针对用户的权限控制功能。<dble:server> <system></system> <user></user> <firewall> <whitehost></whitehost> </firewall></dble:server>关于配置文件,如果在DBLE运行途中修改了配置,要想配置动态生效,只需要使用reload @@config命令,但是需要提醒的是reload @@config对Server.mxl中的<system>段中的内容无法生效,即如果修改了server.xml的system的配置,需要重新启动DBLE使其生效 ,更多关于DBLE管理命令请参考DBLE管理端命令同样以思维导图的方式归纳如下,其中个别参数配置只是粗略地将最重要的参数罗列出来,详细的参数还请参考官方文档。system配置DBLE通过Server.xml配置文件来定义相关管理行为,如监听端口,sql统计和控制连接行为等功能,DBLE除了支持分库分表功能外,还实现了类似MySQL的慢查询日志功能,并且支持使用pt-query-digest这样的工具进行慢查询SQL分析,极大地方便了DBA的SQL性能分析与问题SQL定位,以下简单列出了一些最重要的也是最基础的功能配置。用户配置用户配置在<user>段进行配置,因为在Schema.xml中允许多个schema的存在,因此业务用户也是允许多个用户同时存在,并且还可以给这些用户进行更小粒度的权限划分。以实际场景来举例,比如当前配置了两个逻辑库adv和motor,分别是汽车和广告业务,这两个库直接没有任何的关联,因此需要分别配置两个用户来使用这两个schema,一个是adv_user,另一个是motor_user,这两个用户登录上去DBLE能看到只有自己的schema,其他schema不可见,两个用户的配置如下:<user name=“adv_user”> <property name=“password”>adv_user</property> <property name=“schemas”>adv</property> <property name=“readOnly”>false</property> </user> <user name=“motor_user”> <property name=“password”>motor_user</property> <property name=“schemas”>motor</property> <property name=“readOnly”>false</property> </user>但是你可能会想万一这两个库之中的表有关联查询呢?对应场景是:我们需要有个用户叫adv_motor_user,它对motor和adv库都需要有权限访问,别担心,DBLE提供了对单个用户可以访问多个schema的配置方式,我们可以在schemas中指定多个schema,之间用逗号分隔,配置生效后使用这个用户就能登录看到两个schema。<user name=“adv_motor_user”> <property name=“password”>adv_motor_user</property> <property name=“schemas”>motor,adv</property> <!–多个逻辑库之间使用逗号分隔,这些逻辑库必须在Schema.xml中定义–> <property name=“readOnly”>false</property> <!–用来做只读用户–> </user>你可能还会想,这样的权限粒度依然不够细,我们需要更细粒度的权限控制,比如需要adv_user的权限仅限于增删改查权限,即需要将权限细分到dml语句, DBLE仍然提供这样的配置,我们可以继续增加privileges的配置,如下图示:<user name=“adv_user”> <property name=“password”>adv_user</property> <property name=“schemas”>adv</property> <property name=“readOnly”>false</property> <privileges check=“true”> <schema name=“adv” dml=“1110” > <!– 默认库中所有逻辑表的继承权限 –> <table name=“tb01” dml=“1111”></table> <!– 单独指定表权限 –> </schema> </privileges></user>privileges的check参数作用于是否对用户权限进行检查,默认是不检查,dml的权限是分别是INSERT UPDATE SELECT DELETE四种权限,用4个数字0或1的组合来表示是否开启, 1表示开启,0表示关闭。在上图中, adv_user对adv库中所有表的默认权限是'1110’, 即只有insert, update和select权限, 即如果没有像tb01那样详细地列出来的情况,所有表的权限继承权限1110,上面例子中,ta01作为特殊指定的逻辑表的权限,adv_user对该表的权限是1111。我们可以看到DBLE可以将权限划分到DML,并且是可以精确到某一逻辑表级别,对于只需要DML权限的场景是足够了,但是这种权限控制还是很粗略,比如如果想让adv_user除了有dml权限之外,还需要有drop table权限,这时候在用DBLE的privileges权限控制就显得无能为力了,因此可行的建议是:控制连接后端MySQL的用户的权限,将DBLE侧的权限完全放开,换句话说只严格限制schema.xml的writehost中配置的连接用户的权限。 使用后面要讲的黑名单提供的权限控制。黑白名单配置针对上的权限粒度略显粗略的限制(事实上大多数场景下DML的权限也已经足够了),DBLE提供黑白名单的功能,白名单就是只允许白名单的连接,而黑名单则是详细的针对已经通过白名单的连接的权限控制,黑名单更类似于SQL审计, 黑名单配置以firewall分隔开来, 典型配置如下:<firewall> <whitehost> <host host=“127.0.0.1” user=“adv_user”/> <host host=“127.0.0.1” user=“admin”/> </whitehost> <blacklist check=“true”><property name=“selelctAllow”>false</property> <!– 允许select–><property name=“insertAllow”>false</property> <!– 允许insert–><property name=“updateAllow”>false</property>…… </blacklist></firewall>对于黑白名单,需要注意:DBLE针对来源IP和用户名进行限制,放行白名单连接,对于不在白名单列之中的连接,统统拒绝而无法登陆。白名单中的来源ip,只能指定固定IP, 暂不支持MySQL “%‘‘类似的ip通配符。 想象一种场景,需要像MySQL一样指定一个ip范围能允许连接DBLE,这时只能一行一行增加允许ip了,此处略显笨拙。如果配置了黑名单,则再根据黑名单中的权限property来进一步限制白名单中的用户权限,例如是否允许查询,是否允许INSERT,是否允许UPDATE。可以看出DBLE中黑名单更像是对用户的权限审计,DBLE在黑名单中将上面只能粗糙地限制到DML权限的用户配置做了较多较细的扩展,这样权限粒度更小,从实际场景来说,这更符合生产需要,由此我们可以针对性地去掉一些危险的SQL。总结本文简单介绍了Server.xml中的三个重要的配置段落,分别是DBLE的系统配置,用户配置以及黑白名单功能,针对用户配置则介绍了实际应用场景下的配置以及对应的DML权限配置,并详细介绍了DBLE黑白名单配置实践。往期精选| 社区投稿DBLE和Mycat跨分片查询结果不一致案例分析DBLE 自定义拆分算法DBLE rule.xml 配置解析| 使用指南开源分布式中间件 DBLE 快速入门指南DBLE Schema.xml 配置解析| 社区活动如何获取全国 25场 MySQL 主题大会免费入场券 ...

February 20, 2019 · 1 min · jiezi

CNCF多元化奖学金系列:让微服务、Kubernetes和云原生连接

CNCF为开发者和学生提供多元化奖学金,以参加KubeCon + CloudNativeCon China 2018。在这篇文章中,华裔血统的Emmelyn Wang分享了有价值的会议收获等首次访问中国的多元化奖学金经历。任何有兴趣申请CNCF多元化奖学金,以参加于5月20日至23日在巴塞罗那的KubeCon + CloudNativeCon Europe 2019的人士,可在此提交申请,申请截止日期为3月11日;任何有兴趣参加于6月24-26日在上海的KubeCon + CloudNativeCon China 2019的人士,可在此提交申请,申请截止日期为4月15日。作者:Axway首席服务架构师兼API策略师Emmelyn Wang我在德克萨斯州工作,很幸运能够在Hoopy.io的DevRelCon伦敦的API the Docs发表演讲之后,参加在中国举办的首届KubeCon + CloudNativeCon会议。在KubeCon + CloudNativeCon之前,我…对于从何处开始感到不知所措,对于开源软件项目做出贡献感到胆怯。加入了一个技术规范的核心团队(与OAS相关的AsyncAPI),以了解更多关于作为具有特定API和微服务知识和经验的技术作家怎样做贡献。在KubeCon + CloudNativeCon之后,我…感谢我一生中第一次来的中国,作为华裔人士和CNCF多元化奖学金获得者。对继续为开源软件社区做出贡献感到自信。由于我在活动中的经验、会见项目维护者包括Brad Topol博士、项目贡献者,并阅读我收到的O’Reilly书籍,在企业中部署Kubernetes,我感动更了解CNCF文档冲刺(sprint)的知识。我的三大宝贵会议收获是…参加KubeCon + CloudNativeCon向我展示了微服务以及原生和混合云架构如何做企业级扩展。让贡献可方便接通是异步接触世界各地开发者的关键。我赞赏像这个会议这样能够邀请和提供新贡献者参与的基础。我对容器、云原生和开源协作的全局视图现已完成。会议体验让我看到了来自中国的公司以及他们正在做的惊人事情 - 阿里巴巴、华为、腾讯、Rancher、才云、Daocloud、京东等等。这部分对我来说一直是个缺失,因为我只在北美工作 - 了解亚太地区如何建设和贡献。很高兴听到有关Harbor https://goharbor.io/ 的发布,这是在中国成立的第一个CNCF项目 https://github.com/goharbor/h… 在会议期间进入孵化阶段。通过这次活动,我还遇到了我的同事 - David Wang,Axway首席服务架构师 - 他在新加坡工作。我向他询问了体验:“这是我第一次加入KubeCon + CloudNativeCon。对我来说,这次活动是了解不同公司如何使用Kubernetes和Istio等开源项目,以及在不同云和本地环境中实施Kubernetes和Istio的最佳实践的好机会。从我的角度来看,他们在迁移到Kubernetes时学到和分享的经验也非常有帮助。更重要的是,我注意到Kubernetes和Istio正在成为容器编排和微服务的实际标准。作为API架构师,如果我们希望在参与与客户或潜在客户的讨论时更有信心,我们需要了解Kubernetes和Istio的工作方式以及基础技术。对容器和微服务技术的充分理解将成为API项目成功的关键因素之一,无论它们是在本地还是云。”特别感谢CNCF多元化奖学金委员会选择我。我将继续分享我的故事,并鼓励技术沟通者、软件开发者和架构师为开源项目做出贡献。例如,我可以与世界各地的WWCode Women Who Code、Write the Docs、API the Docs和Developer Conferences等团体分享具体的说明和想法。这里是我的第一个KubeCon + CloudNativeCon中国之旅的简短照片库。欢迎随时通过Medium或Twitter与我联系!KubeCon + CloudNativeCon中国论坛提案征集(CFP)2月22日截止KubeCon + CloudNativeCon 论坛让用户、开发人员、从业人员汇聚一堂,面对面进行交流合作。与会人员有 Kubernetes、Prometheus 及其他云原生计算基金会 (CNCF) 主办项目的领导,和我们一同探讨云原生生态系统发展方向。Open Source Summit中国提案征集(CFP)2月22日截止在Open Source Summit中国,与会者将共同合作及共享信息,了解最新和最有趣的开源技术,包括Linux、IoT、区块链、AI、网络等;并获得如何在开源社区中导向和引领的信息。大会日期:提案征集截止日期:太平洋标准时间 2 月 22 日,星期五,晚上 11:59提案征集通知日期:2019 年 4 月 8 日会议日程通告日期:2019 年 4 月 10 日会议活动举办日期:2019 年 6 月 24 至 26 日提醒:这是一场社区会议。因此,让我们尽量避开公然推销产品和/或供应商销售宣传。KubeCon + CloudNativeCon和Open Source Summit赞助方案出炉KubeCon + CloudNativeCon和Open Source Summit多元化奖学金现正接受申请KubeCon + CloudNativeCon和Open Source Summit即将首次合体落地中国 ...

February 15, 2019 · 1 min · jiezi

KubeCon + CloudNativeCon北美2018年会议透明度报告:一项破纪录的CNCF活动

KubeCon + CloudNativeCon北美2018年取得了巨大的成功,创纪录的注册、出席、赞助和共同举办的活动。在8,000名与会者中,73%是第一次使用KubeCon-ers,突出了对CNCF和云原生技术的巨大增长和新兴趣。KubeCon + CloudNativeCon北美2018年会议透明度报告。关键要点参加人数比去年在奥斯汀的KubeCon活动增加了90%为期三天的会议提供了318场会议,包括专题、闪电讲座、BoF、教程和维护者会议。共有1,824家公司参加,其中包括196家CNCF成员公司与会者的反馈非常积极,总体平均评分为4.35/5参加此次活动的前两个原因是人际网络(34%)和参加专题会议(36%)该活动由11%的女性组成,比2017年奥斯汀的比例上升1.5%,而40%的主题发言人是女性,14%的专题会议由女性领导来自66个不同国家的与会者,CNCF与Aspen Mesh、MongoDB、Twistlock、Two Sigma和VMware提供的30万美元的多元化奖学金资金使144名申请人获得旅程和/或会议注册补偿近100名媒体和分析师参加了此次活动,比2017年奥斯汀增加了72%KubeCon变得更大更大!KubeCon + CloudNativeCon北美2018年12月10日至13日在西雅图举行,是有史以来规模最大的KubeCon。该活动非常受欢迎,不仅售罄了门票,8,000名与会者,而且候补名单超过了另外1,000名。由于现场直播,1,580人无法亲身到场参加也能观赏主题演讲。与会者表示对所有CNCF项目感兴趣,其中Kubernetes(72%),Prometheus(42%),Helm(32%)和Envoy(28%)领先。女性在KubeCon闪耀KubeCon + CloudNativeCon北美2018年是我们社区中女性的盛会!女性出席率比上一年增长了1.5%,并且有大量女性担任主题演讲和专题会议发言人。事实上,40%的主题演讲是由女性提供的。在活动期间,与会者有机会参加促进多元化的活动,由Comcast赞助的EmpowHER晚会吸引了200多名参与者。越来越长的最终用户名单随着云原生技术越来越多地被企业采用,最终用户在KubeCon + CloudNativeCon北美2018年比比皆是!参与者的接受率约为之前的2倍,与会者有机会听到实施云原生技术的最终用户公司的深刻见解,包括BlackRock、Fairfax Media、T-Mobile、USA Today、Intuit等等!同场活动许多不同公司在KubeCon + CloudNativeCon北美2018期间,共举办了26场共同举办的活动。其中三项活动 - Envoycon、Observability Practitioners Summit和Kubernetes Contributor Summit - 由CNCF提出,并很早售罄!记者和分析师在说什么来自我们成员公司的三十多个新闻公告产生了许多来自媒体和分析师的富有洞察力和引人注目的文章。以下是一些亮点:“Kubernetes变得无聊,这很好。”“Kubernetes正在发展。”“企业的采用正在增长。”“无服务器、服务网格和DevOps占主导地位。”“CNCF不是为了引发眩光事件,而是为了帮助我们作为一个社区进行协调,确保我们有适当的治理,更难以将特权交给一些随意的家伙,这一点很重要,因为越来越多的公司依赖开源技术。”记下2019年的日期!KubeCon + CloudNativeCon Europe 2019将于5月20日至23日在巴塞罗那举行,注册现已开放。KubeCon + CloudNativeCon + Open Source Summit中国将于6月24日至26日举行。注册现已开放,提案征集(CFP)将于2月22日截止。最后,我们将于11月18日至21日在阳光明媚的圣地亚哥举办KubeCon + CloudNativeCon北美。希望能在那里见到你!KubeCon + CloudNativeCon中国论坛提案征集(CFP)2月22日截止KubeCon + CloudNativeCon 论坛让用户、开发人员、从业人员汇聚一堂,面对面进行交流合作。与会人员有 Kubernetes、Prometheus 及其他云原生计算基金会 (CNCF) 主办项目的领导,和我们一同探讨云原生生态系统发展方向。中国开源峰会提案征集(CFP)2月22日截止在中国开源峰会上,与会者将共同合作及共享信息,了解最新和最有趣的开源技术,包括Linux、IoT、区块链、AI、网络等;并获得如何在开源社区中导向和引领的信息。大会日期:提案征集截止日期:太平洋标准时间 2 月 22 日,星期五,晚上 11:59提案征集通知日期:2019 年 4 月 8 日会议日程通告日期:2019 年 4 月 10 日会议活动举办日期:2019 年 6 月 24 至 26 日提醒:这是一场社区会议。因此,让我们尽量避开公然推销产品和/或供应商销售宣传。KubeCon + CloudNativeCon + Open Source Summit赞助方案出炉KubeCon + CloudNativeCon + Open Source Summit多元化奖学金现正接受申请KubeCon + CloudNativeCon + Open Source Summit即将首次合体落地中国 ...

February 13, 2019 · 1 min · jiezi

LogParser v0.8.0 发布:一个用于定期增量式解析 Scrapy 爬虫日志的 Python 库

GitHub 开源my8100 / logparser安装通过 pip:pip install logparser通过 git:git clone https://github.com/my8100/logparser.gitcd logparserpython setup.py install使用方法作为 service 运行请先确保当前主机已经安装和启动 Scrapyd通过命令 logparser 启动 LogParser访问 http://127.0.0.1:6800/logs/stats.json (假设 Scrapyd 运行于端口 6800)访问 http://127.0.0.1:6800/logs/projectname/spidername/jobid.json 以获取某个爬虫任务的日志分析详情配合 ScrapydWeb 实现爬虫进度可视化详见 my8100 / scrapydweb在 Python 代码中使用In [1]: from logparser import parseIn [2]: log = “““2018-10-23 18:28:34 [scrapy.utils.log] INFO: Scrapy 1.5.0 started (bot: demo) …: 2018-10-23 18:29:41 [scrapy.statscollectors] INFO: Dumping Scrapy stats: …: {‘downloader/exception_count’: 3, …: ‘downloader/exception_type_count/twisted.internet.error.TCPTimedOutError’: 3, …: ‘downloader/request_bytes’: 1336, …: ‘downloader/request_count’: 7, …: ‘downloader/request_method_count/GET’: 7, …: ‘downloader/response_bytes’: 1669, …: ‘downloader/response_count’: 4, …: ‘downloader/response_status_count/200’: 2, …: ‘downloader/response_status_count/302’: 1, …: ‘downloader/response_status_count/404’: 1, …: ‘dupefilter/filtered’: 1, …: ‘finish_reason’: ‘finished’, …: ‘finish_time’: datetime.datetime(2018, 10, 23, 10, 29, 41, 174719), …: ‘httperror/response_ignored_count’: 1, …: ‘httperror/response_ignored_status_count/404’: 1, …: ‘item_scraped_count’: 2, …: ’log_count/CRITICAL’: 5, …: ’log_count/DEBUG’: 14, …: ’log_count/ERROR’: 5, …: ’log_count/INFO’: 75, …: ’log_count/WARNING’: 3, …: ‘offsite/domains’: 1, …: ‘offsite/filtered’: 1, …: ‘request_depth_max’: 1, …: ‘response_received_count’: 3, …: ‘retry/count’: 2, …: ‘retry/max_reached’: 1, …: ‘retry/reason_count/twisted.internet.error.TCPTimedOutError’: 2, …: ‘scheduler/dequeued’: 7, …: ‘scheduler/dequeued/memory’: 7, …: ‘scheduler/enqueued’: 7, …: ‘scheduler/enqueued/memory’: 7, …: ‘start_time’: datetime.datetime(2018, 10, 23, 10, 28, 35, 70938)} …: 2018-10-23 18:29:42 [scrapy.core.engine] INFO: Spider closed (finished)“““In [3]: d = parse(log, headlines=1, taillines=1)In [4]: dOut[4]:OrderedDict([(‘head’, ‘2018-10-23 18:28:34 [scrapy.utils.log] INFO: Scrapy 1.5.0 started (bot: demo)’), (’tail’, ‘2018-10-23 18:29:42 [scrapy.core.engine] INFO: Spider closed (finished)’), (‘first_log_time’, ‘2018-10-23 18:28:34’), (’latest_log_time’, ‘2018-10-23 18:29:42’), (’elapsed’, ‘0:01:08’), (‘first_log_timestamp’, 1540290514), (’latest_log_timestamp’, 1540290582), (‘datas’, []), (‘pages’, 3), (‘items’, 2), (’latest_matches’, {‘resuming_crawl’: ‘’, ’latest_offsite’: ‘’, ’latest_duplicate’: ‘’, ’latest_crawl’: ‘’, ’latest_scrape’: ‘’, ’latest_item’: ‘’, ’latest_stat’: ‘’}), (’latest_crawl_timestamp’, 0), (’latest_scrape_timestamp’, 0), (’log_categories’, {‘critical_logs’: {‘count’: 5, ‘details’: []}, ’error_logs’: {‘count’: 5, ‘details’: []}, ‘warning_logs’: {‘count’: 3, ‘details’: []}, ‘redirect_logs’: {‘count’: 1, ‘details’: []}, ‘retry_logs’: {‘count’: 2, ‘details’: []}, ‘ignore_logs’: {‘count’: 1, ‘details’: []}}), (‘shutdown_reason’, ‘N/A’), (‘finish_reason’, ‘finished’), (’last_update_timestamp’, 1547559048), (’last_update_time’, ‘2019-01-15 21:30:48’)])In [5]: d[’elapsed’]Out[5]: ‘0:01:08’In [6]: d[‘pages’]Out[6]: 3In [7]: d[‘items’]Out[7]: 2In [8]: d[‘finish_reason’]Out[8]: ‘finished’ ...

January 24, 2019 · 2 min · jiezi

SSL加密与分布式IM系统-InChat1.1.3版本试用说明

本文首发于本博客 猫叔的博客,转载请申明出处2019年1月15号-InChat发布V1.1.3版本InChat一个轻量级、高效率的支持多端(应用与硬件Iot)的异步网络应用通讯框架v1.1.3版本使用说明v1.1.0-alpha版本使用说明InChatV1.1.2版本使用说明历史更新说明1.1.2版本捕获未注册链接断开异常,完善异常处理修改项目启动流程,仿Selector启动模式添加HTTP接口三个:发送通知消息,获取在线用户数,获取在线用户列表,暂不支持用户自定义HTTP接口(对于传统web API我们希望用户用自己的框架与流程)服务端发送通知接口改为enum处理1.1.3版本添加SSL加密,实现https与wss功能接受用户自定义证书(浏览器信任与不信任均可以访问)InChat配置可改为分布式或着单机版引入Redis,处理集群信息与消息互通如果有生产需要或者个别需求,发现BUG,欢迎留言,项目会更新新的API关于InChat的Maven依赖fastjson 》 1.2.53gson 》 2.8.5netty 》 4.1.32.Finalcommons-lang 》 3.5slf4j-log4j12 》 1.7.25jedis 》 3.0.1创建项目创建一个空的Maven项目,并引入InChatMaven包,(注意,请不要使用与本项目相同的包目录)。可能你只需要这样的Maven依赖即可<dependencies> <dependency> <groupId>com.github.UncleCatMySelf</groupId> <artifactId>InChat</artifactId> <version>1.1.3</version> </dependency></dependencies>对接InChat的接口与实现InChat启动参数可以自配置你只需要继承InChat的默认配置类InitNetty即可,如下public class MyInit extends InitNetty { /** 自定义启动监听端口 / @Override public int getWebport() { return 8090; } /* 是否启动分布式 true-启动、false-不启动 / @Override public Boolean getDistributed() { return true; } /* 是否启动加密功能 */ @Override public boolean isSsl() { return true; }}请注意,分布式为测试版,所以暂不支持SSL加密,如果启动分布式请关闭SSL加密功能如何自定义证书?#keytool -genkey -keysize 2048 -validity 365 -keyalg RSA -dnam e “CN=in-chat.cn” -keypass 123456 -storepass 123456 -keystore inchat.jkskeytool为JDK提供的生成证书工具keysize 2048 密钥长度2048位(这个长度的密钥目前可认为无法被暴力破解)validity 365 证书有效期365天keyalg RSA 使用RSA非对称加密算法dname “CN=gornix.com” 设置Common Name为gornix.com,这是我的域名keypass 654321 密钥的访问密码为123456storepass 123456 密钥库的访问密码为123456(其实这两个密码也可以设置一样,通常都设置一样,方便记)keystore gornix.jks 指定生成的密钥库文件为inchat.jks如果你试着自己创建了自己的证书,那么你需要去重写InitNetty中的几个信息:jksFile,jksStorePassword,jksCertificatePassword。你的jks文件只需要放到resources目录下就好,两个密码就是你之前设定相同的密码。本项目已经提供了默认的inchat.jks,请用户在Maven包中复制并粘贴到自己的项目中的resources文件夹中即可。获取聊天消息数据此接口与原先一样,仅修改了方法名public class DataBaseServiceImpl implements InChatToDataBaseService { @Override public Boolean writeMessage(InChatMessage message) { System.out.println(message.toString()); return true; }}登录校验与群聊消息此接口没有做过多的修改public class VerifyServiceImpl implements InChatVerifyService { @Override public boolean verifyToken(String token) { return true; } @Override public JSONArray getArrayByGroupId(String groupId) { JSONArray jsonArray = JSONArray.parseArray("["1111","2222","3333"]"); return jsonArray; }}服务端发送通知消息枚举类此接口具有Demo模板,用户需要继承InChat框架的FromServerService接口,同时该接口注释也有实例demo,我们需要实现一个自定义的枚举,你可以这样写:public enum FromServerServiceImpl implements FromServerService { //你可以自定义自己的系统消息,请以Integer-String的形式 TYPE1(1,"【系统通知】您的账号存在异常,请注意安全保密信息。"), TYPE2(2,"【系统通知】恭喜您连续登录超过5天,奖励5积分。"); private Integer code; private String message; FromServerServiceImpl(Integer code, String message){ this.code = code; this.message = message; } public Integer getCode() { return code; } //实现接口的方法,遍历本枚举的code,获取对应的消息,作为系统消息发送 public String findByCode(Object code) { Integer codes = (Integer)code; for (FromServerServiceImpl item: FromServerServiceImpl.values()) { if (item.code == codes){ return item.message; } } return null; } public void setCode(Integer code) { this.code = code; } public String getMessage() { return message; } public void setMessage(String message) { this.message = message; }}启动项目1.1.3版本的启动项目变得异常的简单,你只需要配置启动的配置工厂即可。但是如果我们启动了分布式的话,我们还需要配置redis信息。public class application { public static void main(String[] args) { //配置你的自定义配置 ConfigFactory.initNetty = new MyInit(); //配置校验类 ConfigFactory.inChatVerifyService = new VerifyServiceImpl(); //配置消息接收处理类 ConfigFactory.inChatToDataBaseService = new DataBaseServiceImpl(); //配置服务端系统消息枚举,这里的值无所谓 TYPE1或者TYPE2或者TYPEN均可以 ConfigFactory.fromServerService = FromServerServiceImpl.TYPE1; //配置分布式Redis地址,端口目前默认的,下一版可以支持修改。 ConfigFactory.RedisIP = “192.168.192.132”; //启动InChat InitServer.open(); }}项目效果启动成功DEBUG - -Dio.netty.threadLocalDirectBufferSize: 0DEBUG - -Dio.netty.maxThreadLocalCharBufferSize: 16384 INFO - 服务端启动成功【192.168.56.1:8090】 INFO - [RedisConfig.getJedis]:连接成功,测试连接PING->PONG如果你开通了分布式,那么你可以试着启动两个应用程序。DEBUG - -Dio.netty.threadLocalDirectBufferSize: 0DEBUG - -Dio.netty.maxThreadLocalCharBufferSize: 16384 INFO - 服务端启动成功【192.168.56.1:8070】 INFO - [RedisConfig.getJedis]:连接成功,测试连接PING->PONG读者可以到项目中使用原来的两个前端页面。分别登录两个用户在两个应用程序,并进行互相通信即可。启动分布式请关闭SSL,分布式为测试版,暂不支持SSL目前,分布式版本接通了点对点与群聊的功能,大家可以试试。下一版本会添加一个分布式的组件用来统一数据与接口功能。关于加密的,请提前让电脑认同信任证书关于分布式的操作效果关于HTTP接口的,目前与分布式无关原先的自我发送,点对点发送,群聊,异常处理,HTTP接口均与原来一样原先的接口说明可以看上一版本: InChatV1.1.2版本使用说明前端相关这里你可以来到InChat的Front-End-Testing文档夹中的chat.html。你可以直接使用,你进需要修改对应的对接IP即可。如果你开了SSL加密,你的IP开头记得改为:wss://192.168.1.121:8090/ws !!!前端可以看原来的版本: InChatV1.1.2版本使用说明关于数据库设计当前一版不会固定大家的数据库设计,大家可以自己自由设计,同时搭上自己的项目,构建一个附带IM的自项目。公众号:Java猫说现架构设计(码农)兼创业技术顾问,不羁平庸,热爱开源,杂谈程序人生与不定期干货。 ...

January 15, 2019 · 2 min · jiezi

美团开源Graver框架:用“雕刻”诠释iOS端UI界面的高效渲染

Graver 是一款高效的 UI 渲染框架,它以更低的资源消耗来构建十分流畅的 UI 界面。Graver 独创性的采用了基于绘制的视觉元素分解方式来构建界面,得益于此,该框架能让 UI 渲染过程变得更加简单、灵活。目前,该框架已经在美团 App 的外卖频道、独立外卖 App 核心业务场景的大多数业务中进行了应用,同时也得到美团外卖内部技术团队的认可和肯定。App 渲染性能优化是一个普遍存在的问题,为了惠及更多的前端开发同学,美团外卖 iOS 开发团队将其进行开源,Github 项目地址与使用文档详见:https://github.com/Meituan-Di… 。我们希望该框架能够应用到更广阔的业务场景。当然,我们也知道该框架尚有待完善之处,也希望能与更多技术同行一起交流、探讨、共建。前言我们为什么需要关注界面的渲染性能?App 使用体验主要包含产品功能、交互视觉、前端性能,而使用体验的好与坏,直接影响用户持续使用还是转而使用其他 App,所以我们非常关注 App 的渲染性能。而且在互联网产品流量竞争愈发激烈的大背景下,优质的使用体验可以为现有用户提供更好的服务,进而提高用户转化和留存,这也意味着创收、盈利。<center><font color=gray size = 2>图1 使用体验与转化、留存</font></center>背景美团外卖 App 从2013年成立至今,已经走过了五个春秋,在技术层面先后经历了快速验证、模块化、精细化和平台化四个阶段,产品形态上也日趋成熟。在此期间,我们构建并完善了监控、报警、容灾、备份等各项基础设施,Metrics 即是其中的性能监控系统。曾经一段时间,我们以外卖 App 首页商家卡片列表为例,通过 Metrics 性能监控系统发现其在 FPS、CPU、Memory 等方面的各项指标并不理想。于是,通过 Xcode 自带的 TimeProfile 等性能检测工具,然后结合代码分析等手段找到了现存性能瓶颈。与此同时,我们梳理其近半年的迭代版本需求发现,UI 往往需要根据不同场景甚至不同用户展示不同的内容。为了不断迎合用户的需求,快速应对市场变化,这种特征还会持续存在。然而,它会带来以下问题:视图层级愈加复杂、视图数量愈加众多,从版本长期迭代来看是潜在的性能瓶颈点。如何快速、高效支撑 UI 变化,同时保证不会二次引入性能瓶颈。<center><font color=gray size = 2>图2 影响渲染性能、研发效率的瓶颈点</font></center>Graver 介绍为了解决现存的性能瓶颈以及后续潜在的性能瓶颈,我们期望构建一套解决方案,该方案能在充分满足外卖业务特征的前提下,以标准化、一站式的方式解决 iOS 端 App 的渲染性能问题,并且对研发效率有一定提升, Graver(雕工)框架应运而生。因为 Graver 独创性地采用了全新的视觉元素分解思路,所以该框架使用起来十分灵活、简单。我们先来看一下 Graver 的主要特点:性能表现优异以外卖 App 首页商家列表为例,应用 Graver 之后5分位滚动帧率从满帧的<font color=red size = 2>84%</font>提升至<font color=red size = 2>96%</font>,50分位几乎满帧;CPU 占用率下降了近<font color=red size = 2>6个百分点</font>,有效提升了空闲 CPU 的资源利用率,降低了峰值 CPU 的占用率。如图3所示:<center><font color=gray size = 2>图3 优化前后技术指标对比</font></center>“一站式”异步化Graver 从文本计算、样式排版渲染、图片解码,再到绘制,实现了全程异步化,并且是线程安全的。使用 Graver 可以一站式获得全部性能优化点,可以让我们:不再担心散点式的“遇见一处改一处”的麻烦。不再担心离屏渲染等各种可能导致性能瓶颈的问题,以及令人头痛的解决办法。不再担心优化会有遗漏、优化不到位。不再担心未来变化可能带来的任何性能瓶颈。性能消耗的“边际成本”几乎为零Graver 渲染整个过程除画板视图外完全没有使用 UIKit 控件,最终产出的结果是一张位图(Bitmap),视图层级、数量大幅降低。以外卖 App 首页铂金展位视图为例,原有方案由58个控件、12层级拼接而成;而应用 Graver 后仅需1个视图、1级层级绘制而成。 伴随着需求迭代、视觉元素变化,性能消耗恒属常数级。如图4所示:<center><font color=gray size = 2>图4 外卖 App 铂金展位应用 Graver 前后对比</font></center>渲染速度快Graver 并发进行多个画板视图的渲染、显示工作。得益于图文混排技术的应用,达到了内存占用低,渲染速度快的效果。由于排版数据是不变的,所以内部会进行缓存、复用,这又进一步促进了整体渲染效率。Graver 既做到了高效渲染,又保证了低时延页面加载。<center><font color=gray size = 2>图5 渲染效率说明</font></center>以“少”胜“繁”Graver 重新抽象封装 CoreText、CoreGraphic 等系统基础能力,通过少量系统标准图形绘制接口即可实现复杂界面展示。基于位图(Bitmap)的轻量事件交互系统如上述所说,界面展示从传统的视图树转变为一张位图,而位图不能响应、区分内部具体位置的点击事件。Graver 提供了基于位图的轻量事件交互系统,可以准确识别点击位置发生在位图的哪一块“绘制单元”内。该“绘制单元”可以理解为与我们一贯使用的某个具体 UI 控件相对应的视觉展示。使用 Graver 为某一视觉展示添加事件如同使用系统 UIButton 添加事件一样简单。全新的视觉元素分解思路Graver 一改界面编程思路,与传统的通过控件“拼接”、“添加”,视图排列组合方式构建界面不同,它提供了灵活、便捷的接口让我们以“视觉所见”的方式构建界面。这一特点在下文Graver使用中详细阐述,正是因为该特点实现了研发效率的提升。Graver 使用Graver 引入了全新的视觉元素分解的思路。借助该思路可以实现通过一种对象来表达任一视觉元素、甚至是任一视觉元素的组合,从而消除界面布局的复杂性。我们先来回顾下传统界面的构建方式,以外卖 App 商家卡片其中一种样式为例,如图6所示:<center><font color=gray size = 2>图6 外卖 App 商家卡片</font></center>在实现商家卡片的界面样式时,通常会根据视觉上的识别、交互要求来建立界面展示与系统提供的 UI 控件间的映射关系。以标号②位置的样式为例,在考虑复用的情况下通常这部分会使用三个系统控件来完成,分别是左侧蓝底的“预订”使用 UILabel 控件、右侧的蓝色边框“2.26.21:30起送”使用 UILabel 控件、把左右两侧 UILabel 控件装起来的 UIView 控件;在确定好采用的 UI 控件之后,需要针对展示样式分门别类的设置各个控件的渲染属性来实现图示 UI 效果,渲染属性通常一部分预设,一部分根据业务数据的不同再进行二次设置;其次,设置各个控件的内容属性实现业务数据内容的展示,展示的内容一般是网络业务数据经逻辑处理、加工后的数据。如果涉及到点击事件,还需要添加手势或者更换成 UIButton 控件。接下来,需要根据视觉要求实现排版逻辑,以标号⑧、⑨为例,当标号⑧位置的数据没有的情况下,需要上提标号⑨位置的“美团专送”到图示标号⑧位置。诸如类似的排版逻辑随处可见。对于图示任一位置的展示内容都存在上述的循环思考、编写工作。随着界面元素的增加、变化,问题会变得更加复杂。传统的界面构建方式其实是在 UI控件的维度去分解视觉元素,具体是做以下四方面的编写工作:控件选择:根据展示内容、样式、交互要求确定采用哪种系统控件。布局信息:UI 控件的大小、位置,即 Frame。内容信息:UI 控件展示出来的业务数据,如标号①位置的“星巴克咖啡店”。渲染信息:UI 控件展示出来的效果,如字体、字号、透明度、边框、颜色等。最后,将各个控件以排列组合方式合成为一棵视图树。Graver 框架提供了以画板视图为基础,通过对更底层的 CoreText、CoreGraphic 框架封装,以更贴近“视觉所见”的角度定义了全新视觉元素分解、界面展示构建的过程。通常“视觉所见”可划分为两部分:静态展示、动态展示。静态展示包含图片、文本;动态展示包含视频、动画等。在视觉展示全部为静态内容的时候,一个 Cell 即是一个画布,除此以外没有任何 UI 控件;否则,可以按需灵活的进行画布拆分来满足动画、视频等需要。<center><font color=gray size = 2>图7 画板和传统视图树</font></center>以图6商家卡片中标号②、⑧为例,新实现方式的伪代码是这样的:WMMutableAttributedItem *item = [[WMMutableAttributedItem alloc] init];[[[[item appendImage:[[UIImage wmg_imageWithColor:“blue”] wmg_drawText:“预订”]] appendImage:[[UIImage wmg_imageWithColor:“clear” borderWidth:1 borderColor:“blue”] wmg_drawText:“2.26.21:30起送”] appendWhiteSpaceWithWidth:“width”]//总体宽度减去②和⑧的宽度总和剩余部分 apendText:“50分钟|2.5km”];上述实现方式即是把标号②、⑧部分作为一个整体来实现,任何单一系统控件都无法做到这一点。Graver 渲染原理<center><font color=gray size = 2>图8 Graver 工作时序</font></center>如图8所示,Graver 涉及多个队列间的交互,以外卖 App 商家列表为例,整体流程如下:主线程构建请求参数,创建请求任务并放入网络线程队列中,发起网络请求。网络线程向后端服务发起请求,获得对应的业务模型数据(如包含了店铺名称,商家头图,评分,配送时长,客单价,优惠活动等店铺属性的商家卡片列表)。网络线程创建包含业务模型数据(如商家卡片列表)的排版任务,提交到预排版线程处理,进入预排版流程。预排版队列取出排版任务,交由布局引擎计算 UI 布局,将业务模型解析成可被渲染引擎直接处理的,包含布局、层级、渲染信息的排版模型。解析结束后,通知主线程排版完成。主线程获取排版模型后,随即触发内容显示。根据相对屏幕位置及出现的先后顺序,创建包含将需要显示区域信息的绘制任务,放入异步绘制线程队列中,发起绘制流程。异步绘制线程队列取出绘制任务,进行图文绘制,最终输出一张包含了图文内容(如商家卡片)的图片。绘制任务结束后,通知主线程队绘制完成,主线程随后展示绘制区域。整体按照队列间串行、队列内并行的方式执行。业务应用Graver 在外卖内部发布之后,我们也将其推广到更多的业务线,并希望 Graver 能够成为对业务开展有重要保障的一项基础服务。经过半年多的内部试用,Graver 的可靠性、渲染性能、业务适应能力也受到外卖内部的肯定和认可。截止发稿时,Graver 已经基本覆盖了美团 App 的外卖频道、独立外卖 App 核心业务场景的大多数业务。下面列举 Graver 在外卖业务的部分应用案例:经验总结总结一下,对于界面渲染性能优化而言,要站在一个更高角度来思考问题的解决方案。横向上,从普适性角度解决性能瓶颈点,避免其他人遇到类似问题的重复工作;纵向上,从长远考虑问题做到防微杜渐,一次优化,长期受益。基于此,我们提出一站式、标准化的渲染性能解决方案。诚然,这会遇到很多难点。面对界面样式构建的问题,系统 UIKit 框架着实为我们提供了便利,然而有时候我们需要跳出固有思维,尝试建立一套全新界面构建、视觉元素分解的思路。参考资料前端感官性能的衡量和优化实践作者简介洋洋,美团高级工程师。2018年加入美团,目前负责【美团外卖】和【美团外卖频道】的 iOS 客户端首页业务,以及支撑首页业务的技术架构、工具和系统的开发和维护工作。招聘美团外卖长期招聘 Android、iOS、FE 高级/资深工程师和技术专家,Base 北京、上海、成都,欢迎有兴趣的同学投递简历到chenhang03#meituan.com。 ...

December 24, 2018 · 1 min · jiezi

开源博客|Theme-bmw:版本微声发布

Theme-BMW是一款基于HEXO开发的博客框架:提供了友链、关于、标签云等页面,支持数学公式渲染、文章目录、多级导航栏,自带评论系统和浏览统计插件,并且增加了文章分享、打赏、版权声明音乐播放等功能。这次的版本代号是“微声”:旨在号召每个人为自己发声!源码地址???????? 中文文档:https://godbmw.com/passages/2018-11-15-theme-bmw-docs-zh/???? Star On Github:https://github.com/dongyuanxin/theme-bmw在线演示???? 首页页面: https://godbmw.com/????️ 归档页面: https://godbmw.com/archives/???? 分类页面: https://godbmw.com/categories/????️ 标签页面: https://godbmw.com/tags/???? 友链页面: https://godbmw.com/friends/????️ 关于页面: https://godbmw.com/about/特性一览写文章 · 随心而动支持目录渲染/关闭支持多平台分享支持用户打赏支持图片幻灯片播放支持数学公式渲染支持您为不同文章自定义的音乐播放器多页面 · 一键启动支持二级导航栏自带友链页面自带关于页面自带标签云页面自带分类云页面支持自定义页面社交 · 不止你我自带评论系统自带文章统计插件版权 · 保护原创支持文章版权声明和相关信息自定义支持自定义页脚个人信息自定义 · 个性彰显支持自定义样式文件支持自定义脚本文件其它 · SEO | 极速 | …联系方式???? Email: yuanxin.me@gmail.com???? QQ: 2181111110???? 交流群:

December 6, 2018 · 1 min · jiezi

【1024】阿里开源项目汇总

程序员的语言是代码,程序员的交流工具就是开源软件。通过开源软件,程序员不仅贡献了改变世界的工具,还向同行展示了自己的作品,期望得到交流和反馈,进一步提高软件的功能和质量。开源已经成为程序员文化的一部分。作为软件大厂,阿里巴巴集团为开源社区贡献了大量软件,无偿提供包含了无数工程师智慧和汗水的海量代码。在今天这个 1024 程序员节的特殊日子,语雀为大家整理了近十年来阿里巴巴集团的开源软件,希望让大家感受程序员对世界的贡献。目录一、前端二、Java三、数据库四、系统五、教程一、前端设计语言 & 前端框架 Ant DesignAnt Design 是蚂蚁金服开发和正在使用的一套企业级的前端设计语言和基于 React 的前端框架实现。它的特性:企业级金融产品的交互语言和视觉体系;丰富实用的 React UI 组件;基于 React 的组件化开发模式;背靠 npm 生态圈;基于 webpack 的调试构建方案,支持 ES6。地址:https://github.com/ant-design/ant-design可视化语法库 <span data-type=“color” style=“color:rgba(0, 0, 0, 0.85)"><span data-type=“background” style=“background-color:rgb(248, 250, 254)">G2</span></span>[](https://antv.alipay.com/zh-cn...G2 是一套基于可视化编码的图形语法,以数据驱动,具有高度的易用性和扩展性,用户无需关注各种繁琐的实现细节,一条语句即可构建出各种各样的可交互的统计图表。</span></span>地址:https://github.com/antvis/g2可视化图表库 BizChartsBizCharts 是基于 G2 的 React 图表库,历经阿里两年打磨,覆盖数十个产品。地址:https://github.com/alibaba/BizChartsNode 应用框架 Egg[](https://raw.githubusercontent...egg 是为<span data-type=“color” style=“color:rgb(36, 41, 46)"><span data-type=“background” style=“background-color:rgb(255, 255, 255)">企业级框架和应用而生的 Web 框架,使用 Node.js。</span></span>地址:https://github.com/eggjs/egg基于 React 的前端框架 umiumi 是可插拔的企业级 React 框架,类似 Next.js。地址:https://github.com/umijs/umi通用渲染引擎 RaxRax 是阿里开源的一个通用的 JavaScript 库,主要有 React 兼容的 API 。 使用 React 的就应该已经知道如何使用 Rax。特性:快速:快速的虚拟 DOM;微型:min + gzip 之后仅 8.0kb;通用:跨浏览器、Weex 和 Node.js。地址:https://github.com/alibaba/rax跨平台移动开发工具 WeexWeex 是开源的跨平台移动开发工具,能够完美兼顾性能与动态性,让移动开发者通过简捷的前端语法写出Native级别的性能体验,并支持iOS、安卓、YunOS及Web等多端部署。地址:https://github.com/apache/incubator-weex/自动化测试解决方案 MacacaMacaca是一套完整的自动化测试解决方案,支持移动端和PC端,支持Native, Hybrid, H5 等多种应用类型,并且提供客户端工具和持续集成服务。地址:https://github.com/alibaba/macaca前端物料库 iceice 是前端的海量可复用物料库,配套桌面工具极速构建前端应用,大幅提升开发效率。地址:https://github.com/alibaba/iceHTML5 互动游戏引擎 HiloHilo 是阿里巴巴集团开发的一款HTML5跨终端游戏解决方案,ta可以帮助开发者快速创建 HTML5 游戏。地址:https://github.com/hiloteam/Hilo模块加载框架 SeaJSSea.JS 是一个遵循 CommonJS 规范的模块加载框架,可用来轻松愉悦地加载任意 JavaScript 模块。SeaJS 支持的标准模块遵循 Modules/Wrappings 规范的 define 形式,可运行于 Web 浏览器以及 node.JS 等环境中。地址:https://github.com/seajs/seajsJavaScript 模板引擎 Velocity.jsVelocity.js 是velocity模板语法的javascript实现。Velocity 是基于Java的模板引擎,广泛应用在阿里集 体各个子公司。Velocity模板适用于大量模板使用的场景,支持复杂的逻辑运算,包含 基本数据类型、变量赋值和函数等功能。Velocity.js 支持 Node.js 和浏览器环境。地址:https://github.com/shepherdwind/velocity.js非侵入式运行期 AOP 框架 DexposedDexposed 是阿里巴巴无线事业部第一个重量级 Andorid 开源软件,基于 ROOT 社区著名开源项目 Xposed 改造剥离了 ROOT 部分,演化为服务于所在应用自身的 AOP 框架。它支撑了阿里大部分 App 的在线分钟级客户端 bugfix 和线上调试能力。地址:https://github.com/alibaba/dexposed自动化测试解决方案 UI Recorder[](https://camo.githubuserconten…UI Recorder 是一款零成本的整体自动化测试解决方案,一次自测等于多次测试,测一个浏览器等于测多个浏览器!地址:https://github.com/alibaba/uirecorderAndroid 应用热修复工具 AndFixAndFix 是阿里巴巴开源的 Android 应用热修复工具,帮助 Anroid 开发者修复应用的线上问题。Andfix 是 “Android hot-fix” 的缩写。地址:https://github.com/alibaba/AndFix淘宝 React 框架 React Web[](https://cloud.githubuserconte…淘宝前端团队开源项目React Web,通过与React Native一致的API构建Web应用。地址:https://github.com/taobaofed/react-web基于 Node.js 的自动化持续集成 ReliableReliable 是分布式架构的持续集成系统,由Macaca 团队的成员开发。适用于集成构建、集成构建等场景。她是典型的主从结构,分为reliable-master 与 reliable-slave 两部分。地址:https://github.com/reliablejs/reliable-masterWeb 常用 UI 库 kissyissy 是淘宝一个开源的 JavaScript 库,包含的组件有:日历、图片放大镜、卡片切换、弹出窗口、输入建议等。地址:https://github.com/kissyteam/kissy模拟数据生成器 Mock.jsMock.js 是一款模拟数据生成器,旨在帮助前端攻城师独立于后端进行开发,帮助编写单元测试。提供了以下模拟功能:根据数据模板生成模拟数据,模拟 Ajax 请求,生成并返回模拟数据,基于 HTML 模板生成模拟数据。地址:https://github.com/nuysoft/MockReact 应用的服务器渲染框架 BeidouBeidou(北斗) 是 NodeJS & React 同构框架,基于Egg.js开发。地址:https://github.com/alibaba/beidou二、JavaJDBC 连接池、监控组件 DruidDruid是一个 JDBC 组件。监控数据库访问性能。提供了一个高效、功能强大、可扩展性好的数据库连接池。数据库密码加密。SQL执行日志。地址:https://github.com/alibaba/druidJava 的 JSON 处理器 fastjsonfastjson 是一个性能很好的 Java 语言实现的 JSON 解析器和生成器,来自阿里巴巴的工程师开发。主要特点:快速FAST (比其它任何基于Java的解析器和生成器更快,包括jackson);强大(支持普通JDK类包括任意Java Bean Class、Collection、Map、Date或enum);零依赖(没有依赖其它任何类库除了JDK)。地址:https://github.com/alibaba/fastjson服务框架 DubboDubbo 是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 spring 框架无缝集成。地址:https://github.com/alibaba/dubbo企业级流式计算引擎 JStorm[](https://camo.githubuserconten…JStorm 是参考 Apache Storm 实现的实时流式计算框架,在网络IO、线程模型、资源调度、可用性及稳定性上做了持续改进,已被越来越多企业使用。JStorm 可以看作是 storm 的 java 增强版本,除了内核用纯java实现外,还包括了thrift、python、facet ui。从架构上看,其本质是一个基于 zk 的分布式调度系统。地址:https://github.com/alibaba/jstormapns4japns4j 是 Apple Push Notification Service 的 Java 实现!地址:https://github.com/teaey/apns4j分布式数据层 TDDLTDDL 是一个基于集中式配置的 jdbc datasource实现,具有主备,读写分离,动态数据库配置等功能。地址:https://github.com/alibaba/tb_tddl轻量级分布式数据访问层 CobarClientCobar Client是一个轻量级分布式数据访问层(DAL)基于iBatis(已更名为MyBatis)和Spring框架实现。地址:https://github.com/alibaba/cobarclient淘宝定制 JVM:TaobaoJVMTaobaoJVM 基于 OpenJDK HotSpot VM,是国内第一个优化、定制且开源的服务器版Java虚拟机。目前已经在淘宝、天猫上线,全部替换了Oracle官方JVM版本,在性能,功能上都初步体现了它的价值。地址:http://jvm.taobao.orgJava 图片处理类库 SimpleImageSimpleImage是阿里巴巴的一个Java图片处理的类库,可以实现图片缩略、水印等处理。地址:https://github.com/alibaba/simpleimageredis 的 java 客户端 TedisTedis 是另一个 redis 的 java 客户端。Tedis 的目标是打造一个可在生产环境直接使用的高可用 Redis 解决方案。地址:https://github.com/justified/tedis三、数据库开源数据库 AliSQLAliSQL 是基于 MySQL 官方版本的一个分支,由阿里云数据库团队维护,目前也应用于阿里巴巴集团业务以及阿里云数据库服务。该版本在社区版的基础上做了大量的性能与功能的优化改进。尤其适合电商、云计算以及金融等行业环境。地址:https://github.com/alibaba/AliSQL分布式数据库 OceanBaseOceanBase是一个支持海量数据的高性能分布式数据库系统,实现了数千亿条记录、数百TB数据上的跨行跨表事务,由淘宝核心系统研发部、运维、DBA、广告、应用研发等部门共同完成。地址:https://github.com/alibaba/oceanbase分布式数据库同步系统 otterotter 基于数据库增量日志解析,准实时同步到本机房或异地机房的mysql/oracle数据库. 一个分布式数据库同步系统。地址:https://github.com/alibaba/otterOracle 数据迁移同步工具 yugongyugong 是阿里巴巴推出的去 Oracle 数据迁移同步工具(全量 + 增量,目标支持 MySQL/DRDS)。地址:https://github.com/alibaba/yugong分布式 SQL 引擎 LealoneLealone 为 HBase 提供一个分布式SQL引擎,尝试将BigTable(HBase)和 RDBMS (H2数据库) 结合的项目。地址:https://github.com/lealone/Lealone关系型数据的分布式处理系统 CobarCobar 是关系型数据的分布式处理系统,它可以在分布式的环境下像传统数据库一样为您提供海量数据服务。以下是快速启动场景:地址:https://github.com/alibaba/cobar分布式关系数据库 Alibaba WaspWasp 是类Google MegaStore & F1的分布式关系数据库。地址:https://github.com/alibaba/wasp四、系统分布式文件系统 FastDFSFastDFS 是一个开源的分布式文件系统,她对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。地址:https://github.com/happyfish100/fastdfs消息中间件 Apache RocketMQRocketMQ 是一款分布式、队列模型的消息中间件,具有以下特点:能够保证严格的消息顺序提供丰富的消息拉取模式高效的订阅者水平扩展能力实时的消息订阅机制亿级消息堆积能力地址:https://github.com/apache/rocketmq/分布式 key/value 存储系统 TairTair是一个Key/Value结构数据的解决方案,它默认支持基于内存和文件的两种存储方式,分别和我们通常所说的缓存和持久化存储对应。地址 https://github.com/alibaba/tair系统信息采集和监控工具 TsarTsar是淘宝的采集工具,主要用来收集服务器的系统信息(如cpu,io,mem,tcp等)以及应用数据(如squid haproxy nginx等),tsar支持实时查看和历史查看,方便了解应用和服务器的信息!地址:https://github.com/alibaba/tsar分布式消息中间件 Metamorphosis[](https://camo.githubuserconten…Metamorphosis (MetaQ) 是一个高性能、高可用、可扩展的分布式消息中间件,类似于LinkedIn的Kafka,具有消息存储顺序写、吞吐量大和支持本地和XA事务等特性,适用于大吞吐量、顺序消息、广播和日志数据传输等场景。地址:https://github.com/killme2008/MetamorphosisLinux 内核的阿里巴巴分支 Ali-KernelAlibaba Kernel起源于亚洲最大的电子商务网站——阿里巴巴。它基于 RHEL6 源代码,包含了阿里巴巴所需的一些更新和新功能。更多的信息和文档,请参阅http://kernel.taobao.org地址:https://github.com/alibaba/alikernel淘宝Web服务器 TengineTengine是由淘宝网发起的Web服务器项目。它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。Tengine的性能和稳定性已经在大型的网站如淘宝网,天猫商城等得到了很好的检验。它的最终目标是打造一个高效、稳定、安全、易用的Web平台。地址:https://github.com/alibaba/tengine分布式文件系统 TFSTFS(Taobao FileSystem)是一个高可扩展、高可用、高性能、面向互联网服务的分布式文件系统,其设计目标是支持海量的非结构化数据。地址:https://github.com/alibaba/tfs异步任务处理系统 TBScheduletbschedule 是一个简洁的分布式任务调度引擎,</span></span>目的是让一种批量任务或者不断变化的任务,能够被动态的分配到多个主机的JVM中,不同的线程组中并行执行。所有的任务能够被不重复,不遗漏的快速处理。地址:https://github.com/taobao/TBSchedule容器引擎 Pouch[](https://user-images.githubuse…Pouch 是一款轻量级的容器引擎,拥有快速高效、可移植性高、资源占用少等特性,主要帮助阿里更快的做到内部业务的交付,同时提高超大规模下数据中心的物理资源利用率。地址:https://github.com/alibaba/pouch在线分析查询系统 mdrillmdrill是一个分布式的在线分析查询系统,基于hadoop,lucene,solr,jstorm等开源系统作为实现,基于SQL的查询语法。 mdrill是一个能够对大量数据进行分布式处理的软件框架。mdrill是快速的高性能的,他的底层因使用了索引、列式存储、以及内存cache等技 术,使得数据扫描的速度大为增加。mdrill是分布式的,它以并行的方式工作,通过并行处理加快处理速度。地址:https://github.com/alibaba/mdrill五、教程七天学会NodeJS文档七天学会 NodeJS 是阿里巴巴国际站前端技术部编写的开源文档,用于学习 Node.js。地址:https://github.com/nqdeng/7-days-nodejsNginx开发从入门到精通nginx由于出色的性能,在世界范围内受到了越来越多人的关注,在淘宝内部它更是被广泛的使用,众多的开发以及运维同学都迫切的想要了解nginx模块的开发以及它的内部原理,但是国内却没有一本关于这方面的书,源于此我们决定自己来写一本。本书的作者为淘宝核心系统服务器平台组的成员,本书写作的思路是从模块开发逐渐过渡到nginx原理剖析。地址:https://github.com/taobao/nginx-book ...

October 23, 2018 · 2 min · jiezi