Die besten Hosting Plattformen für Python und Flask im Test
Um was gehts in diesem Blogartikel zum Thema Hosting Plattformen für Flask?
In diesem Blogartikel werden wir die beliebtesten und besten Hosting Plattformen für eure Flask Applikation vorstellen. Außerdem werden die Stärken und Schwächen von Python und Flask im Webdevelopment erläutert.
Inhalte dieser Seite
Python
Python ist eine Programmiersprache die in den letzten Jahren viel Aufmerksamkeit bekommen hat. Speziell für Maschinelles Lernen und Datenanalyse ist die Programmiersprache ungeschlagen.
Webdevelopment mit Python wird besonders für den Backend Bereich immer attraktiver. Laut statista war Python im Jahre 2021 die am dritt-häufigsten benutze Programmiersprache hinter JavaScript auf Platz eins und HTML/CSS auf Platz zwei. (Quelle: https://www.statista.com/statistics/793628/worldwide-developer-survey-most-used-languages/)
Durch die einfache Python-Syntax ist die Programmiersprache auch sehr beliebt bei Menschen, die mit dem Programmieren beginnen möchten.
Ein paar nützliche Youtube Tutorials und Tutorials auf udemy:
- https://www.youtube.com/watch?v=oxXAb8IikHM
- https://www.youtube.com/watch?v=oxXAb8IikHM&list=PL_pqkvxZ6ho3u8PJAsUU-rOAQ74D0TqZB
- https://www.youtube.com/watch?v=w9juNxQl7Zk
- https://www.udemy.com/course/python-bootcamp/
- https://www.udemy.com/course/schnelleinstieg-in-die-python-programmierung-fur-anfanger/
Das Flask Framework
Flask ist ein sehr beliebtes Python Framework. Es ist laut einer Auswertung von Statista auf Platz sieben in den „Most used web frameworks among developers worldwide 2021“. (Quelle: https://www.statista.com/statistics/1124699/worldwide-developer-survey-most-used-frameworks-web/)
Das Flask Framework bietet sich speziell für kleinere Projekte an. Es lassen sich minimum viable products (MVP) mit verhältnismäßig wenig Aufwand, einfach und zeitsparend realisieren. Flask bietet aber auch für große Projekte fertig nutzbare Extensions wie Flask-SimpleLogin und weitere Module, die das entwickeln vereinfachen.Das Webframework Flask, kommuniziert über eine WSGI-Schnittstelle welches zur Kommunikation zwischen Webserver und Webanwendung dient. Dementsprechend benötigt Flask ein serverseitiges Hosting.
Durch Flask können mit nur wenigen Zeilen Code minimale Webanwendungen gebaut werden, welche über das Zusammenspiel von Flask Hosting und Browser funktionieren.
Django und andere Python Frameworks
Django funktioniert ähnlich wie Flask, ist allerdings etwas komplexer und mit mehr Komponenten von Haus aus, ausgestattet. Unsere Webhoster Liste für Flask, eignet sich auch für das Deployment von Django Projekten.
Erstmals erschien Django im Jahre 2005 um ein Newsportal zu verwalten. Mittlerweile ist es in der modernen Webentwicklung weit verbreitet.
Gute und empfohlene Python Django Tutorials und Kurse:
Welche Hosting Plattformen bieten sich für Flask an?
Das Python Flask Web Framework lässt sich auf verschiedenen Anbietern hosten. Es gibt verschiedene kostenlose Anbieter, die man für minimale Anwendungen nutzen kann.
Für skalierbare Flask-Anwendungen werden meistens Paid-Modelle benötigt, welche performanter laufen. Heroku bietet meiner Meinung nach ein sehr gutes kostenloses Flask Hosting Modell. Dieses Modell schläft ein und wird „on-demand“ gestartet. Das Modell kann individuell geupgradet werden und ist somit auch gut geeignet für skalierende Flask Projekte.
In unserem Artikel werden nachfolgend diese Hosting Plattformen vorgestellt:
- Google Cloud Service
- AWS
- Heroku
- Digitalocean* (mit Deployment Tutorial am Ende des Artikels)
- Hostinger* (Deutsches Hosting – empfehlenswert auch wegen dem Support)
- PythonAnywhere* (sehr gut für Anfänger)
- Linux – Rasberry Pi*
Warum Python und Flask sich für dein Projekt eignen
Python ist eine verhältnismäßig einfache Programmiersprache mit vielen Frameworks, die dein Leben einfacher machen. Flask bietet sich sehr gut für die API Entwicklung an.
Die in Flask gehosteten API’s kann man anschließend anfragen, um Inhalte auf einer Webseite dynamisch zu präsentieren. Backend Lösungen lassen sich dementsprechend sehr gut mit Flask lösen, so kann man auch andere Service ansprechen – beispielsweise einen Webscraper, welcher bei einer Anfrage an die API ausgelöst wird und startet.
Die könnte für dich interessant sein: API in WordPress einbinden
Vorteile Flask
Das Flask ein kleines Framework ist, welches einfach auf dem passenden Hosting-Service aufgesetzt werden kann, bietet es folgende Vorteile:
- Integrierte Unit-Tests
- Ninja2 Template Engine
- Sehr gute Dokumentation und große Community auf Stackoverflow
Wann lohnt sich ein anderes Framework
Andere Webframeworks wie FastAPI und Django lohnen sich unter anderem, wegen folgenden Vorteilen:
- Async bereits integriert (FastAPI)
- Frontend Support (Ajax, jQuery,..)
- Support von verschiedenen Datenbanken
- Model-View-Controller (MVP) Architektur
Wann lohnt sich eine andere Programmiersprache?
Je nach dem, was man mit seinem Webprojekt vor hat und wieviel Budget für dieses vorgesehen ist, lohnt sich die Wahl eines anderes Frameworks oder sogar einer anderen Programmiersprache.
Für kleine Webseiten lohnt sich Flask und Python definitiv nicht. Flask und Python benötigen mehr Kenntnisse als die Verwendung von WordPress beispielsweise. Für die Nutzung von WordPress werden keine Programmierkenntnisse vorausgesetzt.
Vor allem aber im Frontend-Bereich ist Python nicht sehr verbreitet und bietet beschränkte Möglichkeiten. Hier kommen Webtechnologien wie jQuery und JavaScript zum Einsatz, besonders beliebte Frameworks sind React und Vue.
Günstiges Flask Hosting von DigitalOcean
Flask Hosting Services setzen oftmals Linux-Kenntnisse voraus. Besonders beliebt ist das DigitalOcean Hosting, welches eine einfache Anmeldung mit Github oder Google zulässt.
Das Digital Ocean Flask Hosting ist eines der einfachsten Cloud Plattformen für Flask Deployments. Die robuste und günstige Cloud Infrastruktur bietet sich perfekt für das Hosting von Flask Applikationen an. Im folgenden Video wird innerhalb von 10 Minuten erklärt, wie du mit Github Actions dein Flask Projekt auf DigitalOcean veröffentlichen kannst.
Flask Server auf Digitalocean deployen
In diesem Video wird dir gezeigt, wie du auf Digitalocean mithilfe von Docker, deinen Flask Server in weniger als 5 Minuten deployen kannst.
Das Github Repo findest du hier: https://github.com/grumpyp/flask-on-digital-ocean-docker
Kostenloses Flask Hosting
Kostenlose Flask Hosting Services bieten sich vor allem für OpenSource oder Showcase Projekte an. Die verfügbaren Ressourcen bieten sich nicht für Applikationen in Production an.
Heroku ist mein persönlicher Favorit, da man ganz einfach ein Github-Repository deployen kann. Das Dashbord ist nutzerfreundlich und gut gestaltet.
Die günstige Möglichkeit, ein Flask-Projekt auf Heroku in Production zu deployen, macht das Python Webhosting noch attraktiver. Dementsprechend kann das Projekt ganz einfach von Free und Hobby auf Production umgestellt werden. Die kosten halten sich in Grenzen und der Support und die Community von Heroku sind erste Klasse meiner Meinung nach.
Der Production Service kostet 25 $ und mehr monatlich. Der teuerste Performance Service kostet 500 $ monatlich.
Für eine automatische Skalierung empfehlen sich Amazon Web Services und die Google Cloud.
Flask Applikation auf dem Rasberry PI hosten
Der Rasberry PI bietet sich super zum Ausprobieren und Deployen von kleinen Python Flask Applikationen an. Der Rasberry PI ist indirekt ein Hosting Service, aber der Mini-PC eignet sich sehr wohl für so etwas.
In folgendem Video wird erklärt, wie man einen Flask Service auf dem Rasberry PI aufsetzt:
Google Cloud Run für Flask Applikationen
Für meine Pagespeed Casestudy zum Coreupdate Juni/Juli 2021 habe ich Google Cloud Run als Hosting Service für meine Flask Applikation genutzt. Da ich nicht wusste, wie es genutzt wird, hat sich dieser Service perfekt angeboten.
Der Google Service ist für kleine Projekte kostenlos und skaliert sich selbst hoch. Sollte dementsprechend der Traffic explodieren und CPU-Leistung benötigt werden, wird dies von Cloud Run automatisch freigeschalten.
Google Cloud Run und die Google Cloud Platform sind nicht besonders nutzerfreundlich meiner Meinung nach und benötigen anfangs zusätzliche Recherche und Zeit, um reibungslos zu funktionieren.
Vorsicht: Diese Lösung kann, bei nicht richtiger Absicherung kostenintensiv werden. Limits und Alerts sollten eingebaut werden.
Besonders bei länger laufenden Tasks im Hintergrund, wird die Geschichte teuer. Hier geht’s zum Cloud Run Pricing.
Flask Hosting auf beim PythonAnywhere Hoster
PythonAnywhere ist auf Python Applikationen spezialisiert und bietet ein sehr einfaches Veröffentlichen von Python Applikationen.
Das Unternehmen wirbt mit dem Spruch: „Start running Python online in less than a minute“. Das Ganze ist sehr einfach nutzbar und für kleinere Applikationen und Tests vollkommen ausreichend.
Die kostenlose Webversion muss alle 3 Monate mit einem einfachen Klick, „am Leben gehalten“ werden. Es können auch Scheduled tasks ausgeführt werden, welche eine Art Cronjob für Python Services darstellen.
Minimale Applikationen lassen sich bei diesem Flask Python Hoster innerhalb kürzester Zeit umsetzen.
Es können über die Console die benötigten Packages installiert werden.
Fazit: Webhosting für Python Flask
Wie erläutert, kommt es auf den Anwendungszweck drauf an, für welchen Hoster man sich entscheidet. Sollte man sich unklar sein, ob das Projekt ggf. skaliert, empfehle ich die Nutzung von Cloud Services.
Für kleine Projekte sind die kostenlosen Hosting Services wie Heroku und PythonAnywhere perfekt geeignet. Auch digital Ocean ist eine Empfehlung von mir.
Durch die Voraussetzung von Linux-Kenntnissen werden manche Hoster allerdings komplizierter als andere.