如何开发一个流畅的云计算架构?

简介:

如今的云计算应用程序是现代数据中心架构的一个直接扩展。基于专为移动应用程序设计的微小虚拟机(VM)而构建的新型架构可实现更小型的应用程序和更低的延迟。研究人员设想将这些微小VM应用于诸如打印服务器、动态主机配置协议、VoIP服务等服务。流畅的云计算架构需要重新思考VM瘦身、即时配置以及跨不同物理服务器的VM迁移等问题。

NEC的高级研究人员Felipe Manco在加州Santa Clara举办的USENIX HotCloud研讨会上介绍了其之前在超流畅云计算方面所做的工作。“传统的云计算基础设施被限制在数据中心和核心网络。在过去的几年中,运营商已在网络的不同位置部署着处理能力。这一基本思想让在更接近于客户或企业内部的更小型服务器上部署云计算服务成为了可能。”Manco说。

一个流畅云计算的要求

这个新的架构有四个基本属性:位置独立性、时间独立性、规模独立性以及硬件独立性。位置独立性意味着,可根据应用程序需求跨不同网络设计实现服务器部署的能力。

惠普实验室互联网与计算平台研究中心的首席架构师Mike Schlansker说,这个新架构为应用程序开发人员、电信企业以及客户提供了把应用程序部署在何处的权利。例如,在靠近客户的位置部署应用程序可减少延迟。这将使提供诸如VoIP电话这类要求低延迟的服务成为了可能。

时间独立性是指应具有短时间启动虚拟机的能力,具体时间从几毫秒到几小时各不相同。规模独立性需要开发管理工具以便于在一台单一服务器上运行成百上千的虚拟机。硬件独立性需要能够在网络边缘的较小型服务器上运行云计算应用程序。

考虑新的云计算应用程序

Manco相信,这个新式架构一定能够让各种现有应用程序变得更为高效,它可以让原本老旧的应用程序焕然一新。虚拟CDN可以按需提供,其现金节点可实现动态填充和取消。

这些微云服务还将适用于为客户的内部设备提供后端服务,以便于提高维护、降低成本、加快推出新服务。使用在小虚拟机上运行的微云服务将有助于隔离各个应用程序,从而解决安全性问题和满足性能需求。另一个用例则是提供个性化的边缘服务,例如家长控制电视服务、云计算存储、通知和去除广告等。

使用unikernel缩小虚拟机规模

这个新式架构的关键要求就是,每台虚拟机都应拥有一个非常小的资源以满足内存和处理方面的要求。这些服务还应针对平台进行量身定制,从而实现对数以千计的服务器进行按需配置和按需消除配置。

Manco表示,这种新式架构的最佳实践就是使用开销远低于传统虚拟机的unikernel虚拟机。他们已经基于Xen虚拟机基础设施建设了一个初始平台。在未来,可能把类似的原理应用到容器中。但是Manco相信,unikernel可进一步提高现有容器的隔离性和安全性。

如果要提高Xen的虚拟特征,还需要付出大量的工作。它的设计初衷并不是为了支持数以千计短时间运行的虚拟机的。NEC实现了Xen工具堆栈的一个新实践以提升性能。其他已完成的工作可改善Xen控制台以便于更为动态地配置新虚拟机。

推动小虚拟机的极限

使用这个改进的Xen内核NEC展示了按需启动10000个客户虚拟机的能力。启动如此多数量虚拟机的挑战之一在于增加新虚拟机的增量时间会迅速增加。研究团队发现,与LXC容器的135毫秒相比,在新架构上增加第一万台虚拟机的时间为3.5秒。

Manco承认,实际应用中可能并不会出现同时维持如此大数量虚拟机的情况。对于刚入门者来说,Xen的调度问题有可能会降低每一个虚拟机的性能。问题是,传统Xen调度程序使用一个循环方式从每一个虚拟机那里收集输入。一个好的做法就是按需启动虚拟机而不是在内存中保持大量运行的虚拟机。

虚拟机位置至关重要

另一个好的做法就是在单台服务器上启动大量小虚拟机和在多台服务器上启动大量虚拟机之间进行权衡。如果应用程序将执行具有较大工作量的处理任务(如打印服务器),那么它们需要在多台服务器上进行启动。在另一方面,应用程序如果是执行一些诸如DNS查询这样的简单任务,那么就可以在一台单一的服务器上启动虚拟机。

一家云计算分析公司Cloud Physics的CTO Irfan Ahmad表示,“对于为众多类别服务提供无缝用户体验来说,针对快速移动的虚拟机开发一个架构是非常重要的。”当他还在VMware工作时,他们就遇到了这样的虚拟机挑战,即VoIP电话被虚拟机移动而打断。

Manco说,实际使用这个灵活的云计算基础设施还需要我们付出大量的努力。从长远来看,它承诺有望减少网络设备、有线电视盒和企业设备的成本。通过移动更多的功能和控制边缘服务器,它还能为物联网应用程序带来同样的灵活性。通过今天对这一领域的进一步深入研究,企业将能够在明天更好地利用好开发更多的流畅云计算应用程序。


本文作者:滕晓龙

来源:51CTO

相关文章
|
11天前
|
API 数据库 开发者
构建高效可靠的微服务架构:后端开发的新范式
【4月更文挑战第8天】 随着现代软件开发的复杂性日益增加,传统的单体应用架构面临着可扩展性、维护性和敏捷性的挑战。为了解决这些问题,微服务架构应运而生,并迅速成为后端开发领域的一股清流。本文将深入探讨微服务架构的设计原则、实施策略及其带来的优势与挑战,为后端开发者提供一种全新视角,以实现更加灵活、高效和稳定的系统构建。
18 0
|
25天前
|
负载均衡 测试技术 持续交付
高效后端开发实践:构建可扩展的微服务架构
在当今快速发展的互联网时代,后端开发扮演着至关重要的角色。本文将重点探讨如何构建可扩展的微服务架构,以及在后端开发中提高效率的一些实践方法。通过合理的架构设计和技术选型,我们可以更好地应对日益复杂的业务需求,实现高效可靠的后端系统。
|
25天前
|
机器学习/深度学习 自然语言处理 并行计算
大模型开发:什么是Transformer架构及其重要性?
Transformer模型革新了NLP,以其高效的并行计算和自注意力机制解决了长距离依赖问题。从机器翻译到各种NLP任务,Transformer展现出卓越性能,其编码器-解码器结构结合自注意力层和前馈网络,实现高效训练。此架构已成为领域内重要里程碑。
27 2
|
27天前
|
监控 Kubernetes 持续交付
构建高效可扩展的微服务架构:后端开发实践指南
在数字化转型的浪潮中,企业对软件系统的要求日益提高,追求快速响应市场变化、持续交付价值成为核心竞争力。微服务架构以其灵活性、模块化和独立部署的特点,成为解决复杂系统问题的有效途径。本文将深入探讨如何构建一个高效且可扩展的微服务架构,涵盖关键设计原则、技术选型及实践案例,为后端开发者提供一条清晰的指导路线,帮助其在不断变化的技术环境中保持竞争力。
128 3
|
20天前
|
监控 Java 开发者
构建高效微服务架构:后端开发的新范式
在数字化转型的浪潮中,微服务架构以其灵活性、可扩展性和容错性成为企业技术战略的关键组成部分。本文深入探讨了微服务的核心概念,包括其设计原则、技术栈选择以及与容器化和编排技术的融合。通过实际案例分析,展示了如何利用微服务架构提升系统性能,实现快速迭代部署,并通过服务的解耦来提高整体系统的可靠性。
|
21天前
|
NoSQL Java Redis
【分布式技术专题】「分布式技术架构」手把手教你如何开发一个属于自己的分布式锁的功能组件(二)
【分布式技术专题】「分布式技术架构」手把手教你如何开发一个属于自己的分布式锁的功能组件
14 0
|
26天前
|
监控 数据管理 API
构建高效微服务架构:后端开发的新趋势
在现代软件开发领域,随着业务需求的不断复杂化以及敏捷迭代的加速,传统的单体应用架构逐渐暴露出其局限性。微服务架构作为一种新的解决方案,以其高度模块化、独立部署和可扩展性,正成为后端开发领域的新趋势。本文将探讨微服务架构的核心概念,分析其优势与面临的挑战,并提供实施高效微服务的策略和最佳实践,帮助读者理解如何利用这一架构模式提升系统的可靠性、灵活性和可维护性。
135 5
|
29天前
|
人工智能 运维 监控
构建高性能微服务架构:现代后端开发的挑战与策略构建高效自动化运维系统的关键策略
【2月更文挑战第30天】 随着企业应用的复杂性增加,传统的单体应用架构已经难以满足快速迭代和高可用性的需求。微服务架构作为解决方案,以其服务的细粒度、独立性和弹性而受到青睐。本文将深入探讨如何构建一个高性能的微服务系统,包括关键的设计原则、常用的技术栈选择以及性能优化的最佳实践。我们将分析微服务在处理分布式事务、数据一致性以及服务发现等方面的挑战,并提出相应的解决策略。通过实例分析和案例研究,我们的目标是为后端开发人员提供一套实用的指南,帮助他们构建出既能快速响应市场变化,又能保持高效率和稳定性的微服务系统。 【2月更文挑战第30天】随着信息技术的飞速发展,企业对于信息系统的稳定性和效率要求
|
4天前
|
监控 负载均衡 API
构建高性能微服务架构:后端开发的最佳实践
【4月更文挑战第14天】 在当今快速发展的软件开发领域,微服务架构已成为构建可扩展、灵活且容错的系统的首选方法。本文深入探讨了后端开发人员在设计和维护高性能微服务时需要遵循的一系列最佳实践。我们将从服务划分原则、容器化部署、API网关使用、负载均衡、服务监控与故障恢复等方面展开讨论,并结合实际案例分析如何优化微服务性能及可靠性。通过本文的阅读,读者将获得实施高效微服务架构的实用知识与策略。
|
26天前
|
API 持续交付 开发者
构建高效微服务架构:后端开发的新范式
在数字化转型和技术迭代的浪潮中,微服务架构以其灵活性、可扩展性和独立性成为现代后端开发的重要趋势。本文深入探讨了构建高效微服务架构的关键要素,包括服务划分策略、容器化部署、API网关设计以及持续集成与持续部署(CI/CD)的实践。通过分析这些组件和流程,我们旨在为后端开发者提供一套实用的指南,帮助他们构建和维护一个高性能、可靠的微服务系统。
25 5

热门文章

最新文章