Введение
Модель предоставления услуг
Утилитарные вычисления, или компьютерная утилита, – это модель предоставления услуг, в которой поставщик услуг предоставляет клиенту вычислительные ресурсы и управление инфраструктурой по мере необходимости и взимает плату за фактическое использование, а не фиксированную ставку. Как и другие типы вычислений по требованию (например, распределенные вычисления), утилитарная модель стремится к максимальной эффективности использования ресурсов и/или минимизации связанных с ними затрат. Утилитарные вычисления – это представление системных ресурсов, таких как вычислительные мощности, хранилище и сервисы, в виде измеряемой услуги. Эта модель имеет преимущество в виде низкой или отсутствующей первоначальной стоимости приобретения вычислительных ресурсов; вместо этого ресурсы фактически арендуются. Эта переупаковка вычислительных услуг стала основой перехода к вычислениям «по требованию», программному обеспечению как услуге (SaaS) и моделям облачных вычислений, которые еще больше распространили идею вычислений, приложений и сетей как сервиса. Первоначально к такому значительному сдвигу относились со скептицизмом. Однако новая модель вычислений завоевала популярность и в конечном итоге стала общепринятой. IBM, HP и Microsoft были одними из первых лидеров в новой области утилитарных вычислений, их подразделения и исследователи работали над проблемами архитектуры, оплаты и разработки новой вычислительной модели. Google, Amazon и другие компании начали лидировать в 2008 году, создав собственные утилитарные сервисы для вычислений, хранения и приложений. Утилитарные вычисления могут поддерживать распределенные вычисления, которые характеризуются очень большими объемами вычислений или внезапными пиками спроса, поддерживаемыми большим количеством компьютеров. Обычно утилитарные вычисления предполагают некоторую форму виртуализации, чтобы объем доступного хранилища или вычислительной мощности значительно превышал возможности одного компьютера с разделением времени. Для этого на «бэкэнде» используется несколько серверов. Это может быть выделенный вычислительный кластер, специально созданный для сдачи в аренду, или даже недостаточно загруженный суперкомпьютер. Техника выполнения одного вычисления на нескольких компьютерах известна как распределенные вычисления. Термин «распределенные вычисления» часто используется для описания конкретной формы распределенных вычислений, где поддерживающие узлы географически распределены или находятся в разных административных доменах. Чтобы предоставлять услуги утилитарных вычислений, компания может «объединять» ресурсы членов общественности для продажи, выплачивая им часть дохода от клиентов. Одна из моделей, распространенная в приложениях добровольных вычислений, заключается в том, что центральный сервер распределяет задачи участвующим узлам по запросу одобренных конечных пользователей (в коммерческом случае – платящих клиентов). Другая модель, иногда называемая виртуальной организацией (VO), более децентрализована: организации покупают и продают вычислительные ресурсы по мере необходимости или когда они простаивают. Определение «утилитарных вычислений» иногда расширяется и включает специализированные задачи, такие как веб-сервисы.
Utility computing, or computer utility, is a service provisioning model in which a service provider makes computing resources and infrastructure management available to the customer as needed, and charges them for specific usage rather than a flat rate. Like other types of on demand computing (such as grid computing), the utility model seeks to maximize the efficient use of resources and/or minimize associated costs. Utility is the packaging of system resources, such as computation, storage and services, as a metered service. This model has the advantage of a low or no initial cost to acquire computer resources; instead, resources are essentially rented. This repackaging of computing services became the foundation of the shift to "on demand" computing, software as a service and cloud computing models that further propagated the idea of computing, application and network as a service. There was some initial skepticism about such a significant shift. However, the new model of computing caught on and eventually became mainstream. IBM, HP and Microsoft were early leaders in the new field of utility computing, with their business units and researchers working on the architecture, payment and development challenges of the new computing model. Google, Amazon and others started to take the lead in 2008, as they established their own utility services for computing, storage and applications. Utility computing can support grid computing which has the characteristic of very large computations or sudden peaks in demand which are supported via a large number of computers. "Utility computing" has usually envisioned some form of virtualization so that the amount of storage or computing power available is considerably larger than that of a single time sharing computer. Multiple servers are used on the "back end" to make this possible. These might be a dedicated computer cluster specifically built for the purpose of being rented out, or even an under utilized supercomputer. The technique of running a single calculation on multiple computers is known as distributed computing. The term "grid computing" is often used to describe a particular form of distributed computing, where the supporting nodes are geographically distributed or cross administrative domains. To provide utility computing services, a company can "bundle" the resources of members of the public for sale, who might be paid with a portion of the revenue from clients. One model, common among volunteer computing applications, is for a central server to dispense tasks to participating nodes, on the behest of approved end users (in the commercial case, the paying customers). Another model, sometimes called the virtual organization (VO), is more decentralized, with organizations buying and selling computing resources as needed or as they go idle. The definition of "utility computing" is sometimes extended to specialized tasks, such as web services.
История
Утилитарные вычисления – это, по сути, принцип "плати за использование" вычислительных ресурсов. Это не новая концепция, а скорее имеющая давнюю историю. Одной из самых ранних ссылок является следующее высказывание: "Если компьютеры, подобные тем, которые я предлагаю, станут компьютерами будущего, то вычисления могут быть организованы как общественная услуга, подобно телефонной системе. Компьютерная услуга может стать основой новой и важной отрасли." IBM и другие производители мэйнфреймов реализовывали эту бизнес-модель в течение последующих двух десятилетий, часто называемую разделением времени, предлагая вычислительную мощность и хранилище данных банкам и другим крупным организациям из своих глобальных центров обработки данных. Для поддержки этой бизнес-модели операционные системы мэйнфреймов развивались, включая средства управления процессами, безопасность и учет использования ресурсов. Появление мини-компьютеров изменило эту бизнес-модель, сделав компьютеры доступными для большинства компаний. С увеличением мощности серверов на базе архитектур Intel и AMD с каждым новым поколением процессоров, центры обработки данных заполнялись тысячами серверов. В конце 1990-х годов концепция утилитарных вычислений вновь приобрела актуальность. InsynQ, Inc. запустила приложения [по требованию] и услуги хостинга рабочих столов в 1997 году, используя оборудование HP. В 1998 году HP создала подразделение Utility Computing в Маунтин-Вью, штат Калифорния, привлекая бывших ученых Bell Labs для работы над созданием "электростанции" вычислительной мощности, объединяющей различные сервисы в программный стек. Предлагались такие услуги, как "IP-биллинг по запросу". HP представила Центр данных Utility в 2001 году. Sun объявила о сервисе Sun Cloud для потребителей в 2000 году. В декабре 2005 года Alexa запустила платформу Alexa Web Search Platform – инструмент для создания веб-поиска, в основе которого лежат утилитарные вычисления. Alexa взимает плату с пользователей за хранение данных, использование ресурсов и т.д. На рынке есть место для специализированных отраслей и приложений, а также для других нишевых решений, работающих на базе утилитарных вычислений. Например, PolyServe Inc. предлагает кластерную файловую систему, основанную на стандартном серверном и хранилищном оборудовании, которая создает высокодоступные среды утилитарных вычислений для критически важных приложений, включая базы данных Oracle и Microsoft SQL Server, а также решения, оптимизированные для конкретных задач, такие как хранение больших объемов данных, высокопроизводительные вычисления и специализированные отрасли, такие как финансовые услуги, сейсмическая обработка и обслуживание контента. Утилиты баз данных и файловых сервисов позволяют ИТ-организациям независимо добавлять серверы или хранилища по мере необходимости, перераспределять рабочие нагрузки на различное оборудование и поддерживать работоспособность среды без перерывов. Весной 2006 года 3tera анонсировала сервис AppLogic, а позже летом Amazon запустила Amazon EC2 (Elastic Compute Cloud). Эти сервисы позволяют запускать приложения вычислений общего назначения. Оба основаны на программном обеспечении виртуализации Xen, а наиболее часто используемой операционной системой на виртуальных машинах является Linux, хотя поддерживаются также Windows и Solaris. Типичные области применения включают веб-приложения, SaaS, рендеринг и обработку изображений, а также бизнес-приложения общего назначения.
If computers of the kind I have advocated become the computers of the future, then computing may someday be organized as a public utility just as the telephone system is a public utility The computer utility could become the basis of a new and important industry. IBM and other mainframe providers conducted this kind of business in the following two decades, often referred to as time sharing, offering computing power and database storage to banks and other large organizations from their worldwide data centers. To facilitate this business model, mainframe operating systems evolved to include process control facilities, security, and user metering. The advent of mini computers changed this business model, by making computers affordable to almost all companies. As Intel and AMD increased the power of PC architecture servers with each new generation of processor, data centers became filled with thousands of servers. In the late 1990s utility computing re surfaced. InsynQ, Inc. launched [on demand] applications and desktop hosting services in 1997 using HP equipment. In 1998, HP set up the Utility Computing Division in Mountain View, CA, assigning former Bell Labs computer scientists to begin work on a computing power plant, incorporating multiple utilities to form a software stack. Services such as "IP billing on tap" were marketed. HP introduced the Utility Data Center in 2001. Sun announced the Sun Cloud service to consumers in 2000. In December 2005, Alexa launched Alexa Web Search Platform, a Web search building tool for which the underlying power is utility computing. Alexa charges users for storage, utilization, etc. There is space in the market for specific industries and applications as well as other niche applications powered by utility computing. For example, PolyServe Inc. offers a clustered file system based on commodity server and storage hardware that creates highly available utility computing environments for mission critical applications including Oracle and Microsoft SQL Server databases, as well as workload optimized solutions specifically tuned for bulk storage, high performance computing, vertical industries such as financial services, seismic processing, and content serving. The Database Utility and File Serving Utility enable IT organizations to independently add servers or storage as needed, retask workloads to different hardware, and maintain the environment without disruption. In spring 2006 3tera announced its AppLogic service and later that summer Amazon launched Amazon EC2 (Elastic Compute Cloud). These services allow the operation of general purpose computing applications. Both are based on Xen virtualization software and the most commonly used operating system on the virtual computers is Linux, though Windows and Solaris are supported. Common uses include web application, SaaS, image rendering and processing but also general purpose business applications.