Zum Inhalt springen

Platform as a Service

aus Wikipedia, der freien Enzyklopädie

{{#if: PaaS

 | Vorlage:Hinweisbaustein
 | {{#ifeq: 0 | 0 | }}}}
Datei:Cloud Stack.svg
Cloud-Computing-Architektur

Als Platform as a Service (PaaS) bezeichnet man eine Dienstleistung, die in der Cloud eine Computer-Plattform für Entwickler von Webanwendungen zur Verfügung stellt. Dabei kann es sich sowohl um schnell einsetzbare Laufzeitumgebungen (typischerweise für Webanwendungen), aber auch um Entwicklungsumgebungen handeln, die mit geringem administrativem Aufwand und ohne Anschaffung der darunterliegenden Hardware und Software genutzt werden können. Sie unterstützen den gesamten Software-Lebenszyklus vom Design über die Entwicklung, den Test, die Auslieferung bis hin zum Betrieb der Webanwendungen über das Internet.<ref name="marketplace">G. Raines, L. Pizette: Platform as a Service: A 2010 Marketplace Analysis. 2010-10, mitre.org (PDF) abgerufen am 2. Juni 2012</ref><ref name="architecture">Y. V. Natis, T. Jones, B. J. Lheureux, K. Iijima, E. Knipp, D. M. Smith. Predicts 2011: Platform as a Service: The Architectural Center of the Cloud. Gartner, 24. November 2010</ref><ref name="masses">M. Fouquet, H. Niedermayer, G. Carle: Cloud Computing for the Masses. 1. Dezember 2009</ref> Platform as a Service ist ein Teil von Everything as a Service.

Einige Angebote umfassen auch Dienste zur kollaborativen Arbeit und Versionierung, zum Monitoring und für die Sicherheit oder Middleware-Dienste zum Speichern von Daten oder für die Kommunikation zwischen Anwendungen. PaaS-Angebote bauen auf einer skalierbaren Infrastruktur (IaaS) von Speicher und Rechenleistung auf und können somit ebenfalls skalieren. Aufbauend auf einer PaaS-Umgebung können Software as a Service (SaaS)-Angebote entstehen. Somit ist PaaS die mittlere Schicht im Cloud Stack.<ref name="marketplace" /><ref name="architecture" /><ref name="masses" />

Bedeutung

Zwischen Oktober 2009 und Oktober 2010 haben mehr als 100 PaaS-Anbieter den Markt betreten.<ref name="marketplace" /> Sie treten an, um ihren Kunden möglichst viele administrative Aufgaben abzunehmen, Skalierbarkeit und Hochverfügbarkeit zu ermöglichen,<ref>B. Lobaugh. Deploying a Java application to Windows Azure with Command-line Ant. Microsoft, 17. Februar 2011, <templatestyles src="Webarchiv/styles.css" />{{#if:20170425041925

      | {{#ifeq: 20170425041925 | *
    | Vorlage:Webarchiv/Wartung/Stern{{#if: interoperabilitybridges.com | {{#invoke:WLink|getEscapedTitle|interoperabilitybridges.com}} | {{#invoke:Webarchiv|getdomain|http://java.interoperabilitybridges.com/articles/deploying-a-java-application-to-windows-azure-with-command-line-ant}} }} (Archivversionen)
    | {{#iferror: {{#time: j. F Y|20170425041925}}
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/DatumDer Wert des Parameters {{#if: wayback | wayback | Datum }} muss ein gültiger Zeitstempel der Form YYYYMMDDHHMMSS sein!
         | {{#if: interoperabilitybridges.com | {{#invoke:WLink|getEscapedTitle|interoperabilitybridges.com}} | {{#invoke:Webarchiv|getdomain|http://java.interoperabilitybridges.com/articles/deploying-a-java-application-to-windows-azure-with-command-line-ant}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y|20170425041925}} im Internet Archive{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
      }}
  }}
      | {{#if:
          | {{#iferror: {{#time: j. F Y|{{{webciteID}}}}}
    | {{#switch: {{#invoke:Str|len|{{{webciteID}}}}}
       | 16= {{#if: interoperabilitybridges.com | {{#invoke:WLink|getEscapedTitle|interoperabilitybridges.com}} | {{#invoke:Webarchiv|getdomain|http://java.interoperabilitybridges.com/articles/deploying-a-java-application-to-windows-azure-with-command-line-ant}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{{webciteID}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | 9 = {{#if: interoperabilitybridges.com | {{#invoke:WLink|getEscapedTitle|interoperabilitybridges.com}} | {{#invoke:Webarchiv|getdomain|http://java.interoperabilitybridges.com/articles/deploying-a-java-application-to-windows-azure-with-command-line-ant}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{#invoke:Expr|base62|{{{webciteID}}}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | #default= Der Wert des Parameters {{#if: webciteID | webciteID | ID }} muss entweder ein Zeitstempel der Form YYYYMMDDHHMMSS oder ein Schüsselwert mit 9 Zeichen oder eine 16-stellige Zahl sein!Vorlage:Webarchiv/Wartung/webcitation{{#if:  || }}
      }}
    | c|{{{webciteID}}}}} {{#if: interoperabilitybridges.com | {{#invoke:WLink|getEscapedTitle|interoperabilitybridges.com}} | {{#invoke:Webarchiv|getdomain|http://java.interoperabilitybridges.com/articles/deploying-a-java-application-to-windows-azure-with-command-line-ant}} }} (Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y|{{{webciteID}}}}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
  }}
          | {{#if: 
              | Vorlage:Webarchiv/Today
              | {{#if:
                      | Vorlage:Webarchiv/Generisch
                      | {{#if: interoperabilitybridges.com | {{#invoke:WLink|getEscapedTitle|interoperabilitybridges.com}} | {{#invoke:Webarchiv|getdomain|http://java.interoperabilitybridges.com/articles/deploying-a-java-application-to-windows-azure-with-command-line-ant}} }}  
                 }}}}}}}}{{#if:
    | Vorlage:Webarchiv/archiv-bot
  }}{{#invoke:TemplatePar|check
     |all      = url=
     |opt      = text= wayback= webciteID= archive-is= archive-today= archiv-url= archiv-datum= ()= archiv-bot= format= original=
     |cat      = Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
     |errNS    = 0
     |template = Vorlage:Webarchiv
     |format   = *
     |preview  = 1
  }}{{#ifexpr: {{#if:20170425041925|1|0}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}} <> 1
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Genau einer der Parameter 'wayback', 'webciteID', 'archive-today', 'archive-is' oder 'archiv-url' muss angegeben werden.|1}}
  }}{{#if: 
    | {{#switch: {{#invoke:Webarchiv|getdomain|{{{archiv-url}}}}}
        | web.archive.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von Internet Archive erkannt, bitte Parameter 'wayback' benutzen.|1}} 
        | webcitation.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von WebCite erkannt, bitte Parameter 'webciteID' benutzen.|1}} 
        | archive.today |archive.is |archive.ph |archive.fo |archive.li |archive.md |archive.vn = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von archive.today erkannt, bitte Parameter 'archive-today' benutzen.|1}}
      }}{{#if: 
         | {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}
             | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Wert des Parameter 'archiv-datum' ist ungültig oder hat ein ungültiges Format.|1}}
          |  }} 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Pflichtparameter 'archiv-datum' wurde nicht angegeben.|1}}
      }}
    | {{#if: 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Parameter 'archiv-datum' ist nur in Verbindung mit 'archiv-url' angebbar.|1}}
      }}
  }}{{#if:{{#invoke:URLutil|isHostPathResource|http://java.interoperabilitybridges.com/articles/deploying-a-java-application-to-windows-azure-with-command-line-ant}}
    || {{#if:  || }}
  }}{{#if: interoperabilitybridges.com
    | {{#if: {{#invoke:WLink|isBracketedLink|interoperabilitybridges.com}}
        | {{#if:  || }}
      }}
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Linktext_fehlt
  }}{{#switch: 
    |addlarchives|addlpages= {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/Parameter}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: enWP-Wert im Parameter 'format'.|1}}
  }}{{#ifeq: {{#invoke:Str|find|http://java.interoperabilitybridges.com/articles/deploying-a-java-application-to-windows-azure-with-command-line-ant%7Carchiv}} |-1
    || {{#ifeq: {{#invoke:Str|find|{{#invoke:Str|cropleft|http://java.interoperabilitybridges.com/articles/deploying-a-java-application-to-windows-azure-with-command-line-ant%7C4}}%7Chttp}} |-1
         || {{#switch: {{#invoke:Webarchiv|getdomain|http://java.interoperabilitybridges.com/articles/deploying-a-java-application-to-windows-azure-with-command-line-ant }}
              | abendblatt.de | daserste.ndr.de | inarchive.com | webcitation.org = 
              | #default = {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/URL}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Archiv-URL im Parameter 'url' anstatt URL der Originalquelle. Entferne den vor der Original-URL stehenden Mementobestandteil und setze den Archivierungszeitstempel in den Parameter 'wayback', 'webciteID', 'archive.today' oder 'archive-is' ein, sofern nicht bereits befüllt.|1}}
            }} 
       }}
  }} abgerufen am 2. Juni 2011</ref> Fixkosten und Gesamtkosten zu senken, die Anwender flexibler zu machen und um eine schnelle Anwendungsentwicklung und einen baldigen Markteintritt zu ermöglichen.<ref name="architecture" /><ref name="cio_friedmann">K. Friedmann: <templatestyles src="Webarchiv/styles.css" />{{#if:20120910084745
      | {{#ifeq: 20120910084745 | *
    | Vorlage:Webarchiv/Wartung/Stern{{#if: Cloud Computing in Deutschland: Der Markt für Cloud-Services wird sich bis Ende 2011 verdoppeln. | {{#invoke:WLink|getEscapedTitle|Cloud Computing in Deutschland: Der Markt für Cloud-Services wird sich bis Ende 2011 verdoppeln.}} | {{#invoke:Webarchiv|getdomain|http://www.cio.de/dynamicit/management_strategie/2226947/index3.html}} }} (Archivversionen)
    | {{#iferror: {{#time: j. F Y|20120910084745}}
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/DatumDer Wert des Parameters {{#if: wayback | wayback | Datum }} muss ein gültiger Zeitstempel der Form YYYYMMDDHHMMSS sein!
         | {{#if: Cloud Computing in Deutschland: Der Markt für Cloud-Services wird sich bis Ende 2011 verdoppeln. | {{#invoke:WLink|getEscapedTitle|Cloud Computing in Deutschland: Der Markt für Cloud-Services wird sich bis Ende 2011 verdoppeln.}} | {{#invoke:Webarchiv|getdomain|http://www.cio.de/dynamicit/management_strategie/2226947/index3.html}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y|20120910084745}} im Internet Archive{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
      }}
  }}
      | {{#if:
          | {{#iferror: {{#time: j. F Y|{{{webciteID}}}}}
    | {{#switch: {{#invoke:Str|len|{{{webciteID}}}}}
       | 16= {{#if: Cloud Computing in Deutschland: Der Markt für Cloud-Services wird sich bis Ende 2011 verdoppeln. | {{#invoke:WLink|getEscapedTitle|Cloud Computing in Deutschland: Der Markt für Cloud-Services wird sich bis Ende 2011 verdoppeln.}} | {{#invoke:Webarchiv|getdomain|http://www.cio.de/dynamicit/management_strategie/2226947/index3.html}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{{webciteID}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | 9 = {{#if: Cloud Computing in Deutschland: Der Markt für Cloud-Services wird sich bis Ende 2011 verdoppeln. | {{#invoke:WLink|getEscapedTitle|Cloud Computing in Deutschland: Der Markt für Cloud-Services wird sich bis Ende 2011 verdoppeln.}} | {{#invoke:Webarchiv|getdomain|http://www.cio.de/dynamicit/management_strategie/2226947/index3.html}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{#invoke:Expr|base62|{{{webciteID}}}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | #default= Der Wert des Parameters {{#if: webciteID | webciteID | ID }} muss entweder ein Zeitstempel der Form YYYYMMDDHHMMSS oder ein Schüsselwert mit 9 Zeichen oder eine 16-stellige Zahl sein!Vorlage:Webarchiv/Wartung/webcitation{{#if:  || }}
      }}
    | c|{{{webciteID}}}}} {{#if: Cloud Computing in Deutschland: Der Markt für Cloud-Services wird sich bis Ende 2011 verdoppeln. | {{#invoke:WLink|getEscapedTitle|Cloud Computing in Deutschland: Der Markt für Cloud-Services wird sich bis Ende 2011 verdoppeln.}} | {{#invoke:Webarchiv|getdomain|http://www.cio.de/dynamicit/management_strategie/2226947/index3.html}} }} (Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y|{{{webciteID}}}}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
  }}
          | {{#if: 
              | Vorlage:Webarchiv/Today
              | {{#if:
                      | Vorlage:Webarchiv/Generisch
                      | {{#if: Cloud Computing in Deutschland: Der Markt für Cloud-Services wird sich bis Ende 2011 verdoppeln. | {{#invoke:WLink|getEscapedTitle|Cloud Computing in Deutschland: Der Markt für Cloud-Services wird sich bis Ende 2011 verdoppeln.}} | {{#invoke:Webarchiv|getdomain|http://www.cio.de/dynamicit/management_strategie/2226947/index3.html}} }}  
                 }}}}}}}}{{#if:
    | Vorlage:Webarchiv/archiv-bot
  }}{{#invoke:TemplatePar|check
     |all      = url=
     |opt      = text= wayback= webciteID= archive-is= archive-today= archiv-url= archiv-datum= ()= archiv-bot= format= original=
     |cat      = Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
     |errNS    = 0
     |template = Vorlage:Webarchiv
     |format   = *
     |preview  = 1
  }}{{#ifexpr: {{#if:20120910084745|1|0}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}} <> 1
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Genau einer der Parameter 'wayback', 'webciteID', 'archive-today', 'archive-is' oder 'archiv-url' muss angegeben werden.|1}}
  }}{{#if: 
    | {{#switch: {{#invoke:Webarchiv|getdomain|{{{archiv-url}}}}}
        | web.archive.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von Internet Archive erkannt, bitte Parameter 'wayback' benutzen.|1}} 
        | webcitation.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von WebCite erkannt, bitte Parameter 'webciteID' benutzen.|1}} 
        | archive.today |archive.is |archive.ph |archive.fo |archive.li |archive.md |archive.vn = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von archive.today erkannt, bitte Parameter 'archive-today' benutzen.|1}}
      }}{{#if: 
         | {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}
             | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Wert des Parameter 'archiv-datum' ist ungültig oder hat ein ungültiges Format.|1}}
          |  }} 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Pflichtparameter 'archiv-datum' wurde nicht angegeben.|1}}
      }}
    | {{#if: 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Parameter 'archiv-datum' ist nur in Verbindung mit 'archiv-url' angebbar.|1}}
      }}
  }}{{#if:{{#invoke:URLutil|isHostPathResource|http://www.cio.de/dynamicit/management_strategie/2226947/index3.html}}
    || {{#if:  || }}
  }}{{#if: Cloud Computing in Deutschland: Der Markt für Cloud-Services wird sich bis Ende 2011 verdoppeln.
    | {{#if: {{#invoke:WLink|isBracketedLink|Cloud Computing in Deutschland: Der Markt für Cloud-Services wird sich bis Ende 2011 verdoppeln.}}
        | {{#if:  || }}
      }}
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Linktext_fehlt
  }}{{#switch: 
    |addlarchives|addlpages= {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/Parameter}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: enWP-Wert im Parameter 'format'.|1}}
  }}{{#ifeq: {{#invoke:Str|find|http://www.cio.de/dynamicit/management_strategie/2226947/index3.html%7Carchiv}} |-1
    || {{#ifeq: {{#invoke:Str|find|{{#invoke:Str|cropleft|http://www.cio.de/dynamicit/management_strategie/2226947/index3.html%7C4}}%7Chttp}} |-1
         || {{#switch: {{#invoke:Webarchiv|getdomain|http://www.cio.de/dynamicit/management_strategie/2226947/index3.html }}
              | abendblatt.de | daserste.ndr.de | inarchive.com | webcitation.org = 
              | #default = {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/URL}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Archiv-URL im Parameter 'url' anstatt URL der Originalquelle. Entferne den vor der Original-URL stehenden Mementobestandteil und setze den Archivierungszeitstempel in den Parameter 'wayback', 'webciteID', 'archive.today' oder 'archive-is' ein, sofern nicht bereits befüllt.|1}}
            }} 
       }}
  }} cio.de, 3. August 2010; abgerufen am 2. Juni 2011</ref> Damit wird es den Kunden ermöglicht, sich mehr auf die eigentliche Entwicklung von Geschäftsanwendungen zu konzentrieren, anstatt sich um Frameworks, Middleware oder den Betrieb von skalierbaren, zuverlässigen und kosteneffizienten Rechenzentren zu kümmern.

Momentan werden PaaS-Angebote nur von „leading-edge users“ genutzt, die „mainstream users“ stehen ihnen noch skeptisch gegenüber. Gartner sieht die mehr visionären Independent Software Vendors (ISVs) als Schlüssel für die Akzeptanz des PaaS-Modells, da diese ihre Anwendungen über die Cloud anbieten werden. Erst durch diese SaaS-Angebote wird die Cloud auch für andere IT-Projekte attraktiv.<ref name="architecture" />

Im Jahr 2009 hatte das Thema Cloud Computing insgesamt einen Höhepunkt auf der Gartner Hypekurve.<ref>Cloud Hype at Height: Gartner. In: Cloud Computing Journal, 17. August 2009, <templatestyles src="Webarchiv/styles.css" />{{#if:20170425041925

      | {{#ifeq: 20170425041925 | *
    | Vorlage:Webarchiv/Wartung/Stern{{#if: cloudcomputing.sys-con.com | {{#invoke:WLink|getEscapedTitle|cloudcomputing.sys-con.com}} | {{#invoke:Webarchiv|getdomain|http://java.interoperabilitybridges.com/articles/deploying-a-java-application-to-windows-azure-with-command-line-ant}} }} (Archivversionen)
    | {{#iferror: {{#time: j. F Y|20170425041925}}
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/DatumDer Wert des Parameters {{#if: wayback | wayback | Datum }} muss ein gültiger Zeitstempel der Form YYYYMMDDHHMMSS sein!
         | {{#if: cloudcomputing.sys-con.com | {{#invoke:WLink|getEscapedTitle|cloudcomputing.sys-con.com}} | {{#invoke:Webarchiv|getdomain|http://java.interoperabilitybridges.com/articles/deploying-a-java-application-to-windows-azure-with-command-line-ant}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y|20170425041925}} im Internet Archive{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
      }}
  }}
      | {{#if:
          | {{#iferror: {{#time: j. F Y|{{{webciteID}}}}}
    | {{#switch: {{#invoke:Str|len|{{{webciteID}}}}}
       | 16= {{#if: cloudcomputing.sys-con.com | {{#invoke:WLink|getEscapedTitle|cloudcomputing.sys-con.com}} | {{#invoke:Webarchiv|getdomain|http://java.interoperabilitybridges.com/articles/deploying-a-java-application-to-windows-azure-with-command-line-ant}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{{webciteID}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | 9 = {{#if: cloudcomputing.sys-con.com | {{#invoke:WLink|getEscapedTitle|cloudcomputing.sys-con.com}} | {{#invoke:Webarchiv|getdomain|http://java.interoperabilitybridges.com/articles/deploying-a-java-application-to-windows-azure-with-command-line-ant}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{#invoke:Expr|base62|{{{webciteID}}}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | #default= Der Wert des Parameters {{#if: webciteID | webciteID | ID }} muss entweder ein Zeitstempel der Form YYYYMMDDHHMMSS oder ein Schüsselwert mit 9 Zeichen oder eine 16-stellige Zahl sein!Vorlage:Webarchiv/Wartung/webcitation{{#if:  || }}
      }}
    | c|{{{webciteID}}}}} {{#if: cloudcomputing.sys-con.com | {{#invoke:WLink|getEscapedTitle|cloudcomputing.sys-con.com}} | {{#invoke:Webarchiv|getdomain|http://java.interoperabilitybridges.com/articles/deploying-a-java-application-to-windows-azure-with-command-line-ant}} }} (Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y|{{{webciteID}}}}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
  }}
          | {{#if: 
              | Vorlage:Webarchiv/Today
              | {{#if:
                      | Vorlage:Webarchiv/Generisch
                      | {{#if: cloudcomputing.sys-con.com | {{#invoke:WLink|getEscapedTitle|cloudcomputing.sys-con.com}} | {{#invoke:Webarchiv|getdomain|http://java.interoperabilitybridges.com/articles/deploying-a-java-application-to-windows-azure-with-command-line-ant}} }}  
                 }}}}}}}}{{#if:
    | Vorlage:Webarchiv/archiv-bot
  }}{{#invoke:TemplatePar|check
     |all      = url=
     |opt      = text= wayback= webciteID= archive-is= archive-today= archiv-url= archiv-datum= ()= archiv-bot= format= original=
     |cat      = Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
     |errNS    = 0
     |template = Vorlage:Webarchiv
     |format   = *
     |preview  = 1
  }}{{#ifexpr: {{#if:20170425041925|1|0}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}} <> 1
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Genau einer der Parameter 'wayback', 'webciteID', 'archive-today', 'archive-is' oder 'archiv-url' muss angegeben werden.|1}}
  }}{{#if: 
    | {{#switch: {{#invoke:Webarchiv|getdomain|{{{archiv-url}}}}}
        | web.archive.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von Internet Archive erkannt, bitte Parameter 'wayback' benutzen.|1}} 
        | webcitation.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von WebCite erkannt, bitte Parameter 'webciteID' benutzen.|1}} 
        | archive.today |archive.is |archive.ph |archive.fo |archive.li |archive.md |archive.vn = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von archive.today erkannt, bitte Parameter 'archive-today' benutzen.|1}}
      }}{{#if: 
         | {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}
             | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Wert des Parameter 'archiv-datum' ist ungültig oder hat ein ungültiges Format.|1}}
          |  }} 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Pflichtparameter 'archiv-datum' wurde nicht angegeben.|1}}
      }}
    | {{#if: 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Parameter 'archiv-datum' ist nur in Verbindung mit 'archiv-url' angebbar.|1}}
      }}
  }}{{#if:{{#invoke:URLutil|isHostPathResource|http://java.interoperabilitybridges.com/articles/deploying-a-java-application-to-windows-azure-with-command-line-ant}}
    || {{#if:  || }}
  }}{{#if: cloudcomputing.sys-con.com
    | {{#if: {{#invoke:WLink|isBracketedLink|cloudcomputing.sys-con.com}}
        | {{#if:  || }}
      }}
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Linktext_fehlt
  }}{{#switch: 
    |addlarchives|addlpages= {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/Parameter}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: enWP-Wert im Parameter 'format'.|1}}
  }}{{#ifeq: {{#invoke:Str|find|http://java.interoperabilitybridges.com/articles/deploying-a-java-application-to-windows-azure-with-command-line-ant%7Carchiv}} |-1
    || {{#ifeq: {{#invoke:Str|find|{{#invoke:Str|cropleft|http://java.interoperabilitybridges.com/articles/deploying-a-java-application-to-windows-azure-with-command-line-ant%7C4}}%7Chttp}} |-1
         || {{#switch: {{#invoke:Webarchiv|getdomain|http://java.interoperabilitybridges.com/articles/deploying-a-java-application-to-windows-azure-with-command-line-ant }}
              | abendblatt.de | daserste.ndr.de | inarchive.com | webcitation.org = 
              | #default = {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/URL}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Archiv-URL im Parameter 'url' anstatt URL der Originalquelle. Entferne den vor der Original-URL stehenden Mementobestandteil und setze den Archivierungszeitstempel in den Parameter 'wayback', 'webciteID', 'archive.today' oder 'archive-is' ein, sofern nicht bereits befüllt.|1}}
            }} 
       }}
  }} abgerufen am 6. Mai 2011</ref> Es gab viele Enttäuschungen über die Leistungsfähigkeit des Cloud Computings, aber auch positive Auswirkungen.

In Japan haben bereits große Unternehmen damit begonnen, PaaS-Angebote wie Force.com zu nutzen, um einer großen Zahl von Nutzern Kundenanwendungen ortstransparent zur Verfügung stellen zu können. Dabei hat sich herausgestellt, dass sich PaaS-Angebote momentan nur für in sich abgeschlossene Anwendungen eignen, die keine komplexe Datenverarbeitung und kein komplexes Anwendungsdesign erfordern. Die Daten, die diese Anwendungen benötigen, werden meist noch über einen ETL-Prozess aus den eigenen Rechenzentren der Unternehmen bezogen, da sie noch nicht in der Cloud verfügbar sind.<ref name="architecture" />

Abgrenzung zu IaaS und SaaS

Eine Abgrenzung von PaaS- zu IaaS-Angeboten ist schwierig, da viele PaaS-Anbieter darunter liegende IaaS-Angebote nutzen und bündeln.<ref name="aws.amazon.com">AWS Elastic Beanstalk (beta). aws.amazon.com Amazon, 2010; abgerufen am 2. Juni 2011</ref> Allerdings lassen die meisten PaaS-Angebote keinen direkten Zugriff auf das Betriebssystem zu, die PaaS-Dienste sind nur über APIs ansprechbar. Die Konfiguration von PaaS-Diensten kann sowohl über eine Weboberfläche als auch selbst wieder über eine API erfolgen. Der Nutzer einer PaaS-Umgebung muss sich nicht um das Betriebssystem, die Middleware und Laufzeitumgebung für seine Anwendung kümmern, wie es bei IaaS-Angeboten der Fall ist.<ref>W. Tonninger: Die Cloud-Gretchen-Frage: IaaS oder PaaS? 25. Februar 2011, businessreadyblog.wordpress.com abgerufen am 2. Juni 2011</ref>

Um PaaS- von SaaS-Angeboten abgrenzen zu können, zieht man am besten die Zielgruppe heran. SaaS-Anwendungen sind in der Regel explizit für Endanwender gedacht, besitzen eine graphische Bedienoberfläche und können auf IaaS- oder PaaS-Angeboten aufbauen. Dahingegen sind PaaS-Angebote für Entwickler gedacht und bieten ihnen eine Entwicklungsumgebung sowie einen Container für ihre Anwendungen und weitere Middleware-Dienste an. Entwickler können somit ihre gesamten Anwendungen in eine PaaS-Umgebung verteilen. Der Zugriff auf diese Middleware-Dienste geschieht über APIs.

Es existieren allerdings auch SaaS-Angebote wie Google Drive,<ref>Willkommen bei Google Drive. Google, 2011, drive.google.com abgerufen am 26. April 2012</ref> die Entwicklern Schnittstellen zur Verfügung stellen. Sie sind allerdings zumeist dafür gedacht, die SaaS-Anwendung zu erweitern oder mit ihr zu kommunizieren (siehe Add-on-PaaS). Es existieren auch SaaS-Anwendungen ohne graphische Bedienoberfläche, sie sind aber nicht weit verbreitet.

Typen

Application PaaS (aPaaS) / Stand Alone Umgebungen

Unter aPaaS versteht man eine Cloud-Umgebung zum Erstellen und Betreiben von Geschäftsanwendungen, die durch eine graphische Benutzungsschnittstelle oder durch eine Programmierschnittstelle (API) Anwendern zur Verfügung gestellt wird. Ein Beispiel wäre eine Webanwendung zum Verwalten von Terminen, welche in der Google App Engine laufen könnte.<ref name="architecture" />

Integration and Governance PaaS (iPaaS)

Im Gegensatz dazu steht iPaaS als Cloud-Umgebung zum Vermitteln zwischen heterogenen, Cloud-basierten Anwendungen durch Interoperabilität, Integration und Governance. Ein Beispiel wäre ein Adapter, der verschiedene Cloud-Dienste wie auch On-Premises-Dienste verbindet und dies wiederum als Cloud-Dienst anbietet, ohne dabei zwangsläufig eine graphische Bedienoberfläche zur Verfügung zu stellen. iPaas soll dabei die bisherige Integrations-Middleware ablösen und gemäß dem Cloud-Paradigma hochskalierbar sein. Anbieter solcher Lösungen sind bspw. Zapier, Integromat (Celonis), Lobster_data, MuleSoft, Jitterbit, Outsystems, Scheer PAS, Workato uvm.<ref>iPaaS: Integration for the Cloud Era. MuleSoft, 2011, mulesoft.com abgerufen am 3. Juni 2011</ref><ref>{{#if:|{{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}| |}}}}{{#if:|: }}{{#if:|{{#if:iPaaS Software 2020|[{{#invoke:Vorlage:Internetquelle|archivURL|1={{#invoke:URLutil|getNormalized|1={{{archiv-url}}}}}}} {{#invoke:Vorlage:Internetquelle|TitelFormat|titel=iPaaS Software 2020}}]{{#if:| ({{{format}}})}}{{#if:| {{{titelerg}}}{{#invoke:Vorlage:Internetquelle|Endpunkt|titel={{{titelerg}}}}}}}}}|{{#if:https://www.g2.com/categories/ipaas?utf8=%E2%9C%93&filters%5Bstar_rating%5D%5B%5D=5&order=top_shelf%7C{{#if:{{#invoke:TemplUtl%7Cfaculty%7C}}%7C{{#invoke:Vorlage:Internetquelle%7CTitelFormat%7Ctitel={{#invoke:WLink%7CgetEscapedTitle%7C1=iPaaS Software 2020}}}}|[{{#invoke:URLutil|getNormalized|1=https://www.g2.com/categories/ipaas?utf8=%E2%9C%93&filters%5Bstar_rating%5D%5B%5D=5&order=top_shelf}} {{#invoke:Vorlage:Internetquelle|TitelFormat|titel={{#invoke:WLink|getEscapedTitle|1=iPaaS Software 2020}}}}]}}{{#if:| ({{{format}}}{{#if:{{#if: 2020-11-26 | {{#if:{{#invoke:TemplUtl|faculty|}}||1}}}}

          | )
          | {{#if:{{#ifeq:de|de||{{#if:|1}}}}| ; 
              | )}}}}}}{{#if:| {{{titelerg}}}{{#invoke:Vorlage:Internetquelle|Endpunkt|titel={{{titelerg}}}}}}}}}}}{{#if:https://www.g2.com/categories/ipaas?utf8=%E2%9C%93&filters%5Bstar_rating%5D%5B%5D=5&order=top_shelf%7C{{#if:{{#invoke:URLutil%7CisResourceURL%7C1=https://www.g2.com/categories/ipaas?utf8=%E2%9C%93&filters%5Bstar_rating%5D%5B%5D=5&order=top_shelf}}%7C%7C}}}}{{#if:iPaaS Software 2020|{{#if:{{#invoke:WLink|isValidLinktext|1=iPaaS Software 2020|lines=0}}||}}}}{{#if: | In: {{#invoke:Vorlage:Internetquelle|TitelFormat|titel=}}}}{{#if: | {{#if: |,|{{#if: 2020-11-26 | {{#if:{{#invoke:TemplUtl|faculty|}}|;|,}}}}}}}}{{#if: | {{#if:{{#invoke:DateTime|format||noerror=1}}
            |{{#invoke:DateTime|format||T._Monat JJJJ}}
            |{{#invoke:TemplUtl|failure|1=Fehler bei Vorlage:Internetquelle, datum=|class=Zitationswartung}} }}{{#if: |,|{{#if: 2020-11-26 | {{#if:{{#invoke:TemplUtl|faculty|}}|;|,}}}}}}}}{{#if: | S. {{{seiten}}}{{#if: |,|{{#if: 2020-11-26 | {{#if:{{#invoke:TemplUtl|faculty|}}|;|,}}}}}}}}{{#if: {{#invoke:TemplUtl|faculty|}}| {{#if:|{{#if:|archiviert|ehemals}}|{{#if:|Archiviert|Ehemals}}}} {{#if:|vom|im}} Vorlage:Referrer{{#if:{{#invoke:TemplUtl|faculty|}}| (nicht mehr online verfügbar)}}{{#if: | am {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}|{{{archiv-datum}}}{{#if:1704511||(?)}}}}}}{{#if: 2020-11-26|;}}}}{{#if: 2020-11-26| {{#if:{{#invoke:TemplUtl|faculty|}}|abgerufen|Abgerufen}} {{#switch: {{#invoke:Str|len| {{#invoke:DateTime|format| 2020-11-26 |ISO|noerror=1}} }}
       |4=im Jahr
       |7=im
       |10=am
       |#default={{#invoke:TemplUtl|failure|1=Fehler bei Vorlage:Internetquelle, abruf=2020-11-26|class=Zitationswartung}} }} {{#invoke:DateTime|format|2020-11-26|T._Monat JJJJ}}
    | {{#invoke:TemplUtl|failure|1=Vorlage:Internetquelle | abruf=2026-MM-TT ist Pflichtparameter}} }}{{#if:{{#ifeq:de|de||{{#if:|1}}}}|{{#if:{{#if: 2020-11-26 | {{#if:{{#invoke:TemplUtl|faculty|}}||1}}}}
       |  (
       | {{#if: | |  (}}
       }}{{#ifeq:{{#if:de|de|de}}|de||
          {{#invoke:Multilingual|format|{{{sprache}}}|slang=!|split=[%s,]+|shift=m|separator=, }}}}{{#if: |{{#ifeq:{{#if:de|de|de}}|de||, }}{{{kommentar}}}}})}}{{#if: {{#if: 2020-11-26 | {{#if:{{#invoke:TemplUtl|faculty|}}||1}} }}|{{#if: |: {{
 #if: 
 | {{
     #ifeq: {{#if:{{#if: {{#invoke:templutl|faculty|}}|de-ch|de}}|{{#if: {{#invoke:templutl|faculty|}}|de-ch|de}}|de}} | de
     | Vorlage:Str trim
     | {{#invoke:Vorlage:lang|flat}}
     }}
 | {{#ifeq: {{#if:{{#if: {{#invoke:templutl|faculty|}}|de-ch|de}}|{{#if: {{#invoke:templutl|faculty|}}|de-ch|de}}|de}} | de
     | „Vorlage:Str trim“
     | {{#invoke:Text|quote
         |1={{#if: 
              | {{#invoke:Vorlage:lang|flat}}
              | {{#invoke:Vorlage:lang|flat}} }}
         |2={{#if: {{#invoke:TemplUtl|faculty|}}|de-CH|de}}
         |3=1}} }}

}}{{#if:

   |  (<templatestyles src="Person/styles.css" />{{#if:  | :  }}{{#if:  | , deutsch: „“ }})
   | {{#if: 
       |  ({{#if:  | , deutsch: „“ }})
       | {{#if:  |  (deutsch: „“) }}
 }}

}}{{#if: {{{zitat}}}

   | {{#if: 
       | {{#if: {{{zitat}}}
           | Vorlage:": Text= und 1= gleichzeitig, bzw. Pipe zu viel }} }}
   | Vorlage:": Text= fehlt }}{{#if:  | {{#if: {{#invoke:Text|unstrip|{{{ref}}}}}
             | Vorlage:": Ungültiger Wert: ref=
             | {{{ref}}} }}

}}|.{{#if:{{#invoke:TemplUtl|faculty|}}|{{#if:||{{#ifeq: | JaKeinHinweis |{{#switch:

   |0|=Vorlage:Toter Link/Core{{#if: https://www.g2.com/categories/ipaas?utf8=%E2%9C%93&filters%5Bstar_rating%5D%5B%5D=5&order=top_shelf
       | {{#if:  | [1] }} (Seite {{#switch:|no|0|=|dauerhaft }}nicht mehr abrufbar{{#if:  | , festgestellt im {{#invoke:DateTime|format||F Y}} }}. Suche im Internet Archive ){{#if: 
           | {{#if: deadurlausgeblendet | | Vorlage:Toter Link/archivebot }}
         }}
       |   (Seite {{#switch:|no|0|=|#default=dauerhaft }}nicht mehr abrufbar{{#if:  | , festgestellt im {{#invoke:DateTime|format||F Y}} }}.)
     }}{{#switch: 
         |no|0|=
         |#default={{#if:  ||  }}
    }}{{#invoke:TemplatePar|check
         |opt      = inline= url= text= datum= date= archivebot= bot= botlauf= fix-attempted= checked=
         |cat      = Wikipedia:Vorlagenfehler/Vorlage:Toter Link
         |errNS    = 0
         |template = Vorlage:Toter Link
         |format   = 
         |preview  = 1
    }}{{#if: https://www.g2.com/categories/ipaas?utf8=%E2%9C%93&filters%5Bstar_rating%5D%5B%5D=5&order=top_shelf
      | {{#if:{{#invoke:URLutil|isWebURL|https://www.g2.com/categories/ipaas?utf8=%E2%9C%93&filters%5Bstar_rating%5D%5B%5D=5&order=top_shelf}}
          || {{#if:  ||  }} 
        }}
      | {{#if: 
           | {{#if:  ||  }}
           | {{#if:  ||  }}
        }}
    }}{{#if: 
       | {{#if:{{#invoke:DateTime|format||F Y|noerror=1}}
             || {{#if:  ||  }} 
         }}
    }}{{#switch: deadurl
         |checked|deadurl|= 
         |#default=  {{#if:  ||  }}
    }}|#default= https://wiki-de.moshellshocker.dns64.de/index.php?title=Wikipedia:Defekte_Weblinks&dwl=https://www.g2.com/categories/ipaas?utf8=%E2%9C%93&filters%5Bstar_rating%5D%5B%5D=5&order=top_shelf Die nachstehende Seite ist {{#switch:|no|0|=|dauerhaft }}nicht mehr abrufbar]{{#if:  | , festgestellt im {{#invoke:DateTime|format||F Y}} }}. (Suche im Internet Archive. )  {{#if: 
            | {{#if: deadurlausgeblendet | | Vorlage:Toter Link/archivebot }}
         }}Vorlage:Toter Link/Core{{#switch: 
          |no|0|=
          |#default= {{#if:  ||  }}
        }}{{#invoke:TemplatePar|check
         |all      = inline= url=
         |opt      = datum= date= archivebot= bot= botlauf= fix-attempted= checked=
         |cat      = Wikipedia:Vorlagenfehler/Vorlage:Toter Link
         |errNS    = 0
         |template = Vorlage:Toter Link
         |format   = 
         |preview  = 1
       }}{{#if: https://www.g2.com/categories/ipaas?utf8=%E2%9C%93&filters%5Bstar_rating%5D%5B%5D=5&order=top_shelf
       | {{#if:{{#invoke:URLutil|isWebURL|https://www.g2.com/categories/ipaas?utf8=%E2%9C%93&filters%5Bstar_rating%5D%5B%5D=5&order=top_shelf}}
          || {{#if:  ||  }} 
        }}
    }}{{#if: 
         | {{#if:{{#invoke:DateTime|format||F Y|noerror=1}}
             || {{#if:  ||  }} 
           }}
    }}{{#switch: deadurl
         |checked|deadurl|= 
         |#default=  {{#if:  ||  }}
    }}[https://www.g2.com/categories/ipaas?utf8=%E2%9C%93&filters%5Bstar_rating%5D%5B%5D=5&order=top_shelf }}|{{#switch: 
   |0|=Vorlage:Toter Link/Core{{#if: https://www.g2.com/categories/ipaas?utf8=%E2%9C%93&filters%5Bstar_rating%5D%5B%5D=5&order=top_shelf
       | {{#if:  | [2] }} (Seite {{#switch:|no|0|=|dauerhaft }}nicht mehr abrufbar{{#if:  | , festgestellt im {{#invoke:DateTime|format||F Y}} }}. Suche im Internet Archive ){{#if: 
           | {{#if:  | | Vorlage:Toter Link/archivebot }}
         }}
       |   (Seite {{#switch:|no|0|=|#default=dauerhaft }}nicht mehr abrufbar{{#if:  | , festgestellt im {{#invoke:DateTime|format||F Y}} }}.)
     }}{{#switch: 
         |no|0|=
         |#default={{#if:  ||  }}
    }}{{#invoke:TemplatePar|check
         |opt      = inline= url= text= datum= date= archivebot= bot= botlauf= fix-attempted= checked=
         |cat      = Wikipedia:Vorlagenfehler/Vorlage:Toter Link
         |errNS    = 0
         |template = Vorlage:Toter Link
         |format   = 
         |preview  = 1
    }}{{#if: https://www.g2.com/categories/ipaas?utf8=%E2%9C%93&filters%5Bstar_rating%5D%5B%5D=5&order=top_shelf
      | {{#if:{{#invoke:URLutil|isWebURL|https://www.g2.com/categories/ipaas?utf8=%E2%9C%93&filters%5Bstar_rating%5D%5B%5D=5&order=top_shelf}}
          || {{#if:  ||  }} 
        }}
      | {{#if: 
           | {{#if:  ||  }}
           | {{#if:  ||  }}
        }}
    }}{{#if: 
       | {{#if:{{#invoke:DateTime|format||F Y|noerror=1}}
             || {{#if:  ||  }} 
         }}
    }}{{#switch: 
         |checked|deadurl|= 
         |#default=  {{#if:  ||  }}
    }}|#default= https://wiki-de.moshellshocker.dns64.de/index.php?title=Wikipedia:Defekte_Weblinks&dwl=https://www.g2.com/categories/ipaas?utf8=%E2%9C%93&filters%5Bstar_rating%5D%5B%5D=5&order=top_shelf Die nachstehende Seite ist {{#switch:|no|0|=|dauerhaft }}nicht mehr abrufbar]{{#if:  | , festgestellt im {{#invoke:DateTime|format||F Y}} }}. (Suche im Internet Archive. )  {{#if: 
            | {{#if:  | | Vorlage:Toter Link/archivebot }}
         }}Vorlage:Toter Link/Core{{#switch: 
          |no|0|=
          |#default= {{#if:  ||  }}
        }}{{#invoke:TemplatePar|check
         |all      = inline= url=
         |opt      = datum= date= archivebot= bot= botlauf= fix-attempted= checked=
         |cat      = Wikipedia:Vorlagenfehler/Vorlage:Toter Link
         |errNS    = 0
         |template = Vorlage:Toter Link
         |format   = 
         |preview  = 1
       }}{{#if: https://www.g2.com/categories/ipaas?utf8=%E2%9C%93&filters%5Bstar_rating%5D%5B%5D=5&order=top_shelf
       | {{#if:{{#invoke:URLutil|isWebURL|https://www.g2.com/categories/ipaas?utf8=%E2%9C%93&filters%5Bstar_rating%5D%5B%5D=5&order=top_shelf}}
          || {{#if:  ||  }} 
        }}
    }}{{#if: 
         | {{#if:{{#invoke:DateTime|format||F Y|noerror=1}}
             || {{#if:  ||  }} 
           }}
    }}{{#switch: 
         |checked|deadurl|= 
         |#default=  {{#if:  ||  }}
    }}[https://www.g2.com/categories/ipaas?utf8=%E2%9C%93&filters%5Bstar_rating%5D%5B%5D=5&order=top_shelf }} }}}}}}}}}}{{#if:|
        {{#invoke:Vorlage:Internetquelle|archivBot|stamp={{{archiv-bot}}}|text={{#if:|Vorlage:Webarchiv/archiv-bot}}

}}}}{{#invoke:TemplatePar|check |all= url= titel= |opt= autor= hrsg= format= sprache= titelerg= werk= seiten= datum= abruf= zugriff= abruf-verborgen= archiv-url= archiv-datum= archiv-bot= kommentar= zitat= AT= CH= offline= |cat= {{#ifeq: 0 | 0 | Wikipedia:Vorlagenfehler/Vorlage:Internetquelle}} |template= Vorlage:Internetquelle |format=0 |preview=1 }}</ref>

Add-on-Entwicklungsumgebungen

Add-on-Entwicklungsumgebungen erlauben es, bestehende Software-as-a-Service-Anwendungen anzupassen. Das Vorgehen ist ähnlich wie beispielsweise die Anpassung von Microsoft Word oder Lotus Notes durch Makrosprachen oder von außen durch APIs, die von der SaaS-Anwendung zur Verfügung gestellt werden. PaaS-Entwickler benötigen hierzu meist Zugriff auf die SaaS-Anwendung selbst, entweder über ein Abo oder eine kostenlose Entwicklerlizenz.

Reine Anwendungsbereitstellung

Einige PaaS-Angebote unterstützen nicht die Entwicklung, das Debuggen oder Testen von Anwendungen, sondern bieten nur den Betrieb von Anwendungen in einer skalierbaren Umgebung und darüber hinaus etwa Sicherheitsdienste an.

Offenes PaaS

Bei offenen PaaS-Angeboten werden dem Entwickler weder Programmiersprache noch Datenbanksystem, Betriebssystem oder Server vorgegeben.<ref>Open Platform as a Service</ref>

Aufbau, Eigenschaften und Besonderheiten

Laufzeit- und Entwicklungsumgebung

Mit der Unterteilung von PaaS in Entwicklungs- und Ausführungsumgebung soll dem Entwickler ermöglicht werden, sich auf eine Entwicklungsumgebung wie zum Beispiel Django<ref>Django – The Web framework for perfectionists with deadlines. 2011, djangoproject.com abgerufen am 3. Juni 2011</ref> festzulegen, aber bei der Wahl der Ausführungsumgebung flexibel zu sein und hier auch zwischen Anbietern wechseln zu können.<ref>A. Lenk, M. Klems, J. Nimis, S. Tai, T. Sandholm: What’s Inside the Cloud? An Architectural Map of the Cloud Landscape. ICSE’09 Workshop, 23. März 2009</ref>

Um eine hohe Ausfallsicherheit zu erreichen, müssen von jeder Anwendung mindestens zwei Instanzen laufen, damit im Falle eines Fehlers bei einer Instanz die andere übernehmen kann.<ref name="azuresla">microsoft.com</ref> Da Anwendungen in PaaS-Umgebungen in der Regel sowohl Rechen- wie auch Daten- und andere Middleware-Dienste benötigen, ist zu beachten, dass beim Ausfall von einem der genutzten Dienste auch die Verfügbarkeit des Gesamtsystems leiden kann. Die Anbieter versprechen in ihren SLAs in der Regel nur eine Verfügbarkeit von 99,5, 99,9 oder 99,95 Prozent für jeden einzelnen Dienst, nicht aber für alle Dienste zusammen. Bei anbieterseitigen Verletzungen der SLAs werden meist nur Gutschriften zwischen 10 und 25 Prozent auf die Monatsrechnung erstattet.<ref name="azuresla" /><ref>aws.amazon.com</ref><ref>aws.amazon.com</ref><ref><templatestyles src="Webarchiv/styles.css" />{{#if:20120116054506

      | {{#ifeq: 20120116054506 | *
    | Vorlage:Webarchiv/Wartung/Stern{{#if: code.google.com | {{#invoke:WLink|getEscapedTitle|code.google.com}} | {{#invoke:Webarchiv|getdomain|http://code.google.com/intl/de-DE/appengine/sla.html}} }} (Archivversionen)
    | {{#iferror: {{#time: j. F Y|20120116054506}}
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/DatumDer Wert des Parameters {{#if: wayback | wayback | Datum }} muss ein gültiger Zeitstempel der Form YYYYMMDDHHMMSS sein!
         | {{#if: code.google.com | {{#invoke:WLink|getEscapedTitle|code.google.com}} | {{#invoke:Webarchiv|getdomain|http://code.google.com/intl/de-DE/appengine/sla.html}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y|20120116054506}} im Internet Archive{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
      }}
  }}
      | {{#if:
          | {{#iferror: {{#time: j. F Y|{{{webciteID}}}}}
    | {{#switch: {{#invoke:Str|len|{{{webciteID}}}}}
       | 16= {{#if: code.google.com | {{#invoke:WLink|getEscapedTitle|code.google.com}} | {{#invoke:Webarchiv|getdomain|http://code.google.com/intl/de-DE/appengine/sla.html}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{{webciteID}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | 9 = {{#if: code.google.com | {{#invoke:WLink|getEscapedTitle|code.google.com}} | {{#invoke:Webarchiv|getdomain|http://code.google.com/intl/de-DE/appengine/sla.html}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{#invoke:Expr|base62|{{{webciteID}}}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | #default= Der Wert des Parameters {{#if: webciteID | webciteID | ID }} muss entweder ein Zeitstempel der Form YYYYMMDDHHMMSS oder ein Schüsselwert mit 9 Zeichen oder eine 16-stellige Zahl sein!Vorlage:Webarchiv/Wartung/webcitation{{#if:  || }}
      }}
    | c|{{{webciteID}}}}} {{#if: code.google.com | {{#invoke:WLink|getEscapedTitle|code.google.com}} | {{#invoke:Webarchiv|getdomain|http://code.google.com/intl/de-DE/appengine/sla.html}} }} (Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y|{{{webciteID}}}}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
  }}
          | {{#if: 
              | Vorlage:Webarchiv/Today
              | {{#if:
                      | Vorlage:Webarchiv/Generisch
                      | {{#if: code.google.com | {{#invoke:WLink|getEscapedTitle|code.google.com}} | {{#invoke:Webarchiv|getdomain|http://code.google.com/intl/de-DE/appengine/sla.html}} }}  
                 }}}}}}}}{{#if:
    | Vorlage:Webarchiv/archiv-bot
  }}{{#invoke:TemplatePar|check
     |all      = url=
     |opt      = text= wayback= webciteID= archive-is= archive-today= archiv-url= archiv-datum= ()= archiv-bot= format= original=
     |cat      = Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
     |errNS    = 0
     |template = Vorlage:Webarchiv
     |format   = *
     |preview  = 1
  }}{{#ifexpr: {{#if:20120116054506|1|0}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}} <> 1
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Genau einer der Parameter 'wayback', 'webciteID', 'archive-today', 'archive-is' oder 'archiv-url' muss angegeben werden.|1}}
  }}{{#if: 
    | {{#switch: {{#invoke:Webarchiv|getdomain|{{{archiv-url}}}}}
        | web.archive.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von Internet Archive erkannt, bitte Parameter 'wayback' benutzen.|1}} 
        | webcitation.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von WebCite erkannt, bitte Parameter 'webciteID' benutzen.|1}} 
        | archive.today |archive.is |archive.ph |archive.fo |archive.li |archive.md |archive.vn = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von archive.today erkannt, bitte Parameter 'archive-today' benutzen.|1}}
      }}{{#if: 
         | {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}
             | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Wert des Parameter 'archiv-datum' ist ungültig oder hat ein ungültiges Format.|1}}
          |  }} 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Pflichtparameter 'archiv-datum' wurde nicht angegeben.|1}}
      }}
    | {{#if: 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Parameter 'archiv-datum' ist nur in Verbindung mit 'archiv-url' angebbar.|1}}
      }}
  }}{{#if:{{#invoke:URLutil|isHostPathResource|http://code.google.com/intl/de-DE/appengine/sla.html}}
    || {{#if:  || }}
  }}{{#if: code.google.com
    | {{#if: {{#invoke:WLink|isBracketedLink|code.google.com}}
        | {{#if:  || }}
      }}
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Linktext_fehlt
  }}{{#switch: 
    |addlarchives|addlpages= {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/Parameter}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: enWP-Wert im Parameter 'format'.|1}}
  }}{{#ifeq: {{#invoke:Str|find|http://code.google.com/intl/de-DE/appengine/sla.html%7Carchiv}} |-1
    || {{#ifeq: {{#invoke:Str|find|{{#invoke:Str|cropleft|http://code.google.com/intl/de-DE/appengine/sla.html%7C4}}%7Chttp}} |-1
         || {{#switch: {{#invoke:Webarchiv|getdomain|http://code.google.com/intl/de-DE/appengine/sla.html }}
              | abendblatt.de | daserste.ndr.de | inarchive.com | webcitation.org = 
              | #default = {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/URL}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Archiv-URL im Parameter 'url' anstatt URL der Originalquelle. Entferne den vor der Original-URL stehenden Mementobestandteil und setze den Archivierungszeitstempel in den Parameter 'wayback', 'webciteID', 'archive.today' oder 'archive-is' ein, sofern nicht bereits befüllt.|1}}
            }} 
       }}
  }}</ref>

Programmiermodell

Das Programmiermodell in der Cloud ist vergleichbar mit Enterprise-Anwendungen (Cluster aus Application Servern mit Load Balancer), da beide skalierbar und ausfallsicher sein müssen. Um also skalierbare Anwendungen in der Cloud betreiben zu können, müsse diese auf Asynchronität und Zustandslosigkeit setzen. Ansonsten erreicht man lediglich ein Hosting in einer Cloud-Umgebung, das ohne gute Skalierbarkeit und Ausfallsicherheit auskommen muss.

Das Windows-Azure-Programmiermodell verlangt zum Beispiel drei Voraussetzungen, die erfüllt sein müssen, um die Skalier- und Ausfallsicherheit zu gewährleisten. Erstens muss eine Anwendung in eine oder mehrere logische Rollen unterteilt werden, zweitens müssen mehrere Instanzen einer Rolle gleichzeitig laufen und drittens muss die Anwendung sich auch noch korrekt verhalten, wenn eine Instanz einer Rolle abstürzt. Zusätzlich darf die Anwendung keinen Zustand speichern, da der Load Balancer im Gegensatz zu beispielsweise Amazons Elastic Beanstalk keine Sticky Sessions/Cookies verwendet.

Veränderungen am Betriebssystem müssen, sofern sie überhaupt möglich sind, bei jedem Start einer Instanz vorgenommen werden, und Daten, wenn sie lokal gespeichert werden können, sind in der Regel nicht für alle Instanzen verfügbar und können beim Neustart einer Instanz verloren gehen. Um die Kommunikation zwischen Instanzen zu ermöglichen, muss in der Regel auf ein Message Queuing System gesetzt werden, das zum Teil sogar eine At-least-once-Semantik verfolgen muss, somit muss die Verarbeitung der Messages idempotent sein.

Beim Aufbau einer PaaS-Umgebung können also in der Regel bestehende Enterprise-Programmiermodelle wie JEE oder das .Net-Framework verwendet werden, jedoch muss sich der Entwickler eventuell auf Änderungen einstellen, wenn er bisher noch keine skalierbaren Anwendungen entwickelt hat.

Entwicklungsprozess

Der Entwicklungsprozess unterscheidet sich nicht groß von der Anwendungsentwicklung für Application Server, wie zum Beispiel JEE. Anwendungen werden lokal spezifiziert, entworfen, entwickelt, getestet, paketiert und schließlich in die Cloud-Plattform übertragen. Viele Anbieter wie Google App Engine, Microsoft Azure oder Amazons Elastic Beanstalk erlauben es, mehrere Versionen der gleichen Anwendung parallel laufen zu lassen, um so zum Beispiel Live-, Stage- und Testumgebungen anzubieten und damit auch ein Rollback zu einer früheren Version zu ermöglichen. Die großen Anbieter bringen auch direkte Unterstützung für IDEs mit, um die Anwendungen direkt aus der IDE in die Cloud-Umgebung zu übertragen.

Ein PaaS-Anbieter muss also dafür sorgen, dass alle Versionen einer Anwendung gespeichert werden, und kann zusätzlich IDE-Komfortfunktionen anbieten, um die Anwendungen aus der IDE heraus zu verteilen.

Der Aufwand, um eine On-Premises-Lösung so in die Cloud zu portieren, so dass sie dort auch skaliert, kann abhängig vom verwendeten Programmiermodell von wenigen Stunden bis zur kompletten Neuentwicklung reichen.

Um den Aufwand zu minimieren, wenn lediglich eine geringe Skalierbarkeit benötigt wird, gibt es Multi-Tenancy-Patterns,<ref name="multi-tenancy1">Chang Jie Guo, Wei Sun, Ying Huang, Zhi Hu Wang und Bo Gao. A Framework for Native Multi-Tenancy Application Development and Management. cec-eee, pp. 551–558, The 9th IEEE International Conference on E-Commerce Technology and The 4th IEEE International Conference on Enterprise Computing, E-Commerce and E-Services (CEC-EEE 2007), 2007</ref><ref name="multi-tenancy2">R. Mietzner, T. Unger, R. Titze und F. Leymann. Combining Different Multi-Tenancy Patterns in Service-Oriented Applications.</ref> die zum Beispiel nicht-mandantenfähige Anwendungen mit geringem Aufwand mandantenfähig machen, allerdings für den Preis einer eingeschränkten Skalierbarkeit.

Laufzeitumgebung

Die Laufzeitumgebung einer PaaS-Umgebung kann über APIs oder eine Weboberfläche konfiguriert werden. So können zum Beispiel Anwendungen gestartet und beendet oder die maximale und minimale Anzahl an Instanzen festgelegt werden. Auch das Monitoring und die damit verbundene Autoskalierbarkeit der Anwendungen kann über APIs oder eine Weboberfläche erfolgen.

Einige Laufzeitumgebungen wie etwa JEE in der Google App Engine bieten nur eine Teilmenge der eigentlichen Laufzeitumgebungen, um die Skalierbarkeit und Ausfallsicherheit zu gewährleisten. So ist es zum Beispiel in der Google App Engine nicht erlaubt, Java Threads zu starten oder direkt auf das Datei- oder Betriebssystem zuzugreifen. Diese Einschränkungen werden meist durch separate APIs ausgeglichen, um die Funktionen dennoch anzubieten, aber die Skalierbarkeit und Ausfallsicherheit nicht zu gefährden. Auch können über solche APIs Quotas wie für HTTP-Requests oder E-Mail-Versand durchgesetzt werden, welche die Stabilität der Laufzeitumgebung garantieren. Einige Anbieter bieten noch zusätzliche APIs für Dienste wie memcached oder Bildverarbeitung an. Gebündelt werde alle anbieterspezifischen APIs zusammen mit den Laufzeitumgebungen in SDKs.

Der Nachteil dieser Anpassungen der Laufzeitumgebungen ist eine erschwerte Portierbarkeit, da die zusätzlichen Dienste nicht anbieterübergreifend über einheitliche APIs verfügbar sind. Es gibt zwar Standardisierungsgremien wie OpenStack<ref>StartingPage, 30. Mai 2011, wiki.openstack.org abgerufen am 5. Juni 2011</ref> und Open Cloud Computing Interface (Occi).<ref>Open Cloud Computing Interface – Open Standard – Open Community. 2011, abgerufen am 5. Juni 2011</ref> Sie fokussieren ihre Arbeit jedoch mehr auf die Standardisierung der Management- und Speicher-APIs als auf die Anwendungscontainer.

Persistenz

Fast jede Anwendung muss Daten speichern, allerdings kann dies in Cloud-Umgebungen nicht auf der Festplatte der Laufzeitumgebung passieren, da die Laufzeitumgebungen ausgeschaltet und die Anwendungen auf anderen Laufzeitumgebungen neu gestartet werden können müssen. Daher bieten die meisten PaaS-Anbieter verschiedene Persistenzmöglichkeiten als Dienst über eine API an. Verschiedene Dienste wie BLOB-Speicher, SQL-Datenbanken, NoSQL-Datenbanken, hochverfügbare Caches oder Memcache-Server gehören somit zum Service der großen PaaS-Anbieter.<ref><templatestyles src="Webarchiv/styles.css" />{{#if:20120225140620

      | {{#ifeq: 20120225140620 | *
    | Vorlage:Webarchiv/Wartung/Stern{{#if: App Engine Java Overview - Google App Engine. | {{#invoke:WLink|getEscapedTitle|App Engine Java Overview - Google App Engine.}} | {{#invoke:Webarchiv|getdomain|http://code.google.com/intl/de-DE/appengine/docs/java/overview.html}} }} (Archivversionen)
    | {{#iferror: {{#time: j. F Y|20120225140620}}
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/DatumDer Wert des Parameters {{#if: wayback | wayback | Datum }} muss ein gültiger Zeitstempel der Form YYYYMMDDHHMMSS sein!
         | {{#if: App Engine Java Overview - Google App Engine. | {{#invoke:WLink|getEscapedTitle|App Engine Java Overview - Google App Engine.}} | {{#invoke:Webarchiv|getdomain|http://code.google.com/intl/de-DE/appengine/docs/java/overview.html}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y|20120225140620}} im Internet Archive{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
      }}
  }}
      | {{#if:
          | {{#iferror: {{#time: j. F Y|{{{webciteID}}}}}
    | {{#switch: {{#invoke:Str|len|{{{webciteID}}}}}
       | 16= {{#if: App Engine Java Overview - Google App Engine. | {{#invoke:WLink|getEscapedTitle|App Engine Java Overview - Google App Engine.}} | {{#invoke:Webarchiv|getdomain|http://code.google.com/intl/de-DE/appengine/docs/java/overview.html}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{{webciteID}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | 9 = {{#if: App Engine Java Overview - Google App Engine. | {{#invoke:WLink|getEscapedTitle|App Engine Java Overview - Google App Engine.}} | {{#invoke:Webarchiv|getdomain|http://code.google.com/intl/de-DE/appengine/docs/java/overview.html}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{#invoke:Expr|base62|{{{webciteID}}}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | #default= Der Wert des Parameters {{#if: webciteID | webciteID | ID }} muss entweder ein Zeitstempel der Form YYYYMMDDHHMMSS oder ein Schüsselwert mit 9 Zeichen oder eine 16-stellige Zahl sein!Vorlage:Webarchiv/Wartung/webcitation{{#if:  || }}
      }}
    | c|{{{webciteID}}}}} {{#if: App Engine Java Overview - Google App Engine. | {{#invoke:WLink|getEscapedTitle|App Engine Java Overview - Google App Engine.}} | {{#invoke:Webarchiv|getdomain|http://code.google.com/intl/de-DE/appengine/docs/java/overview.html}} }} (Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y|{{{webciteID}}}}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
  }}
          | {{#if: 
              | Vorlage:Webarchiv/Today
              | {{#if:
                      | Vorlage:Webarchiv/Generisch
                      | {{#if: App Engine Java Overview - Google App Engine. | {{#invoke:WLink|getEscapedTitle|App Engine Java Overview - Google App Engine.}} | {{#invoke:Webarchiv|getdomain|http://code.google.com/intl/de-DE/appengine/docs/java/overview.html}} }}  
                 }}}}}}}}{{#if:
    | Vorlage:Webarchiv/archiv-bot
  }}{{#invoke:TemplatePar|check
     |all      = url=
     |opt      = text= wayback= webciteID= archive-is= archive-today= archiv-url= archiv-datum= ()= archiv-bot= format= original=
     |cat      = Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
     |errNS    = 0
     |template = Vorlage:Webarchiv
     |format   = *
     |preview  = 1
  }}{{#ifexpr: {{#if:20120225140620|1|0}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}} <> 1
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Genau einer der Parameter 'wayback', 'webciteID', 'archive-today', 'archive-is' oder 'archiv-url' muss angegeben werden.|1}}
  }}{{#if: 
    | {{#switch: {{#invoke:Webarchiv|getdomain|{{{archiv-url}}}}}
        | web.archive.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von Internet Archive erkannt, bitte Parameter 'wayback' benutzen.|1}} 
        | webcitation.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von WebCite erkannt, bitte Parameter 'webciteID' benutzen.|1}} 
        | archive.today |archive.is |archive.ph |archive.fo |archive.li |archive.md |archive.vn = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von archive.today erkannt, bitte Parameter 'archive-today' benutzen.|1}}
      }}{{#if: 
         | {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}
             | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Wert des Parameter 'archiv-datum' ist ungültig oder hat ein ungültiges Format.|1}}
          |  }} 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Pflichtparameter 'archiv-datum' wurde nicht angegeben.|1}}
      }}
    | {{#if: 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Parameter 'archiv-datum' ist nur in Verbindung mit 'archiv-url' angebbar.|1}}
      }}
  }}{{#if:{{#invoke:URLutil|isHostPathResource|http://code.google.com/intl/de-DE/appengine/docs/java/overview.html}}
    || {{#if:  || }}
  }}{{#if: App Engine Java Overview - Google App Engine.
    | {{#if: {{#invoke:WLink|isBracketedLink|App Engine Java Overview - Google App Engine.}}
        | {{#if:  || }}
      }}
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Linktext_fehlt
  }}{{#switch: 
    |addlarchives|addlpages= {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/Parameter}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: enWP-Wert im Parameter 'format'.|1}}
  }}{{#ifeq: {{#invoke:Str|find|http://code.google.com/intl/de-DE/appengine/docs/java/overview.html%7Carchiv}} |-1
    || {{#ifeq: {{#invoke:Str|find|{{#invoke:Str|cropleft|http://code.google.com/intl/de-DE/appengine/docs/java/overview.html%7C4}}%7Chttp}} |-1
         || {{#switch: {{#invoke:Webarchiv|getdomain|http://code.google.com/intl/de-DE/appengine/docs/java/overview.html }}
              | abendblatt.de | daserste.ndr.de | inarchive.com | webcitation.org = 
              | #default = {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/URL}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Archiv-URL im Parameter 'url' anstatt URL der Originalquelle. Entferne den vor der Original-URL stehenden Mementobestandteil und setze den Archivierungszeitstempel in den Parameter 'wayback', 'webciteID', 'archive.today' oder 'archive-is' ein, sofern nicht bereits befüllt.|1}}
            }} 
       }}
  }} Google Code; abgerufen am 5. Juni 2011</ref><ref>Amazon Web Services. 2011 (deutsch), aws.amazon.com abgerufen am 5. Juni 2011</ref><ref>Windows Azure Platform Features. Microsoft, 2011, microsoft.com abgerufen am 5. Juni 2011</ref>

Die meisten Persistenzdienste der PaaS-Anbieter bauen nicht auf relationalen Datenbanken auf, da diese nach dem CAP-Theorem nur zwei der drei Eigenschaften Konsistenz, Verfügbarkeit und Partitionstoleranz gleichzeitig erfüllen können, um den Skalierbarkeitsanforderungen zu genügen.<ref>N. Lynch und S. Gilbert. Brewer’s conjecture and the feasibility of consistent, available, partition-tolerant web services. ACM SIGACT News, Volume 33 Issue 2 (2002), Seite 51–59.</ref> In der Cloud haben sich damit vor allem Key-Value Stores beziehungsweise schemalose NoSQL-Datenbanken etabliert, welche wesentlich besser skalieren, da sie die ACID-Kriterien nicht vollständig einhalten müssen.<ref>A. Carter: The CAP Theorem as it Applies to Contemporary NoSQL Storage Systems. 5. April 2011, github.com (PDF); abgerufen am 5. Juni 2011</ref>

Da viele Kunden dennoch SQL-Datenbanken für die einfache Anwendungsmigration in die Cloud verlangen, werden mittlerweile auch diese angeboten, jedoch mit einer schlechteren Performance als die Key-Value Stores. Auch die BLOB-Speicher der PaaS-Anbieter, wie der S3-Dienst von Amazon, nutzen in der Regel keine Standardsoftware oder -protokolle, sondern verfügen über eine anbieterabhängige API. Um die Portierbarkeit der Anwendungen von einem zum nächsten PaaS-Anbieter zu erleichtern, wird im Java-Umfeld oft die JPA- oder JDO-API für die Datenbanken implementiert.

Nebenläufigkeit und Kommunikation zwischen Anwendungsinstanzen

Damit die Antwortzeit von Anwendungen für den Endnutzer immer akzeptabel ist, brauchen einige Anwendungen für größere Berechnungen die Möglichkeit, sie asynchron zu starten. In Cloud-Umgebungen kann jedoch jederzeit eine Anwendungsinstanz heruntergefahren werden. Somit kann die Berechnung vor der Beendung abgebrochen werden. Außerdem bietet zum Beispiel die Google App Engine keine Möglichkeit, neue Threads in seinen Anwendungen zu starten<ref name="the_sandbox"><templatestyles src="Webarchiv/styles.css" />{{#if:20100513044339

      | {{#ifeq: 20100513044339 | *
    | Vorlage:Webarchiv/Wartung/Stern{{#if: The Java Servlet Environment. | {{#invoke:WLink|getEscapedTitle|The Java Servlet Environment.}} | {{#invoke:Webarchiv|getdomain|http://code.google.com/intl/de-DE/appengine/docs/java/runtime.html#The_Sandbox}} }} (Archivversionen)
    | {{#iferror: {{#time: j. F Y|20100513044339}}
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/DatumDer Wert des Parameters {{#if: wayback | wayback | Datum }} muss ein gültiger Zeitstempel der Form YYYYMMDDHHMMSS sein!
         | {{#if: The Java Servlet Environment. | {{#invoke:WLink|getEscapedTitle|The Java Servlet Environment.}} | {{#invoke:Webarchiv|getdomain|http://code.google.com/intl/de-DE/appengine/docs/java/runtime.html#The_Sandbox}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y|20100513044339}} im Internet Archive{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
      }}
  }}
      | {{#if:
          | {{#iferror: {{#time: j. F Y|{{{webciteID}}}}}
    | {{#switch: {{#invoke:Str|len|{{{webciteID}}}}}
       | 16= {{#if: The Java Servlet Environment. | {{#invoke:WLink|getEscapedTitle|The Java Servlet Environment.}} | {{#invoke:Webarchiv|getdomain|http://code.google.com/intl/de-DE/appengine/docs/java/runtime.html#The_Sandbox}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{{webciteID}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | 9 = {{#if: The Java Servlet Environment. | {{#invoke:WLink|getEscapedTitle|The Java Servlet Environment.}} | {{#invoke:Webarchiv|getdomain|http://code.google.com/intl/de-DE/appengine/docs/java/runtime.html#The_Sandbox}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{#invoke:Expr|base62|{{{webciteID}}}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | #default= Der Wert des Parameters {{#if: webciteID | webciteID | ID }} muss entweder ein Zeitstempel der Form YYYYMMDDHHMMSS oder ein Schüsselwert mit 9 Zeichen oder eine 16-stellige Zahl sein!Vorlage:Webarchiv/Wartung/webcitation{{#if:  || }}
      }}
    | c|{{{webciteID}}}}} {{#if: The Java Servlet Environment. | {{#invoke:WLink|getEscapedTitle|The Java Servlet Environment.}} | {{#invoke:Webarchiv|getdomain|http://code.google.com/intl/de-DE/appengine/docs/java/runtime.html#The_Sandbox}} }} (Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y|{{{webciteID}}}}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
  }}
          | {{#if: 
              | Vorlage:Webarchiv/Today
              | {{#if:
                      | Vorlage:Webarchiv/Generisch
                      | {{#if: The Java Servlet Environment. | {{#invoke:WLink|getEscapedTitle|The Java Servlet Environment.}} | {{#invoke:Webarchiv|getdomain|http://code.google.com/intl/de-DE/appengine/docs/java/runtime.html#The_Sandbox}} }}  
                 }}}}}}}}{{#if:
    | Vorlage:Webarchiv/archiv-bot
  }}{{#invoke:TemplatePar|check
     |all      = url=
     |opt      = text= wayback= webciteID= archive-is= archive-today= archiv-url= archiv-datum= ()= archiv-bot= format= original=
     |cat      = Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
     |errNS    = 0
     |template = Vorlage:Webarchiv
     |format   = *
     |preview  = 1
  }}{{#ifexpr: {{#if:20100513044339|1|0}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}} <> 1
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Genau einer der Parameter 'wayback', 'webciteID', 'archive-today', 'archive-is' oder 'archiv-url' muss angegeben werden.|1}}
  }}{{#if: 
    | {{#switch: {{#invoke:Webarchiv|getdomain|{{{archiv-url}}}}}
        | web.archive.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von Internet Archive erkannt, bitte Parameter 'wayback' benutzen.|1}} 
        | webcitation.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von WebCite erkannt, bitte Parameter 'webciteID' benutzen.|1}} 
        | archive.today |archive.is |archive.ph |archive.fo |archive.li |archive.md |archive.vn = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von archive.today erkannt, bitte Parameter 'archive-today' benutzen.|1}}
      }}{{#if: 
         | {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}
             | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Wert des Parameter 'archiv-datum' ist ungültig oder hat ein ungültiges Format.|1}}
          |  }} 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Pflichtparameter 'archiv-datum' wurde nicht angegeben.|1}}
      }}
    | {{#if: 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Parameter 'archiv-datum' ist nur in Verbindung mit 'archiv-url' angebbar.|1}}
      }}
  }}{{#if:{{#invoke:URLutil|isHostPathResource|http://code.google.com/intl/de-DE/appengine/docs/java/runtime.html#The_Sandbox}}
    || {{#if:  || }}
  }}{{#if: The Java Servlet Environment.
    | {{#if: {{#invoke:WLink|isBracketedLink|The Java Servlet Environment.}}
        | {{#if:  || }}
      }}
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Linktext_fehlt
  }}{{#switch: 
    |addlarchives|addlpages= {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/Parameter}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: enWP-Wert im Parameter 'format'.|1}}
  }}{{#ifeq: {{#invoke:Str|find|http://code.google.com/intl/de-DE/appengine/docs/java/runtime.html#The_Sandbox%7Carchiv}} |-1
    || {{#ifeq: {{#invoke:Str|find|{{#invoke:Str|cropleft|http://code.google.com/intl/de-DE/appengine/docs/java/runtime.html#The_Sandbox%7C4}}%7Chttp}} |-1
         || {{#switch: {{#invoke:Webarchiv|getdomain|http://code.google.com/intl/de-DE/appengine/docs/java/runtime.html#The_Sandbox }}
              | abendblatt.de | daserste.ndr.de | inarchive.com | webcitation.org = 
              | #default = {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/URL}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Archiv-URL im Parameter 'url' anstatt URL der Originalquelle. Entferne den vor der Original-URL stehenden Mementobestandteil und setze den Archivierungszeitstempel in den Parameter 'wayback', 'webciteID', 'archive.today' oder 'archive-is' ein, sofern nicht bereits befüllt.|1}}
            }} 
       }}
  }} code.google.com; abgerufen am 2. Juni 2011</ref>. Auf diese Weise soll verhindert werden, dass die Stabilität der Google App Engine gefährdet wird.

Um die Ausführung von asynchronen Berechnungen zu garantieren oder diese überhaupt zu ermöglichen, haben die meisten PaaS-Anbieter eine Messaging-Infrastruktur im Programm. Die Google App Engine erlaubt das Anstoßen asynchroner Aufgaben zum Beispiel mittels der Dienste Scheduled Tasks und Task Queue.<ref><templatestyles src="Webarchiv/styles.css" />{{#if:20100307092739

      | {{#ifeq: 20100307092739 | *
    | Vorlage:Webarchiv/Wartung/Stern{{#if: Task Queue Java API Overview - Google App Engine. | {{#invoke:WLink|getEscapedTitle|Task Queue Java API Overview - Google App Engine.}} | {{#invoke:Webarchiv|getdomain|http://code.google.com/intl/de-DE/appengine/docs/java/taskqueue/overview.html}} }} (Archivversionen)
    | {{#iferror: {{#time: j. F Y|20100307092739}}
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/DatumDer Wert des Parameters {{#if: wayback | wayback | Datum }} muss ein gültiger Zeitstempel der Form YYYYMMDDHHMMSS sein!
         | {{#if: Task Queue Java API Overview - Google App Engine. | {{#invoke:WLink|getEscapedTitle|Task Queue Java API Overview - Google App Engine.}} | {{#invoke:Webarchiv|getdomain|http://code.google.com/intl/de-DE/appengine/docs/java/taskqueue/overview.html}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y|20100307092739}} im Internet Archive{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
      }}
  }}
      | {{#if:
          | {{#iferror: {{#time: j. F Y|{{{webciteID}}}}}
    | {{#switch: {{#invoke:Str|len|{{{webciteID}}}}}
       | 16= {{#if: Task Queue Java API Overview - Google App Engine. | {{#invoke:WLink|getEscapedTitle|Task Queue Java API Overview - Google App Engine.}} | {{#invoke:Webarchiv|getdomain|http://code.google.com/intl/de-DE/appengine/docs/java/taskqueue/overview.html}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{{webciteID}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | 9 = {{#if: Task Queue Java API Overview - Google App Engine. | {{#invoke:WLink|getEscapedTitle|Task Queue Java API Overview - Google App Engine.}} | {{#invoke:Webarchiv|getdomain|http://code.google.com/intl/de-DE/appengine/docs/java/taskqueue/overview.html}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{#invoke:Expr|base62|{{{webciteID}}}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | #default= Der Wert des Parameters {{#if: webciteID | webciteID | ID }} muss entweder ein Zeitstempel der Form YYYYMMDDHHMMSS oder ein Schüsselwert mit 9 Zeichen oder eine 16-stellige Zahl sein!Vorlage:Webarchiv/Wartung/webcitation{{#if:  || }}
      }}
    | c|{{{webciteID}}}}} {{#if: Task Queue Java API Overview - Google App Engine. | {{#invoke:WLink|getEscapedTitle|Task Queue Java API Overview - Google App Engine.}} | {{#invoke:Webarchiv|getdomain|http://code.google.com/intl/de-DE/appengine/docs/java/taskqueue/overview.html}} }} (Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y|{{{webciteID}}}}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
  }}
          | {{#if: 
              | Vorlage:Webarchiv/Today
              | {{#if:
                      | Vorlage:Webarchiv/Generisch
                      | {{#if: Task Queue Java API Overview - Google App Engine. | {{#invoke:WLink|getEscapedTitle|Task Queue Java API Overview - Google App Engine.}} | {{#invoke:Webarchiv|getdomain|http://code.google.com/intl/de-DE/appengine/docs/java/taskqueue/overview.html}} }}  
                 }}}}}}}}{{#if:
    | Vorlage:Webarchiv/archiv-bot
  }}{{#invoke:TemplatePar|check
     |all      = url=
     |opt      = text= wayback= webciteID= archive-is= archive-today= archiv-url= archiv-datum= ()= archiv-bot= format= original=
     |cat      = Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
     |errNS    = 0
     |template = Vorlage:Webarchiv
     |format   = *
     |preview  = 1
  }}{{#ifexpr: {{#if:20100307092739|1|0}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}} <> 1
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Genau einer der Parameter 'wayback', 'webciteID', 'archive-today', 'archive-is' oder 'archiv-url' muss angegeben werden.|1}}
  }}{{#if: 
    | {{#switch: {{#invoke:Webarchiv|getdomain|{{{archiv-url}}}}}
        | web.archive.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von Internet Archive erkannt, bitte Parameter 'wayback' benutzen.|1}} 
        | webcitation.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von WebCite erkannt, bitte Parameter 'webciteID' benutzen.|1}} 
        | archive.today |archive.is |archive.ph |archive.fo |archive.li |archive.md |archive.vn = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von archive.today erkannt, bitte Parameter 'archive-today' benutzen.|1}}
      }}{{#if: 
         | {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}
             | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Wert des Parameter 'archiv-datum' ist ungültig oder hat ein ungültiges Format.|1}}
          |  }} 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Pflichtparameter 'archiv-datum' wurde nicht angegeben.|1}}
      }}
    | {{#if: 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Parameter 'archiv-datum' ist nur in Verbindung mit 'archiv-url' angebbar.|1}}
      }}
  }}{{#if:{{#invoke:URLutil|isHostPathResource|http://code.google.com/intl/de-DE/appengine/docs/java/taskqueue/overview.html}}
    || {{#if:  || }}
  }}{{#if: Task Queue Java API Overview - Google App Engine.
    | {{#if: {{#invoke:WLink|isBracketedLink|Task Queue Java API Overview - Google App Engine.}}
        | {{#if:  || }}
      }}
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Linktext_fehlt
  }}{{#switch: 
    |addlarchives|addlpages= {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/Parameter}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: enWP-Wert im Parameter 'format'.|1}}
  }}{{#ifeq: {{#invoke:Str|find|http://code.google.com/intl/de-DE/appengine/docs/java/taskqueue/overview.html%7Carchiv}} |-1
    || {{#ifeq: {{#invoke:Str|find|{{#invoke:Str|cropleft|http://code.google.com/intl/de-DE/appengine/docs/java/taskqueue/overview.html%7C4}}%7Chttp}} |-1
         || {{#switch: {{#invoke:Webarchiv|getdomain|http://code.google.com/intl/de-DE/appengine/docs/java/taskqueue/overview.html }}
              | abendblatt.de | daserste.ndr.de | inarchive.com | webcitation.org = 
              | #default = {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/URL}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Archiv-URL im Parameter 'url' anstatt URL der Originalquelle. Entferne den vor der Original-URL stehenden Mementobestandteil und setze den Archivierungszeitstempel in den Parameter 'wayback', 'webciteID', 'archive.today' oder 'archive-is' ein, sofern nicht bereits befüllt.|1}}
            }} 
       }}
  }} code.google.com; abgerufen am 2. Juni 2011</ref> Bei Amazon gibt es dazu den Amazon Simple Queue Service<ref>Amazon Simple Queue Service (Amazon SQS). Amazon, 2010, aws.amazon.com abgerufen am 2. Juni 2011</ref> und bei Microsoft Azure die Queue-Service-API aus den Microsoft Azure Storage Services.<ref>Queue Service API. Microsoft, 2011, msdn.microsoft.com abgerufen am 2. Juni 2011</ref> Obwohl Microsoft Azure und Amazons Elastic Beanstalk es erlauben, neue Threads zu starten, empfiehlt es sich, aus den oben genannten Gründen Message Queues zu verwenden, um eine bessere Skalierbarkeit zu erreichen.

Zugriffsschicht

Der Zugriff auf Anwendungen in der Cloud geschieht über das Internet oder unternehmensintern auch über das Intranet.<ref>C. Baun, M. Kunze, J. Nimis und S. Tai. Cloud Computing: Web-basierte dynamische IT-Services.</ref> Dabei spielen vor allem Web- und Netzwerk-Protokolle wie HTTP/S und TCP/IP eine Rolle, aber auch Protokolle für Spezialanwendungsfälle wie XMPP oder WebSocket werden zum Teil unterstützt.

Die bedeutendste Rolle kommt dem HTTP-Protokoll zu, da auf Anwendungen, die in eine PaaS-Umgebung übertragen werden, in der Regel per HTTP zugegriffen wird. Das HTTP-Protokoll wurde als Zugriffsprotokoll für Ressourcen im Internet geschaffen und eignet sich somit auch für Cloud-Anwendungen. Protokolleigenschaften wie Zustandslosigkeit und Caching unterstützen eine skalierbare Infrastruktur. So kann ein Load Balancer HTTP-Anfragen an entsprechende Instanzen der Anwendungen zustandslos weiterleiten<ref>Elastic Load Balancing. Amazon, 2011, aws.amazon.com abgerufen am 2. Juni 2011</ref> oder ein CDN die Ressourcen nah an den Nutzer bringen.<ref><templatestyles src="Webarchiv/styles.css" />{{#if:20120418232256

      | {{#ifeq: 20120418232256 | *
    | Vorlage:Webarchiv/Wartung/Stern{{#if: Windows Azure CDN. | {{#invoke:WLink|getEscapedTitle|Windows Azure CDN.}} | {{#invoke:Webarchiv|getdomain|http://msdn.microsoft.com/en-us/gg405416}} }} (Archivversionen)
    | {{#iferror: {{#time: j. F Y|20120418232256}}
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/DatumDer Wert des Parameters {{#if: wayback | wayback | Datum }} muss ein gültiger Zeitstempel der Form YYYYMMDDHHMMSS sein!
         | {{#if: Windows Azure CDN. | {{#invoke:WLink|getEscapedTitle|Windows Azure CDN.}} | {{#invoke:Webarchiv|getdomain|http://msdn.microsoft.com/en-us/gg405416}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y|20120418232256}} im Internet Archive{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
      }}
  }}
      | {{#if:
          | {{#iferror: {{#time: j. F Y|{{{webciteID}}}}}
    | {{#switch: {{#invoke:Str|len|{{{webciteID}}}}}
       | 16= {{#if: Windows Azure CDN. | {{#invoke:WLink|getEscapedTitle|Windows Azure CDN.}} | {{#invoke:Webarchiv|getdomain|http://msdn.microsoft.com/en-us/gg405416}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{{webciteID}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | 9 = {{#if: Windows Azure CDN. | {{#invoke:WLink|getEscapedTitle|Windows Azure CDN.}} | {{#invoke:Webarchiv|getdomain|http://msdn.microsoft.com/en-us/gg405416}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{#invoke:Expr|base62|{{{webciteID}}}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | #default= Der Wert des Parameters {{#if: webciteID | webciteID | ID }} muss entweder ein Zeitstempel der Form YYYYMMDDHHMMSS oder ein Schüsselwert mit 9 Zeichen oder eine 16-stellige Zahl sein!Vorlage:Webarchiv/Wartung/webcitation{{#if:  || }}
      }}
    | c|{{{webciteID}}}}} {{#if: Windows Azure CDN. | {{#invoke:WLink|getEscapedTitle|Windows Azure CDN.}} | {{#invoke:Webarchiv|getdomain|http://msdn.microsoft.com/en-us/gg405416}} }} (Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y|{{{webciteID}}}}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
  }}
          | {{#if: 
              | Vorlage:Webarchiv/Today
              | {{#if:
                      | Vorlage:Webarchiv/Generisch
                      | {{#if: Windows Azure CDN. | {{#invoke:WLink|getEscapedTitle|Windows Azure CDN.}} | {{#invoke:Webarchiv|getdomain|http://msdn.microsoft.com/en-us/gg405416}} }}  
                 }}}}}}}}{{#if:
    | Vorlage:Webarchiv/archiv-bot
  }}{{#invoke:TemplatePar|check
     |all      = url=
     |opt      = text= wayback= webciteID= archive-is= archive-today= archiv-url= archiv-datum= ()= archiv-bot= format= original=
     |cat      = Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
     |errNS    = 0
     |template = Vorlage:Webarchiv
     |format   = *
     |preview  = 1
  }}{{#ifexpr: {{#if:20120418232256|1|0}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}} <> 1
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Genau einer der Parameter 'wayback', 'webciteID', 'archive-today', 'archive-is' oder 'archiv-url' muss angegeben werden.|1}}
  }}{{#if: 
    | {{#switch: {{#invoke:Webarchiv|getdomain|{{{archiv-url}}}}}
        | web.archive.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von Internet Archive erkannt, bitte Parameter 'wayback' benutzen.|1}} 
        | webcitation.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von WebCite erkannt, bitte Parameter 'webciteID' benutzen.|1}} 
        | archive.today |archive.is |archive.ph |archive.fo |archive.li |archive.md |archive.vn = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von archive.today erkannt, bitte Parameter 'archive-today' benutzen.|1}}
      }}{{#if: 
         | {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}
             | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Wert des Parameter 'archiv-datum' ist ungültig oder hat ein ungültiges Format.|1}}
          |  }} 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Pflichtparameter 'archiv-datum' wurde nicht angegeben.|1}}
      }}
    | {{#if: 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Parameter 'archiv-datum' ist nur in Verbindung mit 'archiv-url' angebbar.|1}}
      }}
  }}{{#if:{{#invoke:URLutil|isHostPathResource|http://msdn.microsoft.com/en-us/gg405416}}
    || {{#if:  || }}
  }}{{#if: Windows Azure CDN.
    | {{#if: {{#invoke:WLink|isBracketedLink|Windows Azure CDN.}}
        | {{#if:  || }}
      }}
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Linktext_fehlt
  }}{{#switch: 
    |addlarchives|addlpages= {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/Parameter}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: enWP-Wert im Parameter 'format'.|1}}
  }}{{#ifeq: {{#invoke:Str|find|http://msdn.microsoft.com/en-us/gg405416%7Carchiv}} |-1
    || {{#ifeq: {{#invoke:Str|find|{{#invoke:Str|cropleft|http://msdn.microsoft.com/en-us/gg405416%7C4}}%7Chttp}} |-1
         || {{#switch: {{#invoke:Webarchiv|getdomain|http://msdn.microsoft.com/en-us/gg405416 }}
              | abendblatt.de | daserste.ndr.de | inarchive.com | webcitation.org = 
              | #default = {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/URL}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Archiv-URL im Parameter 'url' anstatt URL der Originalquelle. Entferne den vor der Original-URL stehenden Mementobestandteil und setze den Archivierungszeitstempel in den Parameter 'wayback', 'webciteID', 'archive.today' oder 'archive-is' ein, sofern nicht bereits befüllt.|1}}
            }} 
       }}
  }} Microsoft MDN; abgerufen am 2. Juni 2011</ref><ref>Vorlage:RFC-Internet</ref>

Um die Cloud-Umgebungen stabil zu halten, wird auch hier wieder von einigen Anbietern der Netzwerkzugriff aus Anwendungen heraus eingeschränkt und über anbieterabhängige APIs in einer kontrollierten Art und Weise wieder zur Verfügung gestellt.<ref name="the_sandbox" /><ref><templatestyles src="Webarchiv/styles.css" />{{#if:20120227003753

      | {{#ifeq: 20120227003753 | *
    | Vorlage:Webarchiv/Wartung/Stern{{#if: Quotas - Google App Engine. | {{#invoke:WLink|getEscapedTitle|Quotas - Google App Engine.}} | {{#invoke:Webarchiv|getdomain|http://code.google.com/intl/de-DE/appengine/docs/quotas.html#Billable_Quotas_and_Fixed_Quotas}} }} (Archivversionen)
    | {{#iferror: {{#time: j. F Y|20120227003753}}
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/DatumDer Wert des Parameters {{#if: wayback | wayback | Datum }} muss ein gültiger Zeitstempel der Form YYYYMMDDHHMMSS sein!
         | {{#if: Quotas - Google App Engine. | {{#invoke:WLink|getEscapedTitle|Quotas - Google App Engine.}} | {{#invoke:Webarchiv|getdomain|http://code.google.com/intl/de-DE/appengine/docs/quotas.html#Billable_Quotas_and_Fixed_Quotas}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y|20120227003753}} im Internet Archive{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
      }}
  }}
      | {{#if:
          | {{#iferror: {{#time: j. F Y|{{{webciteID}}}}}
    | {{#switch: {{#invoke:Str|len|{{{webciteID}}}}}
       | 16= {{#if: Quotas - Google App Engine. | {{#invoke:WLink|getEscapedTitle|Quotas - Google App Engine.}} | {{#invoke:Webarchiv|getdomain|http://code.google.com/intl/de-DE/appengine/docs/quotas.html#Billable_Quotas_and_Fixed_Quotas}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{{webciteID}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | 9 = {{#if: Quotas - Google App Engine. | {{#invoke:WLink|getEscapedTitle|Quotas - Google App Engine.}} | {{#invoke:Webarchiv|getdomain|http://code.google.com/intl/de-DE/appengine/docs/quotas.html#Billable_Quotas_and_Fixed_Quotas}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{#invoke:Expr|base62|{{{webciteID}}}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | #default= Der Wert des Parameters {{#if: webciteID | webciteID | ID }} muss entweder ein Zeitstempel der Form YYYYMMDDHHMMSS oder ein Schüsselwert mit 9 Zeichen oder eine 16-stellige Zahl sein!Vorlage:Webarchiv/Wartung/webcitation{{#if:  || }}
      }}
    | c|{{{webciteID}}}}} {{#if: Quotas - Google App Engine. | {{#invoke:WLink|getEscapedTitle|Quotas - Google App Engine.}} | {{#invoke:Webarchiv|getdomain|http://code.google.com/intl/de-DE/appengine/docs/quotas.html#Billable_Quotas_and_Fixed_Quotas}} }} (Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y|{{{webciteID}}}}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
  }}
          | {{#if: 
              | Vorlage:Webarchiv/Today
              | {{#if:
                      | Vorlage:Webarchiv/Generisch
                      | {{#if: Quotas - Google App Engine. | {{#invoke:WLink|getEscapedTitle|Quotas - Google App Engine.}} | {{#invoke:Webarchiv|getdomain|http://code.google.com/intl/de-DE/appengine/docs/quotas.html#Billable_Quotas_and_Fixed_Quotas}} }}  
                 }}}}}}}}{{#if:
    | Vorlage:Webarchiv/archiv-bot
  }}{{#invoke:TemplatePar|check
     |all      = url=
     |opt      = text= wayback= webciteID= archive-is= archive-today= archiv-url= archiv-datum= ()= archiv-bot= format= original=
     |cat      = Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
     |errNS    = 0
     |template = Vorlage:Webarchiv
     |format   = *
     |preview  = 1
  }}{{#ifexpr: {{#if:20120227003753|1|0}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}} <> 1
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Genau einer der Parameter 'wayback', 'webciteID', 'archive-today', 'archive-is' oder 'archiv-url' muss angegeben werden.|1}}
  }}{{#if: 
    | {{#switch: {{#invoke:Webarchiv|getdomain|{{{archiv-url}}}}}
        | web.archive.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von Internet Archive erkannt, bitte Parameter 'wayback' benutzen.|1}} 
        | webcitation.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von WebCite erkannt, bitte Parameter 'webciteID' benutzen.|1}} 
        | archive.today |archive.is |archive.ph |archive.fo |archive.li |archive.md |archive.vn = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von archive.today erkannt, bitte Parameter 'archive-today' benutzen.|1}}
      }}{{#if: 
         | {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}
             | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Wert des Parameter 'archiv-datum' ist ungültig oder hat ein ungültiges Format.|1}}
          |  }} 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Pflichtparameter 'archiv-datum' wurde nicht angegeben.|1}}
      }}
    | {{#if: 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Parameter 'archiv-datum' ist nur in Verbindung mit 'archiv-url' angebbar.|1}}
      }}
  }}{{#if:{{#invoke:URLutil|isHostPathResource|http://code.google.com/intl/de-DE/appengine/docs/quotas.html#Billable_Quotas_and_Fixed_Quotas}}
    || {{#if:  || }}
  }}{{#if: Quotas - Google App Engine.
    | {{#if: {{#invoke:WLink|isBracketedLink|Quotas - Google App Engine.}}
        | {{#if:  || }}
      }}
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Linktext_fehlt
  }}{{#switch: 
    |addlarchives|addlpages= {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/Parameter}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: enWP-Wert im Parameter 'format'.|1}}
  }}{{#ifeq: {{#invoke:Str|find|http://code.google.com/intl/de-DE/appengine/docs/quotas.html#Billable_Quotas_and_Fixed_Quotas%7Carchiv}} |-1
    || {{#ifeq: {{#invoke:Str|find|{{#invoke:Str|cropleft|http://code.google.com/intl/de-DE/appengine/docs/quotas.html#Billable_Quotas_and_Fixed_Quotas%7C4}}%7Chttp}} |-1
         || {{#switch: {{#invoke:Webarchiv|getdomain|http://code.google.com/intl/de-DE/appengine/docs/quotas.html#Billable_Quotas_and_Fixed_Quotas }}
              | abendblatt.de | daserste.ndr.de | inarchive.com | webcitation.org = 
              | #default = {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/URL}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Archiv-URL im Parameter 'url' anstatt URL der Originalquelle. Entferne den vor der Original-URL stehenden Mementobestandteil und setze den Archivierungszeitstempel in den Parameter 'wayback', 'webciteID', 'archive.today' oder 'archive-is' ein, sofern nicht bereits befüllt.|1}}
            }} 
       }}
  }} Google Code; abgerufen am 2. Juni 2011</ref> Die Google App Engine erlaubt zum Beispiel keine freie Netzwerkkommunikation, hierfür muss eine API von Google genutzt werden, die HTTP/S (URL Fetch), XMPP und WebSocket (Channel) unterstützt.<ref><templatestyles src="Webarchiv/styles.css" />{{#if:20110824002758
      | {{#ifeq: 20110824002758 | *
    | Vorlage:Webarchiv/Wartung/Stern{{#if: Java Service APIs | {{#invoke:WLink|getEscapedTitle|Java Service APIs}} | {{#invoke:Webarchiv|getdomain|http://code.google.com/intl/de-DE/appengine/docs/java/apis.html}} }} (Archivversionen)
    | {{#iferror: {{#time: j. F Y|20110824002758}}
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/DatumDer Wert des Parameters {{#if: wayback | wayback | Datum }} muss ein gültiger Zeitstempel der Form YYYYMMDDHHMMSS sein!
         | {{#if: Java Service APIs | {{#invoke:WLink|getEscapedTitle|Java Service APIs}} | {{#invoke:Webarchiv|getdomain|http://code.google.com/intl/de-DE/appengine/docs/java/apis.html}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y|20110824002758}} im Internet Archive{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
      }}
  }}
      | {{#if:
          | {{#iferror: {{#time: j. F Y|{{{webciteID}}}}}
    | {{#switch: {{#invoke:Str|len|{{{webciteID}}}}}
       | 16= {{#if: Java Service APIs | {{#invoke:WLink|getEscapedTitle|Java Service APIs}} | {{#invoke:Webarchiv|getdomain|http://code.google.com/intl/de-DE/appengine/docs/java/apis.html}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{{webciteID}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | 9 = {{#if: Java Service APIs | {{#invoke:WLink|getEscapedTitle|Java Service APIs}} | {{#invoke:Webarchiv|getdomain|http://code.google.com/intl/de-DE/appengine/docs/java/apis.html}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{#invoke:Expr|base62|{{{webciteID}}}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | #default= Der Wert des Parameters {{#if: webciteID | webciteID | ID }} muss entweder ein Zeitstempel der Form YYYYMMDDHHMMSS oder ein Schüsselwert mit 9 Zeichen oder eine 16-stellige Zahl sein!Vorlage:Webarchiv/Wartung/webcitation{{#if:  || }}
      }}
    | c|{{{webciteID}}}}} {{#if: Java Service APIs | {{#invoke:WLink|getEscapedTitle|Java Service APIs}} | {{#invoke:Webarchiv|getdomain|http://code.google.com/intl/de-DE/appengine/docs/java/apis.html}} }} (Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y|{{{webciteID}}}}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
  }}
          | {{#if: 
              | Vorlage:Webarchiv/Today
              | {{#if:
                      | Vorlage:Webarchiv/Generisch
                      | {{#if: Java Service APIs | {{#invoke:WLink|getEscapedTitle|Java Service APIs}} | {{#invoke:Webarchiv|getdomain|http://code.google.com/intl/de-DE/appengine/docs/java/apis.html}} }}  
                 }}}}}}}}{{#if:
    | Vorlage:Webarchiv/archiv-bot
  }}{{#invoke:TemplatePar|check
     |all      = url=
     |opt      = text= wayback= webciteID= archive-is= archive-today= archiv-url= archiv-datum= ()= archiv-bot= format= original=
     |cat      = Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
     |errNS    = 0
     |template = Vorlage:Webarchiv
     |format   = *
     |preview  = 1
  }}{{#ifexpr: {{#if:20110824002758|1|0}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}} <> 1
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Genau einer der Parameter 'wayback', 'webciteID', 'archive-today', 'archive-is' oder 'archiv-url' muss angegeben werden.|1}}
  }}{{#if: 
    | {{#switch: {{#invoke:Webarchiv|getdomain|{{{archiv-url}}}}}
        | web.archive.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von Internet Archive erkannt, bitte Parameter 'wayback' benutzen.|1}} 
        | webcitation.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von WebCite erkannt, bitte Parameter 'webciteID' benutzen.|1}} 
        | archive.today |archive.is |archive.ph |archive.fo |archive.li |archive.md |archive.vn = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von archive.today erkannt, bitte Parameter 'archive-today' benutzen.|1}}
      }}{{#if: 
         | {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}
             | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Wert des Parameter 'archiv-datum' ist ungültig oder hat ein ungültiges Format.|1}}
          |  }} 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Pflichtparameter 'archiv-datum' wurde nicht angegeben.|1}}
      }}
    | {{#if: 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Parameter 'archiv-datum' ist nur in Verbindung mit 'archiv-url' angebbar.|1}}
      }}
  }}{{#if:{{#invoke:URLutil|isHostPathResource|http://code.google.com/intl/de-DE/appengine/docs/java/apis.html}}
    || {{#if:  || }}
  }}{{#if: Java Service APIs
    | {{#if: {{#invoke:WLink|isBracketedLink|Java Service APIs}}
        | {{#if:  || }}
      }}
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Linktext_fehlt
  }}{{#switch: 
    |addlarchives|addlpages= {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/Parameter}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: enWP-Wert im Parameter 'format'.|1}}
  }}{{#ifeq: {{#invoke:Str|find|http://code.google.com/intl/de-DE/appengine/docs/java/apis.html%7Carchiv}} |-1
    || {{#ifeq: {{#invoke:Str|find|{{#invoke:Str|cropleft|http://code.google.com/intl/de-DE/appengine/docs/java/apis.html%7C4}}%7Chttp}} |-1
         || {{#switch: {{#invoke:Webarchiv|getdomain|http://code.google.com/intl/de-DE/appengine/docs/java/apis.html }}
              | abendblatt.de | daserste.ndr.de | inarchive.com | webcitation.org = 
              | #default = {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/URL}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Archiv-URL im Parameter 'url' anstatt URL der Originalquelle. Entferne den vor der Original-URL stehenden Mementobestandteil und setze den Archivierungszeitstempel in den Parameter 'wayback', 'webciteID', 'archive.today' oder 'archive-is' ein, sofern nicht bereits befüllt.|1}}
            }} 
       }}
  }} Google Code; abgerufen am 2. Juni 2011</ref>

Um die Sicherheit von Anwendungen zu erhöhen, erlauben Anbieter wie Amazon gängige Firewall-Einstellungen wie Black- oder Whitelisting von IP-Adressbereichen oder TCP/UDP-Port-Beschränkung zu tätigen. Somit kann der Zugriff auf eine Anwendung sicherer und auf das eigene Unternehmen eingeschränkt werden. Auch per IPsec VPN gesicherte Verbindungen zwischen der Public Cloud und der On-Premises-Infrastruktur sind zum Beispiel mit Amazons Virtual-Private-Cloud-Dienst möglich.<ref>Amazon Elastic Compute Cloud (Amazon EC2). 2011, aws.amazon.com abgerufen am 5. Juni 2011</ref>

Außerdem gibt es Dienste wie Microsoft Azure Connect (beta), um die direkte Kommunikation zwischen Public Cloud und On-Premises-Diensten über das IP-Protokoll zu ermöglichen. So kann zum Beispiel eine Public-Cloud-Anwendung auf eine On-Premises-Datenbank oder ein On-Premises-Active Directory zugreifen.<ref>Windows Azure Virtual Network – Windows Azure Platform. 2011, microsoft.com abgerufen am 5. Juni 2011</ref>

Mandantenfähigkeit (Multi-Tenancy)

Da nicht nur einzelne Firmen ihre innerbetrieblichen Anwendungen in die Cloud auslagern, sondern auch ISVs bei neuen Anwendungen gern auf Cloud-Plattformen zurückgreifen, werden Mittel benötigt, um eine Mandantenfähigkeit zu ermöglichen.

Dabei können Mandanten sitzungsabhängig oder -unabhängig einzelnen Anwendungsinstanzen zugeordnet werden (Multiple Instances Multi-Tenancy). Oder aber der Anwendung ist bewusst, dass sie mehrere Mandanten bedient (Native Multi-Tenancy), dann kann der Request von irgendeiner, vorher nicht festgelegten Anwendungsinstanz verarbeitet werden. Die Art der Mandantenbedienung hat große Auswirkungen auf die Skalierbarkeit. Zudem spielen auch Aspekte wie Datensicherheit, Performance, Isolation, Verfügbarkeit, SLAs oder Anwendungskonfigurationen eine große Rolle. Die Daten der einzelnen Mandanten dürfen nicht vermischt werden, die Performance sollte auf alle Mandanten gleich verteilt werden, und trotzdem soll jeder Mandant seine Anwendung individuell konfigurieren können.<ref name="multi-tenancy1" /><ref name="multi-tenancy2" />

PaaS-Anbieter wie Google reagieren hierauf zum Beispiel mit Namensräumen. So kann jeder Mandant eine Subdomain als Namensraum zugewiesen bekommen. Danach ist nur noch der Zugriff auf mit diesem Namensraum verbundene Objekte des Datastore, Memcaches oder der Task Queue zugelassen. Somit ist auf einer höheren Ebene als der Anwendung an sich sichergestellt, dass keine Kunde Zugriff auf die Daten anderer Kunden erhält.<ref><templatestyles src="Webarchiv/styles.css" />{{#if:20110822181749

      | {{#ifeq: 20110822181749 | *
    | Vorlage:Webarchiv/Wartung/Stern{{#if: Overview of Multitenancy and the Namespaces Java API - Google App Engine. | {{#invoke:WLink|getEscapedTitle|Overview of Multitenancy and the Namespaces Java API - Google App Engine.}} | {{#invoke:Webarchiv|getdomain|http://code.google.com/intl/de-DE/appengine/docs/java/multitenancy/overview.html}} }} (Archivversionen)
    | {{#iferror: {{#time: j. F Y|20110822181749}}
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/DatumDer Wert des Parameters {{#if: wayback | wayback | Datum }} muss ein gültiger Zeitstempel der Form YYYYMMDDHHMMSS sein!
         | {{#if: Overview of Multitenancy and the Namespaces Java API - Google App Engine. | {{#invoke:WLink|getEscapedTitle|Overview of Multitenancy and the Namespaces Java API - Google App Engine.}} | {{#invoke:Webarchiv|getdomain|http://code.google.com/intl/de-DE/appengine/docs/java/multitenancy/overview.html}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y|20110822181749}} im Internet Archive{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
      }}
  }}
      | {{#if:
          | {{#iferror: {{#time: j. F Y|{{{webciteID}}}}}
    | {{#switch: {{#invoke:Str|len|{{{webciteID}}}}}
       | 16= {{#if: Overview of Multitenancy and the Namespaces Java API - Google App Engine. | {{#invoke:WLink|getEscapedTitle|Overview of Multitenancy and the Namespaces Java API - Google App Engine.}} | {{#invoke:Webarchiv|getdomain|http://code.google.com/intl/de-DE/appengine/docs/java/multitenancy/overview.html}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{{webciteID}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | 9 = {{#if: Overview of Multitenancy and the Namespaces Java API - Google App Engine. | {{#invoke:WLink|getEscapedTitle|Overview of Multitenancy and the Namespaces Java API - Google App Engine.}} | {{#invoke:Webarchiv|getdomain|http://code.google.com/intl/de-DE/appengine/docs/java/multitenancy/overview.html}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{#invoke:Expr|base62|{{{webciteID}}}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | #default= Der Wert des Parameters {{#if: webciteID | webciteID | ID }} muss entweder ein Zeitstempel der Form YYYYMMDDHHMMSS oder ein Schüsselwert mit 9 Zeichen oder eine 16-stellige Zahl sein!Vorlage:Webarchiv/Wartung/webcitation{{#if:  || }}
      }}
    | c|{{{webciteID}}}}} {{#if: Overview of Multitenancy and the Namespaces Java API - Google App Engine. | {{#invoke:WLink|getEscapedTitle|Overview of Multitenancy and the Namespaces Java API - Google App Engine.}} | {{#invoke:Webarchiv|getdomain|http://code.google.com/intl/de-DE/appengine/docs/java/multitenancy/overview.html}} }} (Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y|{{{webciteID}}}}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
  }}
          | {{#if: 
              | Vorlage:Webarchiv/Today
              | {{#if:
                      | Vorlage:Webarchiv/Generisch
                      | {{#if: Overview of Multitenancy and the Namespaces Java API - Google App Engine. | {{#invoke:WLink|getEscapedTitle|Overview of Multitenancy and the Namespaces Java API - Google App Engine.}} | {{#invoke:Webarchiv|getdomain|http://code.google.com/intl/de-DE/appengine/docs/java/multitenancy/overview.html}} }}  
                 }}}}}}}}{{#if:
    | Vorlage:Webarchiv/archiv-bot
  }}{{#invoke:TemplatePar|check
     |all      = url=
     |opt      = text= wayback= webciteID= archive-is= archive-today= archiv-url= archiv-datum= ()= archiv-bot= format= original=
     |cat      = Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
     |errNS    = 0
     |template = Vorlage:Webarchiv
     |format   = *
     |preview  = 1
  }}{{#ifexpr: {{#if:20110822181749|1|0}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}} <> 1
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Genau einer der Parameter 'wayback', 'webciteID', 'archive-today', 'archive-is' oder 'archiv-url' muss angegeben werden.|1}}
  }}{{#if: 
    | {{#switch: {{#invoke:Webarchiv|getdomain|{{{archiv-url}}}}}
        | web.archive.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von Internet Archive erkannt, bitte Parameter 'wayback' benutzen.|1}} 
        | webcitation.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von WebCite erkannt, bitte Parameter 'webciteID' benutzen.|1}} 
        | archive.today |archive.is |archive.ph |archive.fo |archive.li |archive.md |archive.vn = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von archive.today erkannt, bitte Parameter 'archive-today' benutzen.|1}}
      }}{{#if: 
         | {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}
             | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Wert des Parameter 'archiv-datum' ist ungültig oder hat ein ungültiges Format.|1}}
          |  }} 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Pflichtparameter 'archiv-datum' wurde nicht angegeben.|1}}
      }}
    | {{#if: 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Parameter 'archiv-datum' ist nur in Verbindung mit 'archiv-url' angebbar.|1}}
      }}
  }}{{#if:{{#invoke:URLutil|isHostPathResource|http://code.google.com/intl/de-DE/appengine/docs/java/multitenancy/overview.html}}
    || {{#if:  || }}
  }}{{#if: Overview of Multitenancy and the Namespaces Java API - Google App Engine.
    | {{#if: {{#invoke:WLink|isBracketedLink|Overview of Multitenancy and the Namespaces Java API - Google App Engine.}}
        | {{#if:  || }}
      }}
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Linktext_fehlt
  }}{{#switch: 
    |addlarchives|addlpages= {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/Parameter}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: enWP-Wert im Parameter 'format'.|1}}
  }}{{#ifeq: {{#invoke:Str|find|http://code.google.com/intl/de-DE/appengine/docs/java/multitenancy/overview.html%7Carchiv}} |-1
    || {{#ifeq: {{#invoke:Str|find|{{#invoke:Str|cropleft|http://code.google.com/intl/de-DE/appengine/docs/java/multitenancy/overview.html%7C4}}%7Chttp}} |-1
         || {{#switch: {{#invoke:Webarchiv|getdomain|http://code.google.com/intl/de-DE/appengine/docs/java/multitenancy/overview.html }}
              | abendblatt.de | daserste.ndr.de | inarchive.com | webcitation.org = 
              | #default = {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/URL}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Archiv-URL im Parameter 'url' anstatt URL der Originalquelle. Entferne den vor der Original-URL stehenden Mementobestandteil und setze den Archivierungszeitstempel in den Parameter 'wayback', 'webciteID', 'archive.today' oder 'archive-is' ein, sofern nicht bereits befüllt.|1}}
            }} 
       }}
  }} Google Code; abgerufen am 2. Juni 2011</ref> Alternativ kann auch auf verschiedene Patterns<ref name="multi-tenancy1" /><ref name="multi-tenancy2" /> zurückgegriffen werden.

Ein weiteres Problem, das eine Cloud-Plattform lösen soll, ist das gleichzeitige Betreiben mehrerer Versionen einer Anwendung. Das ist zum einen beim Entwickeln von Anwendungen von Vorteil, um Tests wie Regressionstests durchzuführen. Es bietet dann eine Möglichkeit zum Rollback, falls im Live-Betrieb nach der Umstellung auf die neuste Version Fehler auftreten, und es gibt Mandanten die Möglichkeit, selbst zu bestimmen, wann sie auf eine neue Version umsteigen wollen.

Kosten

Der Betrieb einer kleinen Webanwendung mit einer Recheninstanz, 15 GB ein- und 15 GB ausgehendem Traffic und 1 GB Speicher kostete im Jahr 2011 bei Anbietern wie Google, Amazon oder Microsoft zwischen US$ 38 und US$ 65 im Monat.<ref name="aws.amazon.com" /><ref><templatestyles src="Webarchiv/styles.css" />{{#if:20120219035946

      | {{#ifeq: 20120219035946 | *
    | Vorlage:Webarchiv/Wartung/Stern{{#if: Developer’s Guide - Google App Engine. | {{#invoke:WLink|getEscapedTitle|Developer’s Guide - Google App Engine.}} | {{#invoke:Webarchiv|getdomain|http://code.google.com/intl/de-DE/appengine/docs/}} }} (Archivversionen)
    | {{#iferror: {{#time: j. F Y|20120219035946}}
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/DatumDer Wert des Parameters {{#if: wayback | wayback | Datum }} muss ein gültiger Zeitstempel der Form YYYYMMDDHHMMSS sein!
         | {{#if: Developer’s Guide - Google App Engine. | {{#invoke:WLink|getEscapedTitle|Developer’s Guide - Google App Engine.}} | {{#invoke:Webarchiv|getdomain|http://code.google.com/intl/de-DE/appengine/docs/}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y|20120219035946}} im Internet Archive{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
      }}
  }}
      | {{#if:
          | {{#iferror: {{#time: j. F Y|{{{webciteID}}}}}
    | {{#switch: {{#invoke:Str|len|{{{webciteID}}}}}
       | 16= {{#if: Developer’s Guide - Google App Engine. | {{#invoke:WLink|getEscapedTitle|Developer’s Guide - Google App Engine.}} | {{#invoke:Webarchiv|getdomain|http://code.google.com/intl/de-DE/appengine/docs/}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{{webciteID}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | 9 = {{#if: Developer’s Guide - Google App Engine. | {{#invoke:WLink|getEscapedTitle|Developer’s Guide - Google App Engine.}} | {{#invoke:Webarchiv|getdomain|http://code.google.com/intl/de-DE/appengine/docs/}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{#invoke:Expr|base62|{{{webciteID}}}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | #default= Der Wert des Parameters {{#if: webciteID | webciteID | ID }} muss entweder ein Zeitstempel der Form YYYYMMDDHHMMSS oder ein Schüsselwert mit 9 Zeichen oder eine 16-stellige Zahl sein!Vorlage:Webarchiv/Wartung/webcitation{{#if:  || }}
      }}
    | c|{{{webciteID}}}}} {{#if: Developer’s Guide - Google App Engine. | {{#invoke:WLink|getEscapedTitle|Developer’s Guide - Google App Engine.}} | {{#invoke:Webarchiv|getdomain|http://code.google.com/intl/de-DE/appengine/docs/}} }} (Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y|{{{webciteID}}}}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
  }}
          | {{#if: 
              | Vorlage:Webarchiv/Today
              | {{#if:
                      | Vorlage:Webarchiv/Generisch
                      | {{#if: Developer’s Guide - Google App Engine. | {{#invoke:WLink|getEscapedTitle|Developer’s Guide - Google App Engine.}} | {{#invoke:Webarchiv|getdomain|http://code.google.com/intl/de-DE/appengine/docs/}} }}  
                 }}}}}}}}{{#if:
    | Vorlage:Webarchiv/archiv-bot
  }}{{#invoke:TemplatePar|check
     |all      = url=
     |opt      = text= wayback= webciteID= archive-is= archive-today= archiv-url= archiv-datum= ()= archiv-bot= format= original=
     |cat      = Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
     |errNS    = 0
     |template = Vorlage:Webarchiv
     |format   = *
     |preview  = 1
  }}{{#ifexpr: {{#if:20120219035946|1|0}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}} <> 1
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Genau einer der Parameter 'wayback', 'webciteID', 'archive-today', 'archive-is' oder 'archiv-url' muss angegeben werden.|1}}
  }}{{#if: 
    | {{#switch: {{#invoke:Webarchiv|getdomain|{{{archiv-url}}}}}
        | web.archive.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von Internet Archive erkannt, bitte Parameter 'wayback' benutzen.|1}} 
        | webcitation.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von WebCite erkannt, bitte Parameter 'webciteID' benutzen.|1}} 
        | archive.today |archive.is |archive.ph |archive.fo |archive.li |archive.md |archive.vn = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von archive.today erkannt, bitte Parameter 'archive-today' benutzen.|1}}
      }}{{#if: 
         | {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}
             | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Wert des Parameter 'archiv-datum' ist ungültig oder hat ein ungültiges Format.|1}}
          |  }} 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Pflichtparameter 'archiv-datum' wurde nicht angegeben.|1}}
      }}
    | {{#if: 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Parameter 'archiv-datum' ist nur in Verbindung mit 'archiv-url' angebbar.|1}}
      }}
  }}{{#if:{{#invoke:URLutil|isHostPathResource|http://code.google.com/intl/de-DE/appengine/docs/}}
    || {{#if:  || }}
  }}{{#if: Developer’s Guide - Google App Engine.
    | {{#if: {{#invoke:WLink|isBracketedLink|Developer’s Guide - Google App Engine.}}
        | {{#if:  || }}
      }}
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Linktext_fehlt
  }}{{#switch: 
    |addlarchives|addlpages= {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/Parameter}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: enWP-Wert im Parameter 'format'.|1}}
  }}{{#ifeq: {{#invoke:Str|find|http://code.google.com/intl/de-DE/appengine/docs/%7Carchiv}} |-1
    || {{#ifeq: {{#invoke:Str|find|{{#invoke:Str|cropleft|http://code.google.com/intl/de-DE/appengine/docs/%7C4}}%7Chttp}} |-1
         || {{#switch: {{#invoke:Webarchiv|getdomain|http://code.google.com/intl/de-DE/appengine/docs/ }}
              | abendblatt.de | daserste.ndr.de | inarchive.com | webcitation.org = 
              | #default = {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/URL}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Archiv-URL im Parameter 'url' anstatt URL der Originalquelle. Entferne den vor der Original-URL stehenden Mementobestandteil und setze den Archivierungszeitstempel in den Parameter 'wayback', 'webciteID', 'archive.today' oder 'archive-is' ein, sofern nicht bereits befüllt.|1}}
            }} 
       }}
  }} Google Code; abgerufen am 2. Juni 2011</ref><ref>Windows Azure Platform Consumption. Microsoft, 2011, microsoft.com abgerufen am 2. Juni 2011</ref>

Kritik

Eine Unterstützung in Form von technischen Anleitungen oder gar Tools zur Migration von On-Premises- zu PaaS-Anwendungen haben die meisten Anbieter nicht im Programm. Sie bieten lediglich Tools an, um Daten in die Cloud zu importieren und exportieren und virtuelle Maschinen-Images in die Cloud zu laden. Das allein lässt die Anwendungen an sich aber noch nicht skalieren, sondern ist eher mit einer Remote-Hosting-Lösung vergleichbar.

Die großen PaaS-Anbieter bieten alle grundlegende Funktionen, um einfache Webanwendungen in der Cloud laufen zu lassen. Professioneller Support wird auch von vielen Diensten angeboten, zum Teil befinden sich diese Angebote allerdings noch in einer Beta-Phase. Die generelle Datenschutz-Problematik beim Cloud-Computing wird von den Diensten für deutsche Unternehmen jedoch nicht angegangen, da die Daten nicht in deutschen Rechenzentren liegen,<ref>R. Blackwell: Azure Northern Europe is Dublin and Western Europe is Amsterdam. 12. April 2011, robblackwell.org.uk abgerufen am 2. Juni 2011</ref><ref>Amazon Web Services: Service Health Dashboard. <templatestyles src="Webarchiv/styles.css" />{{#if:20080420185258

      | {{#ifeq: 20080420185258 | *
    | Vorlage:Webarchiv/Wartung/Stern{{#if: status.aws.amazon.com | {{#invoke:WLink|getEscapedTitle|status.aws.amazon.com}} | {{#invoke:Webarchiv|getdomain|http://status.aws.amazon.com/}} }} (Archivversionen)
    | {{#iferror: {{#time: j. F Y|20080420185258}}
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/DatumDer Wert des Parameters {{#if: wayback | wayback | Datum }} muss ein gültiger Zeitstempel der Form YYYYMMDDHHMMSS sein!
         | {{#if: status.aws.amazon.com | {{#invoke:WLink|getEscapedTitle|status.aws.amazon.com}} | {{#invoke:Webarchiv|getdomain|http://status.aws.amazon.com/}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if: 2024-04-17 04:55:40 InternetArchiveBot | 2024-04-17 04:55:40 InternetArchiveBot |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y|20080420185258}} im Internet Archive{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
      }}
  }}
      | {{#if:
          | {{#iferror: {{#time: j. F Y|{{{webciteID}}}}}
    | {{#switch: {{#invoke:Str|len|{{{webciteID}}}}}
       | 16= {{#if: status.aws.amazon.com | {{#invoke:WLink|getEscapedTitle|status.aws.amazon.com}} | {{#invoke:Webarchiv|getdomain|http://status.aws.amazon.com/}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if: 2024-04-17 04:55:40 InternetArchiveBot | 2024-04-17 04:55:40 InternetArchiveBot |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{{webciteID}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | 9 = {{#if: status.aws.amazon.com | {{#invoke:WLink|getEscapedTitle|status.aws.amazon.com}} | {{#invoke:Webarchiv|getdomain|http://status.aws.amazon.com/}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if: 2024-04-17 04:55:40 InternetArchiveBot | 2024-04-17 04:55:40 InternetArchiveBot |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{#invoke:Expr|base62|{{{webciteID}}}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | #default= Der Wert des Parameters {{#if: webciteID | webciteID | ID }} muss entweder ein Zeitstempel der Form YYYYMMDDHHMMSS oder ein Schüsselwert mit 9 Zeichen oder eine 16-stellige Zahl sein!Vorlage:Webarchiv/Wartung/webcitation{{#if:  || }}
      }}
    | c|{{{webciteID}}}}} {{#if: status.aws.amazon.com | {{#invoke:WLink|getEscapedTitle|status.aws.amazon.com}} | {{#invoke:Webarchiv|getdomain|http://status.aws.amazon.com/}} }} (Memento{{#if: {{#if: 2024-04-17 04:55:40 InternetArchiveBot | 2024-04-17 04:55:40 InternetArchiveBot |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y|{{{webciteID}}}}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
  }}
          | {{#if: 
              | Vorlage:Webarchiv/Today
              | {{#if:
                      | Vorlage:Webarchiv/Generisch
                      | {{#if: status.aws.amazon.com | {{#invoke:WLink|getEscapedTitle|status.aws.amazon.com}} | {{#invoke:Webarchiv|getdomain|http://status.aws.amazon.com/}} }}  
                 }}}}}}}}{{#if:2024-04-17 04:55:40 InternetArchiveBot
    | Vorlage:Webarchiv/archiv-bot
  }}{{#invoke:TemplatePar|check
     |all      = url=
     |opt      = text= wayback= webciteID= archive-is= archive-today= archiv-url= archiv-datum= ()= archiv-bot= format= original=
     |cat      = Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
     |errNS    = 0
     |template = Vorlage:Webarchiv
     |format   = *
     |preview  = 1
  }}{{#ifexpr: {{#if:20080420185258|1|0}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}} <> 1
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Genau einer der Parameter 'wayback', 'webciteID', 'archive-today', 'archive-is' oder 'archiv-url' muss angegeben werden.|1}}
  }}{{#if: 
    | {{#switch: {{#invoke:Webarchiv|getdomain|{{{archiv-url}}}}}
        | web.archive.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von Internet Archive erkannt, bitte Parameter 'wayback' benutzen.|1}} 
        | webcitation.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von WebCite erkannt, bitte Parameter 'webciteID' benutzen.|1}} 
        | archive.today |archive.is |archive.ph |archive.fo |archive.li |archive.md |archive.vn = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von archive.today erkannt, bitte Parameter 'archive-today' benutzen.|1}}
      }}{{#if: 
         | {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}
             | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Wert des Parameter 'archiv-datum' ist ungültig oder hat ein ungültiges Format.|1}}
          |  }} 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Pflichtparameter 'archiv-datum' wurde nicht angegeben.|1}}
      }}
    | {{#if: 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Parameter 'archiv-datum' ist nur in Verbindung mit 'archiv-url' angebbar.|1}}
      }}
  }}{{#if:{{#invoke:URLutil|isHostPathResource|http://status.aws.amazon.com/}}
    || {{#if:  || }}
  }}{{#if: status.aws.amazon.com
    | {{#if: {{#invoke:WLink|isBracketedLink|status.aws.amazon.com}}
        | {{#if:  || }}
      }}
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Linktext_fehlt
  }}{{#switch: 
    |addlarchives|addlpages= {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/Parameter}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: enWP-Wert im Parameter 'format'.|1}}
  }}{{#ifeq: {{#invoke:Str|find|http://status.aws.amazon.com/%7Carchiv}} |-1
    || {{#ifeq: {{#invoke:Str|find|{{#invoke:Str|cropleft|http://status.aws.amazon.com/%7C4}}%7Chttp}} |-1
         || {{#switch: {{#invoke:Webarchiv|getdomain|http://status.aws.amazon.com/ }}
              | abendblatt.de | daserste.ndr.de | inarchive.com | webcitation.org = 
              | #default = {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/URL}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Archiv-URL im Parameter 'url' anstatt URL der Originalquelle. Entferne den vor der Original-URL stehenden Mementobestandteil und setze den Archivierungszeitstempel in den Parameter 'wayback', 'webciteID', 'archive.today' oder 'archive-is' ein, sofern nicht bereits befüllt.|1}}
            }} 
       }}
  }} abgerufen am: 2. Juni 2011</ref><ref>Issue 193. googleappengine - Country-specific Storage - Google App Engine. code.google.com Google Project Hosting; abgerufen am 2. Juni 2011</ref> was für viele Unternehmen wichtig ist.<ref name="cio_friedmann" />

Vorsicht ist geboten bei einigen Diensten, die zwar angeben, PaaS-Angebote zu haben, die mit diesem Begriff jedoch ein Off-Premises-Hosting ohne Skalierbarkeit bezeichnen.<ref name="architecture" /><ref>D. Chappell: The Windows Azure Programming Model. Microsoft, 2010-10, microsoft.com abgerufen am 2. Juni 2011</ref>

Anbieter

Es gibt etliche Anbieter von öffentlichen und privaten PaaS-Angeboten, die sich mehr oder weniger unterscheiden. Alle bieten Applikation-Hosting und eine Entwicklungsumgebung, gemeinsam mit Integration-Services, an.<ref>John R. Rymer: <templatestyles src="Webarchiv/styles.css" />{{#if:20151001220216

      | {{#ifeq: 20151001220216 | *
    | Vorlage:Webarchiv/Wartung/Stern{{#if: Enterprise Public Cloud Platforms, Q4 2014. | {{#invoke:WLink|getEscapedTitle|Enterprise Public Cloud Platforms, Q4 2014.}} | {{#invoke:Webarchiv|getdomain|https://www.forrester.com/The+Forrester+Wave+Enterprise+Public+Cloud+Platforms+Q4+2014/fulltext/-/E-RES118381}} }} (Archivversionen)
    | {{#iferror: {{#time: j. F Y|20151001220216}}
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/DatumDer Wert des Parameters {{#if: wayback | wayback | Datum }} muss ein gültiger Zeitstempel der Form YYYYMMDDHHMMSS sein!
         | {{#if: Enterprise Public Cloud Platforms, Q4 2014. | {{#invoke:WLink|getEscapedTitle|Enterprise Public Cloud Platforms, Q4 2014.}} | {{#invoke:Webarchiv|getdomain|https://www.forrester.com/The+Forrester+Wave+Enterprise+Public+Cloud+Platforms+Q4+2014/fulltext/-/E-RES118381}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if: 2024-04-17 04:55:40 InternetArchiveBot | 2024-04-17 04:55:40 InternetArchiveBot |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y|20151001220216}} im Internet Archive{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
      }}
  }}
      | {{#if:
          | {{#iferror: {{#time: j. F Y|{{{webciteID}}}}}
    | {{#switch: {{#invoke:Str|len|{{{webciteID}}}}}
       | 16= {{#if: Enterprise Public Cloud Platforms, Q4 2014. | {{#invoke:WLink|getEscapedTitle|Enterprise Public Cloud Platforms, Q4 2014.}} | {{#invoke:Webarchiv|getdomain|https://www.forrester.com/The+Forrester+Wave+Enterprise+Public+Cloud+Platforms+Q4+2014/fulltext/-/E-RES118381}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if: 2024-04-17 04:55:40 InternetArchiveBot | 2024-04-17 04:55:40 InternetArchiveBot |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{{webciteID}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | 9 = {{#if: Enterprise Public Cloud Platforms, Q4 2014. | {{#invoke:WLink|getEscapedTitle|Enterprise Public Cloud Platforms, Q4 2014.}} | {{#invoke:Webarchiv|getdomain|https://www.forrester.com/The+Forrester+Wave+Enterprise+Public+Cloud+Platforms+Q4+2014/fulltext/-/E-RES118381}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if: 2024-04-17 04:55:40 InternetArchiveBot | 2024-04-17 04:55:40 InternetArchiveBot |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{#invoke:Expr|base62|{{{webciteID}}}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | #default= Der Wert des Parameters {{#if: webciteID | webciteID | ID }} muss entweder ein Zeitstempel der Form YYYYMMDDHHMMSS oder ein Schüsselwert mit 9 Zeichen oder eine 16-stellige Zahl sein!Vorlage:Webarchiv/Wartung/webcitation{{#if:  || }}
      }}
    | c|{{{webciteID}}}}} {{#if: Enterprise Public Cloud Platforms, Q4 2014. | {{#invoke:WLink|getEscapedTitle|Enterprise Public Cloud Platforms, Q4 2014.}} | {{#invoke:Webarchiv|getdomain|https://www.forrester.com/The+Forrester+Wave+Enterprise+Public+Cloud+Platforms+Q4+2014/fulltext/-/E-RES118381}} }} (Memento{{#if: {{#if: 2024-04-17 04:55:40 InternetArchiveBot | 2024-04-17 04:55:40 InternetArchiveBot |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y|{{{webciteID}}}}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
  }}
          | {{#if: 
              | Vorlage:Webarchiv/Today
              | {{#if:
                      | Vorlage:Webarchiv/Generisch
                      | {{#if: Enterprise Public Cloud Platforms, Q4 2014. | {{#invoke:WLink|getEscapedTitle|Enterprise Public Cloud Platforms, Q4 2014.}} | {{#invoke:Webarchiv|getdomain|https://www.forrester.com/The+Forrester+Wave+Enterprise+Public+Cloud+Platforms+Q4+2014/fulltext/-/E-RES118381}} }}  
                 }}}}}}}}{{#if:2024-04-17 04:55:40 InternetArchiveBot
    | Vorlage:Webarchiv/archiv-bot
  }}{{#invoke:TemplatePar|check
     |all      = url=
     |opt      = text= wayback= webciteID= archive-is= archive-today= archiv-url= archiv-datum= ()= archiv-bot= format= original=
     |cat      = Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
     |errNS    = 0
     |template = Vorlage:Webarchiv
     |format   = *
     |preview  = 1
  }}{{#ifexpr: {{#if:20151001220216|1|0}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}} <> 1
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Genau einer der Parameter 'wayback', 'webciteID', 'archive-today', 'archive-is' oder 'archiv-url' muss angegeben werden.|1}}
  }}{{#if: 
    | {{#switch: {{#invoke:Webarchiv|getdomain|{{{archiv-url}}}}}
        | web.archive.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von Internet Archive erkannt, bitte Parameter 'wayback' benutzen.|1}} 
        | webcitation.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von WebCite erkannt, bitte Parameter 'webciteID' benutzen.|1}} 
        | archive.today |archive.is |archive.ph |archive.fo |archive.li |archive.md |archive.vn = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von archive.today erkannt, bitte Parameter 'archive-today' benutzen.|1}}
      }}{{#if: 
         | {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}
             | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Wert des Parameter 'archiv-datum' ist ungültig oder hat ein ungültiges Format.|1}}
          |  }} 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Pflichtparameter 'archiv-datum' wurde nicht angegeben.|1}}
      }}
    | {{#if: 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Parameter 'archiv-datum' ist nur in Verbindung mit 'archiv-url' angebbar.|1}}
      }}
  }}{{#if:{{#invoke:URLutil|isHostPathResource|https://www.forrester.com/The+Forrester+Wave+Enterprise+Public+Cloud+Platforms+Q4+2014/fulltext/-/E-RES118381}}
    || {{#if:  || }}
  }}{{#if: Enterprise Public Cloud Platforms, Q4 2014.
    | {{#if: {{#invoke:WLink|isBracketedLink|Enterprise Public Cloud Platforms, Q4 2014.}}
        | {{#if:  || }}
      }}
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Linktext_fehlt
  }}{{#switch: 
    |addlarchives|addlpages= {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/Parameter}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: enWP-Wert im Parameter 'format'.|1}}
  }}{{#ifeq: {{#invoke:Str|find|https://www.forrester.com/The+Forrester+Wave+Enterprise+Public+Cloud+Platforms+Q4+2014/fulltext/-/E-RES118381%7Carchiv}} |-1
    || {{#ifeq: {{#invoke:Str|find|{{#invoke:Str|cropleft|https://www.forrester.com/The+Forrester+Wave+Enterprise+Public+Cloud+Platforms+Q4+2014/fulltext/-/E-RES118381%7C4}}%7Chttp}} |-1
         || {{#switch: {{#invoke:Webarchiv|getdomain|https://www.forrester.com/The+Forrester+Wave+Enterprise+Public+Cloud+Platforms+Q4+2014/fulltext/-/E-RES118381 }}
              | abendblatt.de | daserste.ndr.de | inarchive.com | webcitation.org = 
              | #default = {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/URL}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Archiv-URL im Parameter 'url' anstatt URL der Originalquelle. Entferne den vor der Original-URL stehenden Mementobestandteil und setze den Archivierungszeitstempel in den Parameter 'wayback', 'webciteID', 'archive.today' oder 'archive-is' ein, sofern nicht bereits befüllt.|1}}
            }} 
       }}
  }} In: Forrester, 29. Dezember 2014</ref>

Öffentliche und private PaaS-Angebote umfassen:

Weblinks

      | {{#ifeq: 20170609223621 | *
    | Vorlage:Webarchiv/Wartung/Stern{{#if: 4CaaSt – EU-Forschungsprojekt zur Erstellung einer erweiterten PaaS-Cloud-Plattform, Archiv | {{#invoke:WLink|getEscapedTitle|4CaaSt – EU-Forschungsprojekt zur Erstellung einer erweiterten PaaS-Cloud-Plattform, Archiv}} | {{#invoke:Webarchiv|getdomain|http://www.4caast.eu/}} }} (Archivversionen)
    | {{#iferror: {{#time: j. F Y|20170609223621}}
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/DatumDer Wert des Parameters {{#if: wayback | wayback | Datum }} muss ein gültiger Zeitstempel der Form YYYYMMDDHHMMSS sein!
         | {{#if: 4CaaSt – EU-Forschungsprojekt zur Erstellung einer erweiterten PaaS-Cloud-Plattform, Archiv | {{#invoke:WLink|getEscapedTitle|4CaaSt – EU-Forschungsprojekt zur Erstellung einer erweiterten PaaS-Cloud-Plattform, Archiv}} | {{#invoke:Webarchiv|getdomain|http://www.4caast.eu/}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y|20170609223621}} im Internet Archive{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
      }}
  }}
      | {{#if:
          | {{#iferror: {{#time: j. F Y|{{{webciteID}}}}}
    | {{#switch: {{#invoke:Str|len|{{{webciteID}}}}}
       | 16= {{#if: 4CaaSt – EU-Forschungsprojekt zur Erstellung einer erweiterten PaaS-Cloud-Plattform, Archiv | {{#invoke:WLink|getEscapedTitle|4CaaSt – EU-Forschungsprojekt zur Erstellung einer erweiterten PaaS-Cloud-Plattform, Archiv}} | {{#invoke:Webarchiv|getdomain|http://www.4caast.eu/}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{{webciteID}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | 9 = {{#if: 4CaaSt – EU-Forschungsprojekt zur Erstellung einer erweiterten PaaS-Cloud-Plattform, Archiv | {{#invoke:WLink|getEscapedTitle|4CaaSt – EU-Forschungsprojekt zur Erstellung einer erweiterten PaaS-Cloud-Plattform, Archiv}} | {{#invoke:Webarchiv|getdomain|http://www.4caast.eu/}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{#invoke:Expr|base62|{{{webciteID}}}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | #default= Der Wert des Parameters {{#if: webciteID | webciteID | ID }} muss entweder ein Zeitstempel der Form YYYYMMDDHHMMSS oder ein Schüsselwert mit 9 Zeichen oder eine 16-stellige Zahl sein!Vorlage:Webarchiv/Wartung/webcitation{{#if:  || }}
      }}
    | c|{{{webciteID}}}}} {{#if: 4CaaSt – EU-Forschungsprojekt zur Erstellung einer erweiterten PaaS-Cloud-Plattform, Archiv | {{#invoke:WLink|getEscapedTitle|4CaaSt – EU-Forschungsprojekt zur Erstellung einer erweiterten PaaS-Cloud-Plattform, Archiv}} | {{#invoke:Webarchiv|getdomain|http://www.4caast.eu/}} }} (Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y|{{{webciteID}}}}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
  }}
          | {{#if: 
              | Vorlage:Webarchiv/Today
              | {{#if:
                      | Vorlage:Webarchiv/Generisch
                      | {{#if: 4CaaSt – EU-Forschungsprojekt zur Erstellung einer erweiterten PaaS-Cloud-Plattform, Archiv | {{#invoke:WLink|getEscapedTitle|4CaaSt – EU-Forschungsprojekt zur Erstellung einer erweiterten PaaS-Cloud-Plattform, Archiv}} | {{#invoke:Webarchiv|getdomain|http://www.4caast.eu/}} }}  
                 }}}}}}}}{{#if:
    | Vorlage:Webarchiv/archiv-bot
  }}{{#invoke:TemplatePar|check
     |all      = url=
     |opt      = text= wayback= webciteID= archive-is= archive-today= archiv-url= archiv-datum= ()= archiv-bot= format= original=
     |cat      = Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
     |errNS    = 0
     |template = Vorlage:Webarchiv
     |format   = *
     |preview  = 1
  }}{{#ifexpr: {{#if:20170609223621|1|0}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}} <> 1
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Genau einer der Parameter 'wayback', 'webciteID', 'archive-today', 'archive-is' oder 'archiv-url' muss angegeben werden.|1}}
  }}{{#if: 
    | {{#switch: {{#invoke:Webarchiv|getdomain|{{{archiv-url}}}}}
        | web.archive.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von Internet Archive erkannt, bitte Parameter 'wayback' benutzen.|1}} 
        | webcitation.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von WebCite erkannt, bitte Parameter 'webciteID' benutzen.|1}} 
        | archive.today |archive.is |archive.ph |archive.fo |archive.li |archive.md |archive.vn = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von archive.today erkannt, bitte Parameter 'archive-today' benutzen.|1}}
      }}{{#if: 
         | {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}
             | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Wert des Parameter 'archiv-datum' ist ungültig oder hat ein ungültiges Format.|1}}
          |  }} 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Pflichtparameter 'archiv-datum' wurde nicht angegeben.|1}}
      }}
    | {{#if: 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Parameter 'archiv-datum' ist nur in Verbindung mit 'archiv-url' angebbar.|1}}
      }}
  }}{{#if:{{#invoke:URLutil|isHostPathResource|http://www.4caast.eu/}}
    || {{#if:  || }}
  }}{{#if: 4CaaSt – EU-Forschungsprojekt zur Erstellung einer erweiterten PaaS-Cloud-Plattform, Archiv
    | {{#if: {{#invoke:WLink|isBracketedLink|4CaaSt – EU-Forschungsprojekt zur Erstellung einer erweiterten PaaS-Cloud-Plattform, Archiv}}
        | {{#if:  || }}
      }}
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Linktext_fehlt
  }}{{#switch: 
    |addlarchives|addlpages= {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/Parameter}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: enWP-Wert im Parameter 'format'.|1}}
  }}{{#ifeq: {{#invoke:Str|find|http://www.4caast.eu/%7Carchiv}} |-1
    || {{#ifeq: {{#invoke:Str|find|{{#invoke:Str|cropleft|http://www.4caast.eu/%7C4}}%7Chttp}} |-1
         || {{#switch: {{#invoke:Webarchiv|getdomain|http://www.4caast.eu/ }}
              | abendblatt.de | daserste.ndr.de | inarchive.com | webcitation.org = 
              | #default = {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/URL}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Archiv-URL im Parameter 'url' anstatt URL der Originalquelle. Entferne den vor der Original-URL stehenden Mementobestandteil und setze den Archivierungszeitstempel in den Parameter 'wayback', 'webciteID', 'archive.today' oder 'archive-is' ein, sofern nicht bereits befüllt.|1}}
            }} 
       }}
  }}

Einzelnachweise

<references responsive />

es:Computación en la nube#Plataforma como servicio