加入收藏 | 设为首页 | 会员中心 | 我要投稿 威海站长网 (https://www.0631zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 外闻 > 正文

开源Fn项目—Oracle下一代无服务器计算

发布时间:2018-11-01 16:48:55 所属栏目:外闻 来源:IT大咖说
导读:云开发开源策略 从2017年开始Oracle在云开发和开源方面逐渐加大了力度,17年9月份Oracle以铂金身份加入CNCF。 Oracle的开源策略主要从几个维度出发,第一是支持开源,所有在CNCF中列出的技术我们都是支持的。第二是云中立,开发者所开发的应用可以应用在任
副标题[/!--empirenews.page--]

 云开发开源策略

从2017年开始Oracle在云开发和开源方面逐渐加大了力度,17年9月份Oracle以铂金身份加入CNCF。 Oracle的开源策略主要从几个维度出发,第一是支持开源,所有在CNCF中列出的技术我们都是支持的。第二是云中立,开发者所开发的应用可以应用在任意的云平台上。第三是容器原生,Oracle未来所有的开发路线都将是在Docker和Kubernetes环境中。

Oracle Java新战略

在这样的一个大环境下,我们再回过头来看下Java。从17开始Oracle会将J2EE开放给Eclipse基金会,J2EE 8之后的所有技术标准和规范由Eclipse基金会进行制定,Oracle和其他厂商一样也是一个参与者。这样就给微服务开发带来了更多的敏捷性、灵活性、开放性、兼容性。

在微服务敏捷开发快速迭代的时代下,为了让Java更好的支撑未来的技术发展,Java 9 于17年9月21号发布。Java 9 中有个关键的项目——Jigsaw,它主要是在微服务方面增加了很多的敏捷开发支持。在Java 9 之后Java将进入一个快车道,我们会每隔6个月发布一个版本,也就是说之后的版本发布是在18年3月份和18年9月份。大家都知道Oracle有OpenJDK和OracleJDK,OpenJDK是OracleJDK的一部分,也就是开源出去的那部分JavaJDK。在某些方面OpenJDk仍然不满足企业级客户的要求,这主要是在安全性方面。因此我们准备之后慢慢的将OracleJDK开源出来,让OpenJDK 功能将和 OracleJDK 功能迈向一致。

容器原生云平台策略

在容器原生云平台方面Oracle的定位也是基于开源策略。大致有以下几个方向。首先是提供完整、集成、开发的容器原生云套件,容器平台选择的是Docker,容器的编排工具选择的是Kubernetes,在CI CD方面是Wercker,该套件有着持续集成、持续交付,编排、调度,管理、运维,分析等特性。第二个是社区驱动,云中立和开源。最后是提供差异化的服务质量和卓越运营,Oracle提供全面、透明的管理,同时和Oracle的IaaS服务进行无缝集成。

容器原生云平台架构

开源Fn项目—Oracle下一代无服务器计算

开源在企业上的应用和互联网公司的开源化方式还是有着一定差异。在这部分的解决方案中,Oracle的容器原生云平台架构和一般所理解的架构稍微有些不同,Oracle所理解的是API驱动。在所有Oracle的解决方案中都是API驱动的,云平台中提供的所有的服务也都是API。云平台底层的技术架构中采用了Docker、kubernetes、镜像仓库,在这些基础组件之上是微服务架构Server Mesh,同时还提供Serverless。使用这样架构的底层平台其实可以认为是容器原生,它可以支持客户端的任意语言,同时还确立了云中立。在性能优化以及安全性方面Oracle针对Java做了一些特殊的增强,可以看图中最右侧,主要是监控和诊断方面。

Oracle容器引擎

在整个平台上我们还对Docker和Kubernetes进行了包装,向外提供Oracle容器引擎。不同于直接安装Kubernetes,Oracle容器引擎可以打造强大的跨可用域分布式集群管理,它主要和Oracle的IaaS结合在一起。

Oracle的IaaS叫做裸金属服务器,你可以认为它是在某个城市的数据中心,每隔几十公里建一个AD,每个AD之间的传输速度是几百微秒,利用这样的服务就可以实现同城容灾。Oracle的解决方案提供了一键部署,Kubernetes可以实现跨AD域之间的集群, Oracle的环境其实是将Kubernetes环境、Docker环境和企业级的可用域结合在一起。

目前开源的技术有很多,到底什么样的技术才能成为将来的流行趋势?

我这里有两个观点,虽然不一定正确,但还是可以关注。第一是否被CNCF立项,没有的立项的可以关注但不一定参与,第二已经立项同时又有像微软、Google等大公司参与的,成功几率会更大。

开源Fn项目—Oracle下一代无服务器计算

上图展示的就是Oracle完整的容器原生云平台所包含的内容,有容器流水线、容器引擎、微服务以及Serverless和Java。

Fn项目介绍

Serverless是继Docker之后下一代将要爆发的热点。一般来说如果开发人员既要编写代码还要对服务器、存储、网络进行调度的话,运作起来还会非常困难。理想情况是开发人员只需要发布指令就能够接收到反馈,无需关心后端的网络、服务等。Serverless所实现的就是这种基于事件或触发的形式。

Serverless的理念就是给出input后马上接收到output,input可以是任何一种语言,重要的是能够不关心语言马上给出响应。Serverless运行的最佳环境是在云上,只有云上才能够更好的实现Serverless。

Function as a Serverless

Serverless的实现技术各不相同,有的公司采用的是Function as a Serverless(函数即服务)。它是以Paas为基础提供的一种更微型的云计算架构,代码的运行环境和计算能力都由云服务商提供。云服务商会动态管理机器资源的分配。

FaaS一般按应用运行实际产生的资源消耗来收费,也就是从API调用时开始计费,调用返回时结束。应用程序可以实现单纯的无服务器发布,也可以通过微服务的方式和传统部署结合起来。

所有的这种无服务计算的Serverless框架都是通过事件驱动,同时也是无状态,高可用的。执行时间相对来说比较短,性价比比较高。高度抽闲极大地减缓应用开发。

FaaS的市场现状

Iron.io最早提出Serverless,并实现多云平台任务队列(taskqueuing),使用Docker容器技术实现云部署和本地架构上相似的体验。

亚马逊(Amazon)在2014年的AWSre:Invent大会上宣布推出 AWS Lambda,是最早提供FaaS Runtime这类服务的商业供应商。一旦将代码上传至Lambda,该服务会处理基础设施的全部容量、规模伸缩、补丁 安装以及管理工作,从而为代码运行提供必要环境。

目前Iron.io的创始人以及整个Serverless研发团队都已经加入Oracle,成立了Oracle的Serverless项目组,该项目就是Fn项目,已于17年11月初正式开源。

Fn项目的开源目标是支持各种编程语言,目前主要还是Java和Go以及其他一些流行语言。

Fn项目主要有四大组件:Fn服务、Fn FDK’s开发套件、Fn负载均衡、Fn Flow。

(编辑:威海站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读