Serverless Computing: Ein Überblick zu den Services von Amazon und Microsoft

Im Serverless-Modell werden Anwendungskomponenten wie Datenbanken oder Komponenten zur Datenverarbeitung automatisch und bedarfsabhängig vom Cloud-Provider zur Verfügung gestellt und betrieben. Die Verantwortung des Cloud-Nutzers liegt darin, diese Ressourcen zu konfigurieren – etwa durch eigenen Code oder anwendungsspezifische Parameter – und sie zu kombinieren.

Kosten fallen nach verbrauchten Kapazitäten an und die Skalierung erfolgt automatisch auf Basis der Last. Bereitstellung, Skalierung, Wartung, Hochverfügbarkeit und Verwaltung von Ressourcen liegen in der Verantwortung des Cloud-Providers.

Serverless eignet sich besonders für schwer vorhersehbare oder kurzlebige Arbeitslasten, für Automatisierungsaufgaben oder Prototypen. Serverless ist weniger ideal für ressourcenintensive, langlebige und planbare Aufgaben, da in diesem Fall die Kosten signifikant höher sein können als bei selbstverwalteten Ausführungsumgebungen.

Building Blocks

Im Rahmen eines Serverless-Adventskalenders wurden die Cloud-Services von AWS und Azure gegenübergestellt. Die Türchen öffnen sich unter dem Hashtag #ZEISSDigitalInnovationGoesServerless.

KategorieAWSAzure
COMPUTE
Serverless Function
AWS LambdaAzure Functions
COMPUTE
Serverless Containers
AWS Fargate
Amazon ECS/EKS
Azure Container Instances / AKS
INTEGRATION
API Management
Amazon API GatewayAzure API Management
INTEGRATION
Pub-/Sub-Messaging
Amazon SNSAzure Event Grid
INTEGRATION
Message Queues
Amazon SQSAzure Service Bus
INTEGRATION
Workflow Engine
AWS Step FunctionsAzure Logic App
INTEGRATION
GraphQL API
AWS AppSyncAzure Functions mit Apollo Server
STORAGE
Object Storage
Amazon S3Azure Storage Account
DATA
NoSQL-Datenbank
Amazon DynamoDBAzure Table Storage
DATA
Storage Query Service
Amazon Aurora ServerlessAzure SQL Database Serverless
SECURITY
Identity Provider
Amazon CognitoAzure Active Directory B2C
SECURITY
Key Management
AWS KMSAzure Key Vault
SECURITY
Web Application Firewall
AWS WAFAzure Web Application Firewall
NETWORK
Content Delivery Network
Amazon CloudFrontAzure CDN
NETWORK
Load Balancer
Application Load BalancerAzure Application Gateway
NETWORK
Domain Name Service
Amazon Route 53Azure DNS
ANALYTICS
Data Stream
Amazon KinesisAnalytics
ANALYTICS
ETL Service
AWS GlueAzure Data Factory
ANALYTICS
Storage Query Service
Amazon AthenaAzure Data Lake Analytics

Einen Überblick zu den genannten Services und ihren Eigenschaften sowie einige beispielhafte Architekturmuster haben wir in Form eines Posters zusammengetragen. Dieser Überblick ermöglicht einen leichten Einstieg in das Thema Serverless-Architektur.

Abbildung 1: Vorschau Poster „Serverless Computing“

Gerne senden wir Ihnen das Poster auch in Originalgröße (1000 x 700 mm) zu. Schreiben Sie uns dazu einfach eine E-Mail mit Ihrer Adresse an info.digitalinnovation@zeiss.com. Beachten Sie hierzu bitte unsere Datenschutzhinweise.

Best Practices für Serverless-Funktionen

Jede Funktion sollte nur eine Sache tun (Single Responsibility Principle). Dies verbessert Wartbarkeit und Wiederverwendbarkeit. Speicherkapazität, Zugri­ffsrechte und Timeout-Einstellung können gezielter konfiguriert werden.

Mit der Erhöhung des zugewiesenen Speichers einer Lambda-Funktion werden auch CPU‑ und Netzwerkkapazität erhöht. Ein optimales Verhältnis aus Ausführungszeit und Kosten sollte per Benchmarking gefunden werden.

Eine Funktion sollte keine weitere Funktion synchron aufrufen. Das Warten führt zu unnötigen Kosten und erhöhter Kopplung. Stattdessen ist asynchrone Verarbeitung, z. B. über Message Queues, einzusetzen.

Das Deployment-Paket einer Funktion sollte so klein wie möglich sein. Auf große externe Bibliotheken ist zu verzichten. Das verbessert die Kaltstartzeit. Wiederkehrende Initialisierungen von Abhängigkeiten sollten außerhalb der Handler-Funktion stattfinden, damit sie nur einmalig beim Kaltstart ausgeführt werden müssen. Es ist ratsam, betriebliche Parameter über Umgebungsvariablen einer Funktion abzubilden. Das verbessert die Wiederverwendbarkeit.

Die Zugriffsberechtigungen auf andere Cloud-Ressourcen sind für jede Funktion individuell und so restriktiv wie möglich zu definieren. Zustandsbehaftete Datenbankverbindungen sind zu vermeiden. Stattdessen sollten Service-APIs verwendet werden.

Greetings from Santa Cloud

Was uns Santa über die Cloud zu berichten hat …

Mit unserer diesjährigen Grußaktion möchten wir das Thema Cloud auch in Ihre Weihnachtsstube bringen. Vielleicht haben Sie schon einmal darüber nachgedacht, für Ihre digitalen Lösungen Cloud-Plattformen wie AWS oder Azure zu nutzen. Vielleicht nutzen Sie auch bereits erste Anwendungen in der Cloud oder sie haben bisher noch gar keine Berührungspunkte mit diesem Thema.

Santa Cloud möchte Ihnen eine klare Botschaft übermitteln:

Statt monolithische Anwendungen auf Application Servern zu entwickeln und zu betreiben, sollten Sie sich auf die Lieferung wertschöpfender Features für Ihre Nutzer und Ihr Geschäft konzentrieren.“

Ein fröhlicher Weihnachtsmann sitzt auf einer Wolke.

Durch den Einsatz skalierbarer Cloud-Lösungen erhalten Sie mehr Flexibilität und steigern Ihre Innovationskraft. Möglicherweise ist unser kleiner Weihnachtsgruß ein erster Anreiz für Sie. Santa Cloud würde sich freuen!

Was wir gemeinsam Gutes tun wollen …

Doch nicht nur Ihnen wollen wir neue Möglichkeiten eröffnen. Deshalb widmen wir uns in diesem Jahr einem ganz besonderen Projekt der Kindernothilfe, welches “Kleinen Herzen große Chancen gibt”. Mit der 1+3=4 Weihnachtsaktion werden öffentliche Zuschüsse wie z.B. vom Bundesministerium für wirtschaftliche Zusammenarbeit und Entwicklung (BMZ) beantragt. Durch diese Kofinanzierung wird die Spende vervierfacht. 

Mit unterschiedlichen Projekten bekämpft die Kindernothilfe den Hunger weltweit. So wird beispielsweise durch die Vermittlung von Wissen gezeigt, wie sich mehr Ernte-Erträge erbringen lassen. Es entstehen neue Einnahmequellen durch den Aufbau von Schafs-, Ziegen- oder Hühnerzuchten und es werden neue Möglichkeiten für den Anbau von Pflanzen, insbesondere von Kaffee, geschaffen.

Blaues Kreuz der Kindernothilfe

Weihnachtsaktion
“1 + 3 = 4”

Und wie Sie uns und Santa Cloud dabei helfen können …

Wir haben Ihnen einen kleinen Holzanhänger geschickt. Senden Sie einfach ein Foto von dem Anhänger an Ihren Ansprechpartner und zeigen uns, wo Santa Cloud Sie zur Weihnachtszeit oder über Weihnachten begleitet. Der Kreativität sind dabei keine Grenzen gesetzt.

Wir sammeln Ihre Bilder und spenden für die ersten 50 eingesendeten Fotos jeweils zehn Euro an die Kindernothilfe. Mit Ihrer Hilfe können wir unser Spendenziel von 2.000 Euro erreichen. Also machen Sie mit.

Einsendeschluss ist der 31. Januar 2020. Wir freuen uns über jede Rückmeldung!

Grün-weiß-gestreiftes Geschenk mit roter Schleife
Grünes Geschenk mit weißen Punkten und roter Schleife

Wir danken Ihnen für Ihre Unterstützung und wünschen Ihnen ein gesundes, frohes und erfolgreiches Jahr 2020!

Cloud Special Day – OOP 2019

Nicht nur Start-Ups sondern auch große und etablierte Unternehmen setzen immer stärker auf Cloud-Lösungen, um ihre Wertschöpfungskette zu digitalisieren. Doch welche technischen Möglichkeiten stehen auf Cloud-Plattformen wie Amazon Webservices und Microsoft Azure zur Verfügung, um geschäftskritische Anwendungen z. B. im medizintechnischen Umfeld zu entwickeln? Genau diese Fragen haben wir als Saxonia Systems AG (seit 03/2020 ZEISS Digital Innovation) im Rahmen unseres Cloud Special Days auf der OOP 2019 in München gemeinsam mit u. a. der Carl Zeiss Meditec AG beantwortet.


Vortrag 1

Sicher und compliant: Wie man eine medizinische Cloud-Plattform aufbaut​

Im ersten Beitrag boten Thorsten Bischoff (Carl Zeiss Meditec AG) und Dirk Barchmann (Saxonia Systems AG) einen Einblick in die Entwicklung einer bereits international eingeführten Mobil-Anwendung: Diese erlaubt es Ärzten, Patienten- und OP-Informationen mithilfe einer Cloud-Plattform auf Basis von Amazon Webservices (AWS) zwischen der Arztpraxis und einem entfernten OP-Saal zu synchronisieren. Das Hauptaugenmerk wurde dabei auf die Sicherheit der zu übermittelnden und zu speichernden Daten gelegt (encryption in transit / at rest), wobei es eine Vielzahl von Industrienormen und gesetzlichen Vorschriften in den verschiedenen Zielländern zu beachten und zu erfüllen galt. Beispiele dafür sind die DSGVO in Europa oder die HIPAA Privacy, Security, Transactions Rule in den USA sowie die weltweit anerkannten ISO-27001-Standards. Ein zentraler Lösungsbaustein sind bereits geprüfte und zertifizierte Cloud-Dienste wie etwa der Amazon Key Management Service (KMS) zur Verschlüsselung von Daten oder der Amazon Simple Storage Service (S3) zu deren Speicherung. Aber nicht nur technische Fragestellungen mussten geklärt werden – auch organisatorische und prozessuale Anpassungen wurden aufgrund der Nutzung von Cloud-Diensten vorgenommen, um die notwendigen Zertifizierungen zu erreichen.


Vortrag 2

Vor- und Nachbereitung von Katarakt OPs in der Cloud

Im darauffolgenden Vortrag von Rainer Scheubeck (Carl Zeiss Meditec AG) und Alexander Casall (Saxonia Systems AG) wurde davon berichtet, wie eine Lösung zur Vorbereitung, Planung und Nachbereitung von Augenoperationen in der Cloud entwickelt und in Produktion gebracht wurde.

Neben der Möglichkeit, dass Updates an zentraler Stelle ausgerollt und Daten (z. B. Stammdaten) zentral gepflegt werden können, war die dynamische Skalierbarkeit der Anwendung ein Argument für eine Cloud-basierte Lösung. Um die Nachhaltigkeit und Erweiterbarkeit der Anwendung sicherzustellen, werden die Komponenten der Anwendung als Docker-Container auf Basis der Cluster-Management-Lösung Kubernetes betrieben. Die verwendeten Cloud-Native-Dienste, wie etwa Azure Kubernetes Service und Azure CosmosDB, sind über standardisierte und verbreitete Schnittstellen angebunden. Dieses Vorgehen erlaubt es, die Anwendung relativ unabhängig vom Public-Cloud-Provider zu betreiben und ermöglicht es, den gewählten Provider ohne größeren Aufwand zu wechseln. Da es sich bei der Anwendung um ein Medizinprodukt handelt, ist deren Entwicklung und Distribution durch verschiedene Institutionen reguliert, so dass in der Konzeption und Entwicklung besonderer Wert auf Infrastruktur und Testautomatisierung gelegt wurde.


Vortrag 3

Neue Wege mit der Cloud erforschen

Dr. Andreas Zeidler (Carl Zeiss Meditec AG) und Leo Lindhorst (Saxonia Systems AG) stellten im dritten Vortrag die aktuellen Erkenntnisse eines F&E-Projekts der Carl Zeiss Meditec AG vor. Ziel ist es zu bewerten, wie bestehende On-Premises-Lösungen auf AWS migriert werden können. Hintergrund ist der steigende Bedarf der Mediziner an rechenintensiven Analysen, für die die bestehende On-Premises-Infrastruktur zu schwach ist. Für die Bewertung werden auf Basis des Prototyps einer medizinischen Cloud-Plattform mehrere minimale Produkte entwickelt, um die verschiedenen Ansätze und Herausforderungen bei einer Cloud-Migration zu explorieren. Dabei kommen moderne Konzepte und Technologien wie etwa Datalake oder Serverless-Architekturen zum Einsatz.


Vortrag 4

Private Cloud – Eine Alternative?

Für Fälle in denen eine Transformation zu einer Public-Cloud-Infrastruktur nicht möglich ist, kann eine Private-Cloud eine Alternative sein. Günther Buchner (Saxonia Systems AG) stellte im letzten Vortrag des Tages seine Erfahrungen bezüglich der Einführung einer OpenStack basierten Private-Cloud-Infrastruktur in einem Großunternehmen vor. Dabei handelt es sich um eine Infrastruktur, die zentral vom Unternehmen für verschiedene Parteien in der Organisation auf eigener Hardware betrieben wird. Diese Infrastruktur besitzt Cloud-Eigenschaften wie bedarfsorientiert skalierbare Bereitstellung und Abrechnung von Ressourcen, Hochverfügbarkeit und zentrale Implementierung von Querschnittsfunktionalitäten. Im beschriebenen Szenario kam OpenStack als Basistechnologie zum Einsatz.

Open Stack bietet einen Infrastructure as a Service (IaaS) Layer, auf dessen Basis im vorgestellten Projekt Cloud Foundry als Platform as a Service (PaaS) Dienst betrieben wird. Die Kosten werden, analog zur Public-Cloud, bedarfsabhängig anhand eines Kostenschlüssels auf die Abteilungen umgelegt, welche die Private-Cloud-Dienste nutzen. Die Einführung einer solchen komplexen IT-Infrastruktur ist zwar mit einem nicht unerheblichen Aufwand verbunden, bietet allerdings auch eine Reihe von Vorteilen: So können Unternehmen dadurch Agilität und Flexibilität in der Softwareentwicklung mit Cloud-Technologien steigern, ohne abhängig von Public-Cloud-Providern zu sein oder sich mit der komplexeren Datenschutzsituation bei Anbietern außerhalb der eigenen Organisation auseinandersetzen zu müssen.