Bereits 1961 definierte Prof. John McCarthy das Time Sharing von Ressourcen wie z.B. die Nutzung von Rechnerleistung oder Anwendungen als Geschäftsmodell. Er stellte sich dabei vor, diese Ressourcen der Öffentlichkeit als ein Public Utility zur Verfügung zu stellen, also genau so, wie auch Strom, Wasser oder Gas bereitgestellt wird.
Der Begriff Utility Computing wird von Herbert Kircher in seinem Buch „IT: Technologien, Lösungen, Innovationen,“ wie folgt definiert: ’Utility Computing beschreibt eine grundlegende Transformation der Bereitstellung und des Managements von IT-Services – von einem technologieorientierten zu einem geschäftsorientierten Ansatz. Diese Umstellung erfordert eine äußerst flexible und effizient verwaltete dynamische IT-Infrastruktur mit vollständiger Kostenkontrolle, flexibler Kostenverrechnung und aktivem SLA-Management.’
Beim Utility Computing bekommt also ein ’Kunde’ von einem ’Serviceanbieter’ Rechenkapazität (Ressourcen) und die gesamte Infrastruktur inkl. dessen Management zur Verfügung gestellt. Dabei wird der Kunde nach dem Prinzip ’pay per use ’, also bezahle nur das, was Du tatsächlich verbrauchst, abgerechnet – was auch den entscheidenden Ansatz beim Utility Computing ausmacht. Für Utility Computing wird oft auch der Begriff ’On-Demand Computing’ (deutsch: in etwa ’rechnen auf Anfrage’) verwendet. Das Ziel von Utility Computing ist klar: Steigerung der effizienten Nutzung der Computerressorucen und das Senken der dabei anfallenden Nebenkosten (Strom, etc.).
Der große Vorteil von Utility-Computing ist eine bessere Wirtschaftlichkeit, da Unternehmen nur für die Computerressourcen bezahlen, die sie nutzen, wenn sie diese nutzen. Rechenzentren von Unternehmen sind in der meisten Zeit nicht ausgelastet. Server sind in der Regel im Durchschnitt mit 15% ausgelastet, sind also in 85% der Zeit im Leerlauf. Unternehmen statten ihre Rechenzentren grundsätzlich mit zu vielen Ressourcen aus. Dies ist auf der einen Seiten genau der richtige Ansatz, denn die Systeme müssen auch in Spitzenzeiten (z.B. Urlaubszeit bei einem Online Reiseveranstalter aber auch für unvorhersehbare Ereignisse) voll funktionsfähig sein und dürfen nicht plötzlich überlastet sein und ausfallen. Andererseits sind die Systeme für normale Zeiten total überdimensioniert. Um genau diese eben angesprochenen Spitzenzeiten abzufangen ist Utility Computing das richtige Konzept, da der Anbieter in der Zeit die (angemieteten Systeme) dynamisch vergrößern kann. Die Kosten sind in den normalen Zeit ’…relativ gering und konstant…’ und steigen nur während der Hochkonjunktur, da auch die Systeme wachsen.
Anbieter von Utility Computing Diensten profitieren von den Größenvorteilen ihrer Systeme, da sie dieselbe Infrastruktur nutzen können, um damit mehrere Kunden zu bedienen.
Wie im Grid Computing wird auch im Utility Computing der Begriff der Virtuellen Organisation verwendet, mit denen Organisationen Computer Ressourcen in dem Moment kaufen oder verkaufen, wenn diese gerade benötigt werden.