In Cloud Computing Letztes Updateated:
Teilen:
Jira-Software ist das Projektmanagement-Tool Nr. 1, das von agilen Teams zum Planen, Verfolgen, Freigeben und Unterstützen großartiger Software verwendet wird.

Bau eines Automatenated-Softwaresystem bedeutete die Einrichtung mehrerer Server mit Dedicated CPU-Konfiguration, Speicher, Speicher und andere Ressourcen für viele Jahre. Als nächstes wurde ein Team von Administratoren gebildet, um diese Systeme zu verwalten. Dann übernahm das Entwicklungsteam die Infrastruktur und begann mit der Erstellungate processes, die die Server verbinden.

Dieser process kann kompliziert seinated, weil viele verschiedene Gruppen zusammenarbeiten, um ein gemeinsames Ziel zu erreichen. Diese Interessenkonflikte können dann zum Problem werden.

Es kann auch ziemlich teuer werden. Dazu müssen Sie Administratoren auf Ihrem haben Gehaltsliste. Server, die kontinuierlich laufen, verbrauchen Ressourcen, obwohl sie nicht genutzt werden. 

Um die beste Leistung über einen längeren Zeitraum aufrechtzuerhalten, benötigen Sie eine automatisch skalierende Lösungally skaliert die Serverressourcen.

Die Wolke platform hat einen Vorteil: Es ermöglicht Ihnen, kreativ zu seinate eine End-to-End-Architektur, ohne dass ein Server-Cluster eingerichtet werden muss. Aus administrativer Sicht gibt es nichts zu pflegen.

Dies ist eine kostengünstige Option für Startups und die Minimum Viable Product (MVP)-Phasen von Projekten. Es ist ein guter Ausgangspunkt, wenn es schwierig ist, zukünftige Produktionslasten und Benutzeraktivitäten vorherzusagen. Hier kann es schwierig sein, die Konfiguration von Cluster-Servern zu bestimmen.

Die Automatisierung von processDurch serverlose Cloud-Dienste zeichnet sich die serverlose Architektur aus. Es verbindet Dienste und liefert Ergebnisse, die denen herkömmlicher Clusterserver ähneln.

Dies ist ein Beispiel für den Aufbau einer solchen Architektur, bei der nur native AWS-Services verwendet werden.

Abholen des Serverless-Flows der Dienste

Stellen Sie sich vor, Sie möchten erstellenate a platFormular zum Sammeln verschiedener Daten und Bilder (oder Fotos) der Infrastruktur einiger konkreter Anlagen (dies kann jede Produktions- oder Versorgungsanlage sein).

  • Um zukünftige Analysen zu ermöglichen, ist es notwendig, dass die eingehenden Daten zuerst aufgenommen werden.
  • Nach der Anwendung der Geschäftsregeln speichert ein Back-End-Verfahren die Berechnungated gibt als normalisierte Informationen in einer relationalen Datenbank aus.
  • Ein Anwendungs-Front-End, das normalisierte saubere Daten anzeigt, ermöglicht es Benutzern, die Ergebnisse anzuzeigen.

Lassen Sie uns untersuchen, welche Komponenten die Architektur enthalten könnte.

AWS S3-Buckets

Amazon S3-Buckets sind eine großartige Möglichkeit, Dateien oder Bilder in der zu speichern AWS-Cloud. Der Preis für den Speicher auf dem S3-Eimer ist bemerkenswert niedrig. Darüber hinaus senkt die Einführung einer S3-Bucket-Lebenszyklusrichtlinie diesen Preis weiter.

Eine solche Richtlinie wird automatisch erfolgenally Verschieben Sie ältere Dateien in verschiedene Klassen von S3-Buckets, z. B. einen Archive oder tiefer Bogenhive Zugang. Die Klassen unterscheiden sich dann auch in der Geschwindigkeit der Zugriffszeit, bei alten Daten ist dies jedoch weniger problematisch. Es dient hauptsächlich dem Zugang zum Lichtbogenhived-Daten im Falle eines dringenden Ereignisses und nicht für Standardbetriebsanforderungen.  

  • Sie können Ihre Daten in Unterordnern organisieren.
  • Sie sollten entsprechende Werte festlegenate Berechtigungseinschränkungen.
  • Fügen Sie Tags zu Buckets hinzu, um sie leicht zu identifizieren und für die mögliche Verwendung in dynamischen S3-Bucket-Richtlinien zu ermöglichen.
  • Der Bucket ist vom Design her serverlos. Es ist einfach ein Speicherplatz für Ihre Daten.

Ein S3-Bucket ist vom Design her serverlos. Es ist einfach ein Speicherplatz für Ihre Daten.

AWS Athena-Datenbank

Athena macht das Kreieren einfachate ein AWS-Basisdatensee. Es handelt sich um eine Datenbank ohne Server, die einen S3-Bucket zum Speichern ihrer Daten verwendet. Die Datenorganisation wird durch strukturierte Dateiformate wie Parkett oder Komma-Trennung gewährleistetated-Wert (CSV) Dateien. Der S3-Bucket enthält die Dateien und Athena greift jederzeit auf sie zu processEs wählt die Daten aus der Datenbank aus.

Beachten Sie jedoch, dass Athena verschiedene andere Funktionen nicht unterstütztwise gilt als Standard, zum Beispiel update stategen. Aus diesem Grund müssen Sie Athena als eine sehr einfache Option betrachten.

Es unterstützt jedoch die Indizierung und Partitionierung. Es kann auch den Horizont skalierenally sehr einfach, da dies genauso komplex ist wie das Hinzufügen neuer Buckets zur Infrastruktur. Für einen einfachen, aber funktionalen Data Lake creation, das kann in den meisten Fällen noch ausreichen. 

Für eine gute Leistung ist die Auswahl des besten Datendesigns mit Fokus auf die zukünftige Verwendung von entscheidender Bedeutung. Es ist wichtig, dass Sie sich darüber im Klaren sind, wie Sie die Daten auswählen möchten. Tabellen neu erstellen later Sobald sie bereits vorhanden und mit vielen Daten gefüllt sind, ist es schwierig.

Athena DB ist eine gute Wahl und passt gut zu Ihrem Ziel, wenn Sie auf der Suche nach Kreativität sindate ein einfacher und unveränderlicher Datenpool, der sich leicht skalieren lässtally im Laufe der Zeit.

AWS Aurora-Datenbank

Athena DB zeichnet sich durch die Speicherung von Uncur ausated Daten. Schließlich möchten Sie Ihre ursprünglichen Inhalte auf diese Weise speichern, um ihre zukünftige Wiederverwendung zu maximieren. Die Bereitstellung ausgewählter Ergebnisse für eine Front-End-App ist jedoch langsam.

Eine der besten Optionen, hauptsächlich im Hinblick auf eine einfach auszuführende Einrichtung, ist die Aurora-Datenbank, die im serverlosen Modus ausgeführt wird.

Aurora ist weit entfernt von einer einfachen Datenbank. Es ist eine der fortschrittlichsten nativen relationalen Datenbanklösungen in AWS. Es ist auch eine hochkomplexe native relationale Datenbanklösung, die mit jeder Version verbessert wird. 

Aurora ist einzigartig, weil es im serverlosen Modus ausgeführt werden kann, wodurch es sich von anderen relationalen Diensten abhebt. So funktioniert der Modus:

  • Verwenden Sie zum Konfigurieren des Aurora-Clusters die AWS-Konsole. Sie müssen die Standard-CPU- und RAM-Stufen sowie das maximale Intervall der automatischen Skalierungsfunktion angeben. Dies wirkt sich auf die Leistung aus, die der Aurora-Cluster dynamisch ausführen kannally hinzufügen oder entfernen. Basierend auf der aktuellen Auslastung der Datenbank entscheidet AWS über die Skalierung nach oben oder unten.
  • Der Aurora-Cluster wird nur gestartet, wenn der Benutzer oder process initiateEine echte Bitte. Zum Beispiel, wenn die geplante Charge processing beginnt. Oder wenn die Anwendung einen Back-End-API-Aufruf ausführt, um Daten aus einer Datenbank abzurufen. Die Datenbank wird automatisch erstelltally geöffnet und bleibt für eine vorgegebene Zeit nach der Anfrage aktiv processes sind abgeschlossen.
  • Der Aurora-Cluster wird automatisch aktiviertally herunterfahren, wenn keine Arbeit mehr in der Datenbank vorhanden ist.

Um es noch einmal zu betonen: Die serverlose Aurora DB läuft nur, wenn echte Arbeit geleistet werden muss. Die Automatikally Ist dies nicht der Fall, wird der gestartete Cluster wieder heruntergefahren processjede Arbeit erledigen. Die tatsächliche Arbeit ist das, wofür Sie bezahlen, und nicht Ihre Leerlaufzeit.

Das serverlose Aurora wird vollständig von AWS verwaltet und erfordert keinen Administrator.

AWS verstärken

Amplify bietet eine serverlose Lösung platFormular für die schnelle Bereitstellung von Front-End-Anwendungen, die mit erstellt wurden JavaScript und React-Bibliotheken. Es ist nicht erforderlich, Clusterserver einzurichten. Verwenden Sie die AWS-Konsole, um den Code direkt bereitzustellen, oder verwenden Sie eine automatischeated DevOps Pipeline.

Sie können Back-End-APIs aufrufen, um auf in Datenbanken gespeicherte Daten zuzugreifen. Diese Aufrufe ermöglichen Ihnen den Zugriff auf die eigentlichen Daten in der Frontend-Anwendung. Die Hauptoptimierung der Leistung im Back-End sollte vom Team durchgeführt werden. Sie können die Möglichkeit einer langsamen Reaktion in der Benutzeroberfläche noch weiter reduzieren, wenn Sie einen effektiven Select-ST entwerfenatedirekt in die API-Aufrufe ein.

AWS Step-Funktionen

Auch wenn alle wichtigen Komponenten eines Systems serverlos sind, ist dies keine Garantie für eine vollständig serverlose Architektur. Dies ist nur möglich, wenn alle Chargen vorhanden sind processVerbindungen zwischen den Komponenten sind serverlos.

AWS Step-Funktionen bieten die beste Lösung in der AWS-Cloud. Eine verbundene Liste von AWS Lambda-Funktionen bildet die Schrittfunktion. Diese Funktionen erstellenate ein Flussdiagramm mit klarem Anfangs- und EndstichateS. Eine Lambda-Funktion, normalerweiseally geschrieben in Python oder Knoten JS Sprachen, ist eine ausführbare Datei bit von Code, der processes waatever wird benötigt.

Das folgende Beispiel zeigt, wie Sie eine Schrittfunktion ausführen könnten:

  1. AWS löst eine automatische Lambda-Funktion aus, wenn eine neue Datei in den S3-Ordner kommt. Nach dem Analysieren der Datei lädt das Lambda sie in Athena. Das Lambda speichert seine Ergebnisse vor dem Schließen entweder in einem CSV-Format in einem S3-Bucket (oder in einer Datenbank-Tracking-Tabelle).
  2. Dieses Ergebnis wird dann vom nächsten Lambda verwendet, um die nächsten Schritte auszuführen. Dies kann das Aufrufen von a beinhalten Modell des maschinellen Lernens und Transformieren einer Teilmenge der neuen Daten in normalisierte Tabellen. Der letzte Schritt kann darin bestehen, die Daten in die Aurora-Datenbank zu laden.
  3. Eine Schrittfunktion verknüpft diese Lambdas miteinander, um einen Stapelfluss zu bilden. Es ist sogar möglich, anstelle eines Schritts einer anderen Wurzelschrittfunktion eine andere Schrittfunktion auszuführen. Auf diese Weise ist es möglich, viele Szenarien abzudecken.

Dieser serverlose Ablauf hat einen großen Nachteil: Jede Lambda-Funktion kann maximal 15 Minuten lang ausgeführt werden. Daher kann die Aufteilung des Flusses in kleinere Lambda-Funktionen dies weniger problematisch machen. 

Es ist möglich, mehrere Lambda-Funktionen gleichzeitig aufzurufenneoNormalerweise in einem Schritt, was grundlegend istally bedeutet, einen Schritt mit mehreren gleichzeitig ausgeführten Lambdas zu parallelisierenneonormalerweise. Warten Sie einfach auf alle parallelen Lambda-Vorgänge processSie müssen den Vorgang beenden, bevor Sie fortfahren. Fahren Sie dann mit dem nächsten Lambda fort processing.

Zusammenfassung

Serverlose Architektur bietet eine einzigartige Möglichkeit zur Kreativitätate eine Wolke platForm, die die gesamte Systemlandschaft abdeckt. Das platForm ist Horizontally skalierbar und weist dabei geringe Betriebskosten auf.

Es ist die perfekte Lösung für Projekte mit begrenztem Budget. Typischerweise ist es eine hervorragende Erkundungsmöglichkeitally wenn niemand die Realität der Produktionsauslastung kennt. Das ist besondersally wichtig, nachdem Sie erfolgreich waren onboarded alle Benutzer. Es ist für Projektteams möglich, sich dennoch einen Gesamtüberblick über die Funktionsweise des Systems zu verschaffen. Sie können alle diese Vorteile nutzen und müssen dennoch keine Kompromisse eingehen.

Diese Deckung wird nicht ausreichend seinate für alle Fälle, insbesondere solche, die eine hohe CPU-Auslastung erfordern. Allerdings entwickelt sich die AWS-Cloud im Hinblick auf serverlose Anwendungsfälle ständig weiter. Es ist üblichally Es empfiehlt sich, eine gründliche Recherche durchzuführen, bevor Sie sich für die serverlose Option für Ihr nächstes AWS-Cloud-Projekt entscheiden.

Als nächstes sehen Sie sich die besten an serverlose Datenbanken für moderne Anwendungen.

Teilen:
  • Michal Vojtech
    Autor
    Lieferorientierter Architekt mit Implementierungserfahrung in Daten-/Data-Warehouse-Lösungen für die Telekommunikations-, Abrechnungs-, Automobil-, Banken-, Gesundheits- und Versorgungsbranche. Zertifiziert für AWS Database Specialty und AWS Solution Architect…

Danke an unsere Sponsoren

Weitere großartige Lektüren zum Thema Cloud Computing

Treiben Sie Ihr Geschäft an

Einige der Tools und Services, die Ihrem Unternehmen helfen grow.