Der Begriff „Cloud“ wird in vielerlei Hinsicht verwendet. Neben der technischen Infrastruktur, welche zum Betrieb von Diensten notwendig ist, sind für uns in erster Linie das Design und die Entwicklung der Dienste, welche in der „Cloud“ betrieben werden, von Belang.
Um einen erfolgreichen Cloud-Dienst im Markt zu etablieren gehören verschiedene Faktoren dazu:
- Skalierbarkeit (Scalability, horizontal/vertikal)
100 oder 100 Millionen Nutzer? - Ausfallsicherheit (Reliability)
- Verfügbarkeit (Availability)
(HA – High-Availability) Was passiert, wenn ein System ausfällt? - Sicherheit (Security)
Verschlüsselung, Firewalls, für das Internet sichtbare Services
- Datenvolumen
Welche Datenbank wird benötigt? Big Data?
All diese Aspekte haben einen direkten Einfluss auf die System- und Software-Architektur und werden für jedes Kundenprojekt individuell ermittelt und umgesetzt.
Abhängig von den oben genannten Faktoren müssen unterschiedliche Systeme zusammen betrieben werden:
Lastverteilung (Loadbalancer / SSL Offloading)
Zur Steigerung der Sicherheit, Skalierbarkeit und Verfügbarkeit, werden Front-End-Systeme mit einer auf den Cloud-Service abgestimmten Konfiguration eingesetzt.
Applikationserver
Wir entwickeln professionelle Backendsysteme mit auf Java basierten Applikationsservern. Dabei haben wir uns auf folgende Applikationsserver fokussiert:
- RedHat – JBoss AS/WildFly Application Server
- Oracle – GlassFish Server
- Oracle – WebLogic
Da die JEE Umgebung standardisiert ist, können auch andere Applikationsserver zum Betrieb der Cloud verwendet werden.
Der Vorteil eines Applikationsservern besteht aus den zur Verfügung gestellten Services, wie Session/User Handling, Webserver, Webservices, Messaging, Skalierbarkeit usw.
Search-Engine, Indexer
Unter Zuhilfenahme von professionellen Index und Suchwerkzeugen, können hochperformante Suchen auf großen Datenmengen entwickelt werden. Eines der bekanntesten opensource Systeme, das wir einsetzen ist lucene.
Zur Speicherung der Daten in der Cloud werden Datenbank-Systeme verwendet.
Backupdienste
Es ist unerlässlich ein System zum Backup der in der Cloud genutzten Daten einzubinden. Dies kann in Form von redundanten Systemen oder expliziten Backup Systemen erfolgen.