美国抗攻击服务器托管商分析无服务计算不需要服务器吗
那么到底什么是无服务计算呢?它是一种服务,程序员只需要编写相应的代码并且直接将代码当作一个独立的,功能化的微服务来部署即可。你可以很容易地搭建这些微服务来实施那些无服务的框架,并且通过策略来使其对支持的事件或者API调用进行响应。美国抗攻击服务器托管商分析无服务计算不需要服务器吗
一个很知名的无服务云计算例子是Amazon Web Service的Lambda服务。这个名字取自于函数程序设计使用的匿名函数lambda。在某些程序语言例如JavaScript或者Ruby中,一个函数可以在预先定义的变量范围内以及代码函数结束的时候执行。还有一些程序语言有实际的lambda operator或者编译器在运行时来动态创建函数对象(比如在其他代码执行的时候)。
那么有了无服务计算之后,真实的基础架构是如何存在其中的呢?基础架构还是存在的,只不过是在很多层的虚拟化之下。现在来说说软件定义计算吧,随着无服务计算的演变和进化,在应用程序代码和硬件之间可能会存在数百万行针对系统和平台定义的代码。这是一件好事情,证明摩尔定律还没有失效。
让我们来看一下建立自己的私有云,无服务环境我们需要哪些复杂的虚拟化组件吧:
1. 在最底层,当然我们是需要物理服务器的。但是在这里我们可能要改变一下对传统物理服务器的概念,而是想象成一个动态供给不同组件(处理核、硬盘、内存、接口)的资源池。
2. 然后我们会需要在这些物理服务器之上做一层虚拟化。一个hypervisor集群可以控制这些物理服务器并且从而提供一些永久的虚拟机。我们可能还会添加一些云提供服务和自动化的工具,就像OpenStack中的一些服务一样。
3. 在虚拟化,云的环境中我们要部署容器集群来提供容器平台服务,类似的软件有Docker,Kubernetes或者OpenShift。
4. 然后我们需要安装容器化无服务的计算平台来提供应用程序的lambda服务,类似于Platform9的Fission.io。
5. 最后,我们要创建和部署微服务应用程序,以让一些功能性的代码能运行在所有这些抽象层上。举个例子,一个微服务的功能可以用JavaScript编写并且定义为一个lambda服务。然后将它匹配到某些触发器或者API节点上。这样子当某些事件触发了这个lambda服务的时候,它就会在自己的容器内执行相应的代码。这个容器会运行在容器集群中,容器集群又会分布在多个运行在hypervisor集群的虚拟机中,而这些hypervisor又运行在不同的物理服务器上。
应用程序开发者可能只会看到并且只会和lambda服务接口打交道,因此他们可能会觉得那些看不见的资源都是无服务的。这种架构的确让基础架构在各个方面变得更像“云”。现在它可以动态地提供高度可伸缩的,有效的,按需供给的,弹性的,鲁棒的资源,并且很好地利用了密集型的商业资源。
IT现在都用它来干什么?
无服务对于IT来说又意味着什么呢?我们刚刚残忍地知道了,无服务计算会增加多一个需要管理的架构层。我们都还没有对生产环境中容器的出现和管理完全消化呢。你能想象将来你要管理成千上万虚拟机的情形吗?那么现在你想一下明天你需要管理10万个短暂的容器,以及可能是每天数百万的微服务操作吧。看到这么繁重的任务,IT可能会放弃并且让用户去使用公有云。不过对我来说,这虽然是一个很大的转变,但是同时也是一个很大的机会。IT部门会变成内部的服务提供商,而且无服务也是值得为之努力的新技术。IT可以利用这一项新的服务,将平时日常的基础架构运营的重心放到了为商业运作开发能帮助他们的新功能。