Ein großer Trend in unserer heutigen Industrie ist der Übergang in die Cloud. Sie bietet eine Varietät von Möglichkeiten, um den Entwicklern das Leben zu erleichtern. Der Hauptakteur im Cloud Computing ist AWS. AWS wurde im März 2006 gestartet und war somit das erste Unternehmen, was den Cloud Service angeboten hat. Dementsprechend hat sich dieser Vorsprung bis heute gehalten und hat AWS somit zum größten Cloud Provider gemacht.
Cloud Services bieten verschiedene Frameworks an, um beispielsweise ein Backend oder eine UI schnell aufzusetzen, um Zeit zu sparen. Da sich die App Entwicklung immer mehr in die Richtung von Real-Time Apps bewegt, gibt es natürlich auch für diese Kategorie ein Framework von AWS, „AWS Amplify“, um genau diesen Entwicklungsprozess zu vereinfachen und die App auf die breite Masse zu skalieren.
Was ist Amplify?
AWS Amplify ermöglicht es dem Entwickler eine App schnell aufzubauen ohne sich dabei um das Einrichten einer Infrastruktur zu kümmern. Somit gehört es in die Kategorie „Backend as a Service“ zu der auch beispielsweise Google Firebase gehört. Der Service ermöglicht das schnelle und einfache Integrieren von Diensten wie Authentication, Analytics, Storage etc.
Welche Funktionen bietet Amplify für eine Real-Time App an?
AWS Cognito
Dieser Service von AWS ermöglicht es Nutzern sich auch über soziale Dienste, wie Google, Facebook etc. anzumelden. Alternativ kann man auch festlegen, dass sich Nutzer nur über E-Mail und Passwort bzw. Benutzername und Passwort authentifizieren können. In der AWS Web Console kann man einen Userpool für eine App erstellen, in dem man alle registrierten User sehen kann. Des Weiteren ist es auch möglich dort die Berechtigungen für die User anzupassen. Somit kann man flexibel bestimmen, welche User auf welche Ressourcen zugreifen darf, indem man Rollen erstellt. Das Anlegen und Abspeichern der User übernimmt hier die API von AWS.
AWS AppSync
AppSync ist ein verwalteter Service, der die Entwicklung von GrapQL-APIs vereinfacht. Somit kann der Entwickler mit einem einzigen Request durch Verwendung von GraphQL, seine App mit mehreren Datenquellen verbinden. Das hat beispielsweise zum Vorteil, dass man die Authentifikation nur einmal für diese Verbindung definieren und einrichten muss, anstatt dies für jede einzelne Datenquelle zu tun. Des Weiteren ermöglicht AppSync die Datenaktualisierung in Real-Time über Websockets, aber auch den lokalen offline Zugriff auf die App. Sobald der User wieder Online ist, werden die Daten synchronisiert.
Weitere Funktionen
Neben den oben genannten Funktionen besitzt Amplify aber auch noch weitaus mehr Features. Diese reichen von Analytics, Predictions bis zur UI Gestaltung. Beispielsweise lassen sich Daten in der eigenen App durch Analytics ansammeln, um diese später in
Predictions zu verarbeiten. Somit kann man die User-Experience angenehmer gestalten, indem man beispielsweise seine gesammelten Daten dafür benutzt, um das Nutzerverhalten hervorzusehen und so Ads auf ihn zuzuschneiden. Abgesehen von verschiedenen Services bietet AWS auch AWS Lambda an. AWS Lambda ermöglicht es dem Entwickler bestimmte Auslöser zu definieren, bevor ein Code ausgeführt wird. Diese Auslöser können Aufrufe in der App sein, aber auch andere AWS Services, welches das Zusammenspiel der einzelnen Frameworks noch einmal vereinfacht.
Wie sieht der Marktanteil von AWS Amplify aus?
Laut „hgdata.com“ wird Amplify derzeit von 450 Unternehmen benutzt, um eine App zu hosten. Über die letzten zwölf Monate konnte AWS Amplify einen Wachstumsanstieg von starken 80,50% vorweisen, was eine gute Vorahnung gibt, in welche Richtung sich Amplify entwickelt. Auch in den sozialen Medien ist Amplify vertreten. Auf Twitter hat die offizielle Seite des Cloud Services bereits knapp 15.500 Follower. Des Weiteren gibt es auch kleine Entwickler Communites auf Discord und Slack, wo man sich gegenseitig über das Framework austauschen kann.
Wie ist die Meinung von Entwicklern zu AWS Amplify
Der Großteil der Entwickler, die mit Amplify Kontakt hatten, finden es wirklich sehr benutzerfreundlich. Auch das leichte Zusammenspiel mit anderen AWS Cloud Services wird des Ü–fteren erwähnt. Das Aufsetzen einer kleinen App geht wirklich extrem schnell und setzt kein Basis Wissen voraus. Ein weiterer Vorteil ist, dass AWS Amplify das Bezahlungsmodel „Pay as you go“ benutzt. Das heißt für den Entwickler, dass es keine versteckten Kosten gibt und man wirklich nur die Dienste zahlt, die man in Anspruch genommen hat.
Allerdings bemängeln aber viele User auch, dass es leider noch keine ausreichende Dokumentation und somit die Lernkurve höher ist als bei anderen Services wie Google Firebase. Dies lässt sich aber auf das junge Alter von AWS Amplify zurückschließen.
Fazit
AWS Amplify bietet viele verschiedene Funktionen an, um Real-Time Funktionalitäten in die eigene App einzubauen. Des Weiteren kann man auch die UI über AWS programmieren. Hierbei werden diverse Front-End Sprachen wie React oder Angular unterstützt. Daraus kann man schließen, dass AWS Amplify auf jeden Fall sehr viele verschieden Funktionalitäten anbietet, um einem App Entwicklern das Leben zu vereinfachen, um schnell und kostengünstig eine skalierbare App zu programmieren.
1 Kommentar
Pingback: AWS Amplify vs. Google Firebase – Zwei BaaS im Vergleich | The Cattle Crew Blog