Cloud Programmieren

Wolkenprogrammierung

Zahlreiche SaaS-Produkte werden heute in der Cloud entwickelt. Erfahren Sie, was Cloud Computing und Cloud Storage bedeuten. Seit einiger Zeit spiele ich mit der Idee, meine eigene kleine "Cloud" zu programmieren. Ein Cloud-Engine ist sehr nützlich, wenn Sie z.B.

einen Chatraum mit Cloud-Daten programmieren möchten.

Entwicklung einer Cloud-basierten Applikation

Heute werden immer mehr SaaS-Unternehmen gründet. Dies ist eine äußerst wachstumsstarke Industrie, die eine immer größere Anzahl von Menschen und Geschäftsleuten anlockt. In diesen Bereichen werden verstärkt Lösungen für die Cloud entwickelt. Eine Skalierung der Cloud hat einige wesentliche Vorzüge, aber auch Nachteile. Im Folgenden erfahren Sie, wie Sie mit der Entwicklung einer Cloud-basierten SaaS-Architektur vorgehen.

Wir unterstützen Sie auch bei Fragen der Erweiterbarkeit und demonstrieren Ihnen, was dies für Ihre SaaS-Anwendung heißt. Wenn Sie eine (globale) SaaS-Anwendung aufbauen, werden Sie diese mit hoher Sicherheit in der Cloud einrichten. Im Vergleich zu dezentralen Speicherumgebungen hat die Cloud viele Vorzüge - man denke nur an die Anpassbarkeit -.

Deshalb fokussiert dieser Beitrag auf die in der Cloud produzierte und entwickelte Zeit. Mit welcher Sprache, welcher Datenbasis und welcher Hardware sollten Sie arbeiten? In welcher Sprache? Die Erstellung eines Produkts für die Cloud ist die Entwicklung eines Produkts mit einer hochmodernen Programmierungssprache. Die Auswahl der Programmsprache wird neben den individuellen Kompetenzen und Spezialkenntnissen vor allem von den Einsatzmöglichkeiten der jeweiligen Sprache geprägt.

Die Auswahl der richtigen Sprache wird durch eine Reihe von (modernen) Programmierungssprachen erschwert. Wir haben uns für Phyton entschlossen. Die weit verbreitete Programmierungssprache Phyton wurde entwickelt, um die Verständlichkeit von Code zu unterstreichen. Phyton kann eine ganze Reihe von Dingen tun. Unabhängig davon, welche Web-Anwendung Sie entwickeln möchten, gibt es in Phyton vermutlich bereits ein Rahmenwerk für sie.

Die Vielseitigkeit für unterschiedliche Anwendungsfälle war, wie bereits gesagt, ein weiteres Argument für uns, für den Einsatz von PTHON. Phyton ist phantastisch und unsere Programmierer sind begeistert. Es ist alles möglich mit Phyton. Sie können sich mit Phyton nicht irren. Eine der ersten Sachen auf Ihrer Wunschliste wird die Einrichtung einer eigenen Anwendung sein. Es wird empfohlen, eine dokumentorientierte Datenbasis (DOB) zu benutzen.

Weshalb sollten Sie sich für eine dokumentbasierte Datenbasis entscheiden? Für die Erstellung von Dokumenten konzipierte Datenbestände erhalten die Natur ihrer Information unmittelbar aus den eigentlichen Angaben. Außerdem wird oft die Grösse der Datenbasis verringert. Fazit: Das DOB-Konzept bietet eine reichhaltigere Erfahrungswerte mit modernsten Programmiersprachen. Die MongoDB - die Datenbasis für Ihre Webapplikation? Weshalb haben wir uns für MongoDB entschieden?

Denn MongoDB ist eine dokument-orientierte Datenbasis, die Hochleistung, Hochverfügbarkeit und leichte Erweiterbarkeit mitbringt.

Durch das automatische Sharing können Sie Informationen an mehrere Geräte weitergeben. MongoDB verwendet das Sharing, um die Bereitstellung großer Datensätze zu unterstützen. Erfahren Sie mehr über das Gesamtkonzept von Teilen mit MongoDB. Also, wie haben wir MongoDB für unsere SaaS-Anwendung aufgebaut? Also haben wir eine Haupt-/Slave-Architektur installiert, mit dem Hauptrechner noch in Irland, und zwei MongoDB-Slave-Instanzen an der US-Westküste und Singapur hinzugefügt.

Schreibaufträge gehen weiterhin in die Master-Datenbank und werden von MongoDB in MongoDB nachvollzogen. Die Message Queue hat Grenzen für die Grösse und Anzahl der in ihr übertragenen Informationen. RabbitMQ ist ein großartiges Open Source Warteschlangensystem, das auf allen wichtigen Systemen funktioniert. Unsere Web-Applikation wird auf dem AS-E-CC2 betrieben, wo RabbitMQ problemlos eingesetzt und betrieben werden kann.

Lesen Sie unbedingt diese Anleitung, um RabbitMQ für den Einsatz auf dem EC2 zu nutzen. Mit der Open Source Celery Task Management Library ist es die ideale Erweiterung, um das Beste aus KaninchenMQ zu machen. In der Tat verwenden wir einen einzigen RabbitMQ-Server mit mehreren Terminals, die die Queue mit Tasks (sowohl periodischen als auch benutzergesteuerten Tasks) und Endpoints versorgen, die diese Tasks ausfÃ??hren (z.B. die Erstellung unserer gut ausfÃ???hrlichen Screenshots).

Optimal wäre ein zweiter RabbitMQ-Server, der für Nachbildung und Failover sorgt (indem er sie hinter einem Load-Balancer versteckt). AWS stellt mit der Elastic Computing Cloud (EC2) für jedes Business einen skalierbaren virtuellen Servers zur Verfügung. Grundsätzlich vermieten wir in der Regel einen virtuellen Rechner, auf dem unsere Webapplikation abläuft. Der Clou ist, dass diese EC2-Server in der ganzen Weltgeschichte auftauchen.

Gegenwärtig verfügen wir über drei EC2-Server in den USA, Irland und Singapur. Bei installiertem SC2 ist es ganz leicht, neue Datenserver und Resourcen aufzusetzen. Amazon Simple Store Service (S3) macht es Ihnen leicht, jede Datenmenge zu verwenden, zu archivieren und wiederherzustellen. S3 kann neben der Speicherung der Messdaten Ihrer Web-Anwendung auch sehr gut für Backups, Archive und die Analyse großer Messdatenmengen eingesetzt werden.

Das CDN (Content Delivery Network) ist im Grunde genommen ein verteilter Server, mit dem Sie den Benutzern Ihrer Applikation mit Hochgeschwindigkeit und großer Zuverlässigkeit Informationen zur Verfügung stellen können. Wenn ein New Yorker Ihre Applikation aufsucht, können Sie mit dem CDN dem Benutzer über das CDN Informationen aus dem US-Unternehmen E-C2 zur Verfügung stellen.

Dank der leistungsstarken dokumentenorientierten Datenbasis für Phyton, MongoDB und RabbitMQ ist unser Basis-Setup softwareengineert. Außerdem wird diskutiert, wie der Zahlungsverkehr in der Cloud einfach abgewickelt werden kann. Außerdem erhalten Sie einige detaillierte Anweisungen, wie Sie Ihren Toolstapel richtig einrichten, um Ihre Web-Anwendung auf globaler Basis auszuführen.

Mehr zum Thema