Kategorien
Comment

If you sell your ASP as SaaS you do something basically wrong!

Despite the continuing spread of the cloud and the software-as-a-service (SaaS) model, you always meet again and again people, who are anchored in the firm belief to offer cloud computing since 20 years. Because ASP (Application Service Providing) was finally nothing else. The situation is similar with traditional outsourcers, whose pre-sales team will gladly agreed for an appointment after a call to model the customers ‚tailored‘ cloud computing server infrastructure locally, which may be paid by the customer in advance. In this post it’s only about why ASP has nothing to do with SaaS and cloud.

ASP: 50 customers and 50 applications

Let’s be honest. A company that wants to distribute an application will come sooner or later to the idea that it somehow wants to maximize its profits. In this context, economies of scale have an important role to place an efficient solution on the market that is designed that it remains profitable in spite of its own growth. Unfortunately, an ASP model can not prove exactly that. Because ASP has one problem. It does not scale dynamically. But is only as fast as the administrator must ensure that another server is purchased, installed in the server room, equipped with the operating system and other basic software plus the actual client software.

Furthermore, in the typical ASP model, for each customer an instance of the respective software is needed. In the worst case (depending on performance) at least even a separate (physical) server for each customer is required. This means in numbers, that for 50 customers who want to use exactly the same application but separated from each other, 50 installations of the application and 50 servers are required. Topics such as databases should not be forgotten, where in many cases, up to three times as many databases must be used as applications are provided to customers.

Just consider yourself the effort (cost) that an ASP provider operates to integrate and manage the hosted systems, to service new customers and beyond that to provide them with patches and upgrades. This is unprofitable!

SaaS: 50 customers and 1 application

Compared to ASP SaaS sets on a much more efficient and more profitable model. Instead of running one application for each customer, only one instance of an application for all customers is used. This means that for 50 customers only one instance of the application is required, that all together are using but isolated from each other. Thus, the expenses for the operation and management of the application is reduced in particular. Where an administrator at the ASP model had to update each of the 50 software installation, it is sufficient for SaaS, if a single instance is updated. If new customers want to take advantage to access the application, it is automatically set up, without an administrator needs to install a new server and set up the application for them. This saves both time and capital. This means that the application grows profitable with the requirements of new customers.

Multi-tenancy is the key to success

The concept behind SaaS, which accounts for a significant difference between ASP and SaaS, is called multi-tenancy. Here are several mandates, ie customers, hosted on the same server or software system, without beeing able to look in the data, settings, etc. of each other. This means that only a customer can see and edit its data. A single mandate within the system forms a related to the data and organizationally closed unity.

As noted above, the benefits of a multitenancy system is to centrally install the application, to maintain and optimize memory requirements for data storage. This is due to the fact that data and objects are held across clients and just need to be stored for an installed system and not per mandate. In this context, it must be stressed again that a software system is not multitenant by giving each client its own instance of software. Within the multi-tenancy method all clients using one instance of an application that is centrally managed.

If you still have the question why not to sell ASP as SaaS, read „Software-as-a-Service: Why your application belongs to the cloud as well„.

Kategorien
Kommentar

Wer sein ASP als SaaS verkauft macht etwas grundlegend falsch!

Trotz der anhaltenden Verbreitung der Cloud und des Software-as-a-Service (SaaS) Modells trifft man immer wieder auf den einen oder anderen, der im festen Glauben verankert ist, Cloud Computing schon seit gefühlten 20 Jahren anzubieten. Denn ASP (Application Service Providing) sei schließlich nichts anderes. Ähnlich verhält es sich mit klassischen Outsourcern, deren Pre-Sales Team nach einem Anruf gerne einen Termin vereinbart, um mit dem Kunden vor Ort eine „maßgeschneiderte“ Cloud Computing Serverinfrastruktur zu modellieren, die von dem Kunden vorab bezahlt werden darf. Hier soll es aber darum gehen, warum ASP mit SaaS und der Cloud nicht den Hauch einer Spur zu tun hat.

ASP: 50 Kunden und 50 Applikationen

Sind wir ehrlich. Ein Unternehmen, das eine Anwendung vertreiben möchte wird früher oder später auf den Gedanken kommen, dass es seine Gewinne doch irgendwie maximieren möchte. In diesem Zusammenhang haben die Economies of scale eine wichtige Bedeutung, um eine effiziente Lösung am Markt zu platzieren, die so konstruiert ist, dass diese trotz des eigenen Wachstums weiterhin profitabel bleibt. Leider kann ein ASP Modell genau das nicht nachweisen. Denn ASP hat ein Problem, es skaliert nicht dynamisch, sondern ist nur so schnell, wie der Administrator der dafür sorgen muss, dass ein weiterer Server eingekauft, im Serverraum installiert, mit dem Betriebssystem und weiterer Basissoftware und der eigentlichen Kundensoftware ausgestattet ist.

Weiterhin wird bei dem typischen ASP-Modell für jeden Kunden eine Instanz der jeweiligen Software benötigt. Im schlimmsten Fall (je nach Performance) wird sogar für jeden Kunden mindestens ein eigener (physikalischer) Server benötigt. Das bedeutet in Zahlen, dass für 50 Kunden, welche exakt dieselbe Anwendung aber getrennt voneinander nutzen möchten, 50 Installationen der Applikation und 50 Server benötigt werden. Vergessen sollten man dabei nicht Themen wie Datenbanken, in denen in vielen Fällen bis zu drei Mal so viele Datenbanken eingesetzt werden müssen wie Applikationen für die Kunden bereitgestellt sind.

Man überlege sich darüber hinaus den Aufwand (die Kosten), den ein ASP-Anbieter betreibt, um neue Kunden zu integrieren und die gehosteten Systeme zu verwalten, zu warten sowie mit Patches und Upgrades zu versorgen. Das ist unprofitabel!

SaaS: 50 Kunden und 1 Applikation

SaaS setzt im Vergleich zu ASP auf ein viel effizienteres und profitableres Modell. Anstatt für jeden Kunden jeweils eine Applikation zu betreiben, kommt nur eine einzige Instanz einer Applikation für alle Kunden zum Einsatz. Das bedeutet, dass für 50 Kunden nur 1 Instanz der Applikation benötigt wird, die alle gemeinsam aber isoliert voneinander nutzen. Damit wird insbesondere der Aufwand für den Betrieb und das Management der Applikation reduziert. Wo ein Administrator beim ASP-Modell jede Software der 50 Installation updaten musste, reicht es beim SaaS, wenn eine einzige Instanz aktualisiert wird. Wollen neue Kunden die Applikation nutzen wird ihnen der Zugang zu der Anwendung automatisch eingerichtet, ohne dass ein Administrator erst einen neuen Server installieren und die Applikation einrichten muss. Das spart sowohl Zeit als auch Kapital. Das bedeutet, dass die Anwendung mit den Anforderungen durch neue Kunden profitabel mitwächst.

Multitenancy ist der Schlüssel zum Erfolg

Das Konzept hinter SaaS, das einen entscheidenden Unterschied zwischen ASP und SaaS ausmacht, nennt sich Multitenancy (Mandantenfähigkeit). Hier werden auf ein und demselben Server bzw. Softwaresystem mehrere Mandaten, also Kunden gehostet, ohne das sich diese gegenseitig in die Daten, Einstellungen usw. schauen können. Das bedeutet, dass auch nur jeder Kunde seine Daten sehen und bearbeiten kann. Ein einziger Mandat innerhalb des Systems bildet dabei eine auf die Daten bezogene und organisatorisch geschlossene Einheit.

Wie bereits oben angemerkt, sind die Vorteile eines Multitenancy Systems, die Applikation zentral zu installieren und zu warten sowie der optimierte Speicherbedarf für die Datenhaltung. Das hängt damit zusammen, dass Daten und Objekte die mandantenübergreifend gehalten werden, nur für ein installiertes System gespeichert werden müssen und nicht pro Mandat. In diesem Zusammenhang muss noch einmal betont werden, dass ein Softwaresystem nicht mandantenfähig wird, indem jeder Mandanten eine eigene Instanz einer Software erhält. Alle Mandaten nutzen im Multitenancy-Verfahren eine Instanz einer Applikation die zentral verwaltet wird.

Wer sich weiterhin die Frage stellt, warum man ASP nicht als SaaS verkaufen darf, der sollte „Software-as-a-Service: Warum auch Ihre Anwendung in die Cloud gehört“ lesen!

Kategorien
News

Amazon möchte .NET Entwickler in die AWS Cloud entführen

Die Amazon Web Services hübschen sich weiter auf, um ihre Attraktivität für Microsoft .NET Entwickler zu steigern. Dazu hat das Unternehmen kürzlich zwei Neuigkeiten angekündigt, die sich auf exakt diese Zielgruppe konzentrieren. Bei der einen handelt es sich um Amazon RDS for SQL Server, einem Service für den Microsoft Datenbankserver. Die Zweite ermöglicht nun das Deployment von .NET Anwendungen auf der Amazon Elastic Beanstalk Plattform.

Entwickler haben zusätzlich zu ihrem Code in der Regel ebenfalls mit dem Deployment und der Administration ihrer Datenbanken zu tun, was zu einer nicht trivialen Aufgabe werden kann. Insbesondere dann, wenn Updates eingespielt oder Backups erstellt werden müssen. Die Amazon Web Services haben sich seit längerem diesem Thema angenommen und unterstützen mit Amazon RDS bereits Oracle und MySQL Datenbanken.

Jetzt erweitert Amazon sein Angebot für Windows Entwickler. Amazon RDS for Microsoft SQL Server ermöglicht es der Microsoft Entwickler Gemeinde seine Datenbankoperationen für Microsoft SQL Server 2008 R2 und SQL Server 2012 in die Amazon Cloud auszulagern. Dabei wird der Microsoft SQL Server 2008 R2 bereits jetzt schon, der SQL Server 2012 im Laufe des Jahres unterstützt.

Darüber hinaus können Entwickler von ASP.NET Anwendungen nun ebenfalls Amazons PaaS Elastic Beanstalk für das Deployment in der Amazon Cloud nutzen. Um die Applikation in die Cloud hochzuladen, stellt Amazon das AWS Toolkit for Visual Studio bereit. Elastic Beanstalk übernimmt anschließend automatisch die Kapazitätsplanung, sowie die Konfiguration des Load Balacing und das Monitoring für die Anwendung.

Der AWS Elastic Beanstalk Service befindet sich aktuell noch in der Beta Phase und nutzt die Microsoft Internet Information Services (IIS) 7.5 und das Windows Server 2008 R2 AMI (Amazon Machine Image), um die .NET Anwendungen auszuführen. Neben der Nutzung von mehreren Availability unterstützt Elastic Beanstalk mittlerweile auch die Amazon Virtual Private Cloud.

Neue Kunden können Elastic Beanstalk kostenlos nutzen. Dazu erhalten sie eine Amazon RDS Micro Instance incl. SQL Server Express Edition, die ein Freikontingent von 750 Stunden pro Monat beinhaltet. Zudem dürfen für ein Jahr lang 10 Millionen I/O Anfragen pro Montag gestellt werden und Amazon spendiert sogar noch 20GB Datenbankspeicher.

Kategorien
Grundlagen

Was ist Cloud Computing?

Geschichte

Die grundlegenden Ideen und Konzepte des Cloud Computing reichen bis in die 1960er zurück. Schon damals hatte Prof. John McCarthy die Idee entwickelt Rechenleistung und Anwendungen als Utility der Öffentlichkeit gegen eine Nutzungsgebühr bereitzustellen. Dass der Durchbruch erst heute bevorsteht, hängt mit den technischen Voraussetzungen zusammen, die zur damaligen Zeit einfach noch nicht gegeben waren.

Kurz zusammengefasst beginnt die Entwicklung zum heutigen Cloud Computing in den 1960er mit dem Utility Computing, dessen Idee darin besteht, IT-Dienste und Rechenleistung nach Verbrauch abzurechnen. Dazu gesellten sich die Application Service Provider (ASP), die als Dienstleister über eine Datenverbindung Anwendungssoftware wie z.B. ein CRM-System (Customer Relationship Management) anbieten, das von einem Kunden gegen eine Nutzungsgebühr gemietet werden kann. Die oben bereits angesprochenen Probleme führten dazu, dass der Hype wieder abnahm und erst um 2000 herum unter dem neuen Namen Software as a Service (SaaS) wieder aufgenommen wurde. In den 1990er kam die Idee des Grid Computings auf, das als ein Ersatz für Supercomputer verstanden werden kann, indem verteilte Rechnerleistung nach Bedarf bezogen wird.

Cloud Computing - Historische Entwicklung

Der serviceorientierte Ansatz aus dem Bereich des Utility Computing und den Bereichen der ASP/ SaaS + dem technischen Ansatz des Grid Computings ergeben in der Summe das, was wir heute unter Cloud Computing verstehen.

Definition

Cloud Computing symbolisiert den service- und anwendungsorientierten Trend der heutigen Informationstechnologie, bei dem verteilte und hoch skalierbare Infrastrukturen über das Internet von einem oder mehreren Providern adaptiert werden können und Anwendungen und Dienste an jedem Ort und zu jeder Zeit verfügbar sind.

Erwartungen

Unternehmen können durch den Einsatz von Cloud Computing ihre IT-Gesamtausgaben deutlich reduzieren und die Qualität, Sicherheit aber vor allem ihre Arbeitsabläufe messbar steigern. Cloud Computing Anbieter können Skaleneffekte nutzen, indem sie ihre Kosten über eine große Anzahl von Kunden verteilen und haben damit die Möglichkeit die Investitionen in den Betrieb und die Sicherheit (Daten- und Zugangssicherheit) ihrer Rechenzentren im Vergleich zu herkömmlichen Rechenzentrums Betreibern zu erhöhen.