Blog

Wie werden Python-Anwendungen für Unternehmen entwickelt?

Schnell und zuverlässig
Michalina Grzegorzewska
Michalina Grzegorzewska
Marketing Specialist
Mai 07
9 min

Es gibt viele Missverständnisse rund um Python, die Unternehmen sogar davon abhalten, diese Sprache für ihre Projekte zur Anwendungsentwicklung zu nutzen. Natürlich ist Python nicht fehlerfrei (welche Programmiersprache ist das schon?), aber es gibt viele Vorteile, die Python zu einer guten Wahl machen, um stabile Software auf eine sehr schnelle Art und Weise zu entwickeln. Wir werden uns diese Vorzüge ansehen und die Vorteile erläutern, die sie für Ihr Projekt bringen können.

Bevor wir beginnen: Python ist eine Programmiersprache,
die am häufigsten im Backend der Webentwicklung
sowie beim maschinellen Lernen und in der Datenwissenschaft verwendet wird.
Sie gilt als einfach, um damit einzusteigen.

Django – ein Star der Webentwicklung

Als Experten für die Entwicklung von Webanwendungen arbeitet das Team DSS Hicron gerne mit Django, einem Python-Webframework. Hier ist der Grund dafür.

Django wird als das „Framework für Perfektionisten mit Deadlines“ beworben; und dieser Slogan ist ausgesprochen zutreffend. Django beschleunigt den Entwicklungsprozess. Und wie? Indem es Entwicklern viele Features out-of-the-box zur Verfügung stellt, die ohne zusätzliche Konfiguration genutzt werden können. Eines dieser Features ist die Admin-Oberfläche, die Sie standardmäßig erhalten, wenn Sie ein Projekt starten. Sie stellt Ihnen ein Werkzeug für die Verwaltung des Inhalts Ihrer Webseite zur Verfügung und lässt Sie gleich zu Beginn der Arbeit einige Schritte überspringen.

Ein weiteres Beispiel ist die Funktion zur Benutzerautorisierung. Wenn Sie eine Anwendung in Django entwickeln, ist standardmäßig das Modul für die Benutzerautorisierung aktiviert. Sie können damit Benutzer, deren Berechtigungen, Gruppen und so weiter verwalten. Das bedeutet, dass Sie es nicht selbst implementieren und eine Woche damit verbringen müssen, das ACL-System zu schreiben, zu testen und dergleichen mehr. Diese und ähnliche Funktionen ermöglichen es Ihnen, sich auf den Kern der Anwendung zu konzentrieren, anstatt Boilerplate-Code schreiben zu müssen.

Die Kirsche auf dem Sahnehäubchen ist die riesige Community. Das wiederum bringt Tausende von Modulen mit sich, die das Framework erweitern und die Arbeit der Entwickler noch schneller und effizienter machen.

Die Programmierung mit Django und Python geht sehr schnell, weil man keine Zeit für Kleinigkeiten verschwenden muss. Es ist auch billiger, weil wir eine Menge Funktionen kostenlos bekommen. Außerdem gibt es eine Menge Module, die das Framework selbst erweitern. Insgesamt ist Django ein bewährtes Framework, das von großen Organisationen eingesetzt wird. Instagram wird zum Beispiel von Django angetrieben.

Tomasz Wójcik
Tomasz Wójcik
Lead Fullstack Software Engineer bei Hicron

Opfern wir Leistungsfähigkeit für Geschwindigkeit?

Ist Python langsam? Falls ja, sollten wir dann überhaupt in Erwägung ziehen, Anwendungen in dieser Sprache zu schreiben, anstatt einfach eine andere Sprache heranzuziehen?

Wenn Sie eine verlässliche Antwort wollen, sollten Sie diese Fragen an Unternehmen wie Spotify, Instagram, Udemy, Uber oder sogar Google richten. Sie alle besitzen Weltklasse-Software, die in Python geschrieben worden ist. Wie Sie also sehen können, stellt die Geschwindigkeit der Sprache hier kein Problem dar.

Ja, Python ist nicht die schnellste Sprache. Und wenn man eine riesige Schicht von Abstraktionen in Form von Django darüber legt, hilft das auch nicht gerade weiter. Django ist zwar eine Herausforderung in Bezug auf die Performance bei sehr großen Anwendungen, bietet aber auch viel Raum für Optimierungen. Der Nettoeffekt ist, dass Sie schnell eine Anwendung bauen, schnell auf den Stand eines MVP kommen und dann noch weitreichende Möglichkeiten haben, ihre Performance zu verbessern. Falls nötig, gibt Ihnen Django Optimierungspfade vor.

Es kommt auf den Bedarf eines Kunden und seine Prioritäten an.

  • Wenn ein Kunde ein Produkt so schnell wie möglich haben möchte, zum Beispiel ein MVP in weniger als einem halben Jahr, greifen Sie zu einem Framework wie Django, wählen Sie expandierende Pakete und Bibliotheken und entwickeln die Software in einem sehr kurzen Zeitraum.
  • Wenn ein Kunde mehr Wert auf Leistung und Skalierbarkeit legt, wählt man ein asynchrones Web-Framework oder entscheidet sich sogar für eine Microservices-Architektur, bereitet dann ein Datenbankfundament für die zukünftige Nutzung von Data Science vor und entwickelt generell eine stabile, abgerundete Software.

Der Schlüssel hierbei ist es zu verstehen, dass Python flexibel ist und verschiedene Ansätze erlaubt. In unserer Firma für kundenspezifische Softwareentwicklung haben wir die erforderlichen Kompetenzen, um Ihnen zu helfen, den besten Weg zu einem erfolgreichen Projekt zu wählen.

3 Business Cases für Python-Unternehmensanwendungen in der Cloud

Python wird unterstützt und hat überall Bereitstellungspfade. Das stellt einen Wert dar, denn nicht jede Programmiersprache hat native Unterstützung für alle Dienste in AWS, Azure oder auf der Google Cloud Platform.

Wenn ein Kunde von den Vorteilen der Cloud profitieren möchte, kann für die Projekte einer von drei Wegen eingeschlagen werden.

  1. Der einfachste Weg, der für eine kleinere Anwendung empfohlen wird, ist, sie einfach in Django zu schreiben und sie dann im Elastic Beanstalk Service in AWS oder App Engine auf der Google Cloud Platform bereitzustellen. Sie wird auf einer EC2-Maschine und einer relationalen Datenbank (RDS) bereitgestellt. Prozesse wie Skalierung oder Load-Balancing erfolgen automatisch.
  2. Ein anderer Ansatz ist es, Cloud-nativ zu arbeiten. Da Python von allen Cloud-Anbietern unterstützt wird, können Sie problemlos Lambdas und Cloud-Funktionen für AWS oder Google Cloud Platform schreiben. Es gibt eine große Auswahl an Bibliotheken, die Sie verwenden können, zum Beispiel das SDK von Google. Es handelt sich dabei nicht um eine Bibliothek, die von zwei Freunden in ihrer Garage geschrieben worden ist – solche Lösungen durchlaufen alle QA-Tests und haben eine sehr hohe Qualität.
  3. Der letzte Ansatz hat wenig mit der Sprache selbst zu tun. Sie können Ihr Projekt auf Kubernetes aufbauen. Wenn Sie das Image Ihres Anwendungscontainers erstellen, ist es die Aufgabe von AWS, Azure oder der Google Cloud Platform, ihn nach den Bedürfnissen der Benutzer zu betreiben und zu skalieren. Das können Sie mit Python ohne Probleme tun.

 

Ihr Projekt in Python kann viele Formen annehmen, es gibt Unmengen von Dingen, die Sie tun können. Und da viele PaaS-Dienste diese Sprache nativ unterstützen, können Sie wählen, was Ihren Bedürfnissen am ehesten entspricht. Wir haben Kompetenzen in AWS, Azure und Google Cloud Platform. Wenn Sie also besprechen möchten, welcher Cloud-Anbieter der beste für Ihr Unternehmensprojekt ist, dann kontaktieren Sie uns einfach!

Ist Python zuverlässig und stabil bei großen Projekten?

Es gibt den Glauben, dass Python, da es eine dynamische Skriptsprache ist, nicht für große Projekte geeignet ist. Das stimmt nicht, und zwar aus mehr Gründen als der Tatsache, dass große Unternehmen es geschafft haben, sie für ihre erstklassigen Unternehmenslösungen einzusetzen.

Es wurden neue Typ-Annotationen hinzugefügt. Während des Schreibens des Codes kann eine statische Analyse durchgeführt werden, die dem ähnelt, was ein Compiler für statisch typisierte Sprachen tut.  Es wird zum Beispiel geprüft, ob die Argumente der Funktion die richtigen Typen haben oder ob die Funktionen Daten des richtigen Typs zurückgeben. Dies und neuere Sprachfunktionen machen es möglich, den Code besser zu überprüfen, bevor wir ihn in die Produktion geben.

Paweł Gorzelany <a href=LinkedIn">
Paweł Gorzelany LinkedIn
Senior Software Engineer bei Hicron

Außerdem ist die Testkultur in Python sehr stark ausgeprägt. Da die Sprache dynamisch ist, sind Tests der einzige Schutz gegen Bugs – oder eine Möglichkeit, sicherzustellen, dass der Code funktioniert. Diese Kultur, das Schreiben von Tests und die Testwerkzeuge sind alles sehr starke Pluspunkte von Python. Und Annotationen fügen die nächste Ebene der Verifikation hinzu.

Wenn Sie in ein großes Projekt investieren und eine Unternehmensanwendung haben, die über Jahre hinweg für Ihr Unternehmen (oder Ihre Benutzer) entwickelt wird, wird diese Anwendung immer etwas zusätzliches Gepäck haben. Bei Java-Projekten zum Beispiel werden es viele Abstraktionsebenen sein. Bei Python werden es eine Milliarde Tests sein, die aus der Tatsache resultieren, dass die Sprache dynamisch ist.

Der Anwendungsfall bei unserem Kunden – Python in einer E-Commerce-Plattform

Einer unserer Kunden arbeitet mit einer in Python geschriebenen Unternehmens-Webanwendung. Dabei handelt es sich wohlgemerkt nicht um ein neues Projekt, sondern die Lösung hat sich bereits seit vielen Jahren bewährt.

Das Projekt besteht aus drei Teilen: E-Commerce-Plattform, Produktkatalog und Back-Office mit Integration zwischen vielen verschiedenen Shops, Partnern und Lieferanten. Was das Produkt und die Architektur angeht, so basiert es zu 90 % auf Django. Es gibt einige ergänzende Dienste, wie Elastic Search oder Redis für das Caching. Es ist auf Kubernetes bereitgestellt und läuft auf der Google Cloud Platform.

Das Erstaunliche an diesem Projekt ist, dass es als schnell entwickeltes MVP begann. Seitdem wird der Code nicht nur gewartet, sondern auch weiterentwickelt: Es kommen also ständig neue Funktionen hinzu.

Manchmal haben Kunden Bedenken, in ein neues Projekt zu investieren, weil sie nicht sicher sind, ob die Unternehmensanwendung mit anderen Lösungen integriert werden kann, zum Beispiel mit Buchhaltungsanwendungen oder Lagerplattformen. Dieses Problem gibt es mit Python einfach nicht. Sie können Ihre Software mit allem integrieren, das über eine Web-API verfügt. Hinzu kommt, dass Unternehmen, die sich um die Programmierschnittstelle ihrer Produkte kümmern, oft SDKs von solcher Qualität anbieten, dass die grundlegende Integration an einem Tag erledigt werden kann.

Wird sich Ihre Python-Anwendung langfristig bewähren?

Die oben stehende Frage kann auch so gestellt werden: Ist es für ein Unternehmen sicher, in eine Python-Lösung zu investieren? In beiden Fällen lautet die Antwort: ja.

Python hat eine großartige Community, die neue Bibliotheken und Erweiterungen hervorbringt, aber – was noch wichtiger ist – es hat das Fundament, auf dem es mit Umsicht entwickelt wird. Dadurch ist sichergestellt, dass seine Frameworks weiterentwickelt werden und nicht über Nacht verschwinden, wenn ihren Entwicklern die Ideen ausgehen.

Fehlerbehebungen werden schnell eingepflegt, sogar bis zu mehreren Versionen rückwirkend. Selbst wenn wir ein Jahr lang keine Upgrades vorgenommen haben, haben wir immer noch Zugriff auf neue Versionen. Es gibt keine Situation, in der es zu schwierig ist, ein Upgrade durchzuführen, weil sich zu viele Dinge geändert haben.

Der TIOBE-Index zeigt unter anderem an, welche Sprache den Entwicklern, die mit ihr arbeiten, die größte Zufriedenheit bringt. Im Index schneidet Python sowohl in Bezug auf die Anzahl der Leute, die damit arbeiten, als auch in Bezug auf die Qualität ihrer Arbeit gut ab. Es ist eine programmiererfreundliche Sprache, und man könnte sagen: glückliche Programmierer gleich bessere Software.

Paweł Gorzelany <a href=LinkedIn">
Paweł Gorzelany LinkedIn
Senior Software Engineer bei Hicron

Wir sprechen hier von einem stabilen Framework, bei dem sowohl das Hinzufügen als auch das Entfernen von Funktionen sehr gut durchdacht ist und sehr genau überwacht wird, so dass Änderungen nichts beeinträchtigen. Das ist ein wesentliches Merkmal für Stabilität.

Eine andere Sache ist die Datenwissenschaft. Wenn ein Unternehmen plant, große Datenmengen zu sammeln und zu bearbeiten, dann ist eine Investition in Python eine gute Idee. Warum das so ist? Weil Python neben der Programmiersprache R die beliebteste für die Datenwissenschaft ist. Programmierer, die mit der Anwendung arbeiten, können nach einer kurzen Einarbeitung in die analytische Abteilung wechseln und dort Datenmodelle schreiben. Dies gibt Ihnen die Chance, einen besseren Mitarbeiterfluss im Unternehmen zu erzielen.

Wir können Leute unterstützen, die Skripte im Zusammenhang mit Data Science schreiben. Wenn ein Forscher ein Modell in Python erstellt, können wir ihm helfen und es so schreiben, dass es viel schneller und effizienter funktioniert. Wir können einen funktionierenden Produktionscode in nicht mehr als ein, zwei Wochen erstellen. Es ist einfach, effektiv und zeitsparend.

Tomasz Wójcik
Tomasz Wójcik
Lead Fullstack Software Engineer bei Hicron

Vorteile von Python

Wir hoffen, dass Sie jetzt alle Vorteile erkennen, die der Einsatz von Python bei Webprojekten in Unternehmen mit sich bringen kann. Mit einer Sprache, die stabil ist, viele qualitativ hochwertige Erweiterungen hat, Programmierer sehr schnell arbeiten lässt und von praktisch allem unterstützt wird, sind Sie einfach zum Erfolg verdammt.

Wir vom Team DSS Hicron können Ihnen in vielen Bereichen Ihres Python-Projekts helfen. Um ein paar Möglichkeiten zu nennen: Wir können:

  • Ihnen dabei helfen, den besten Ansatz für die Architektur der Webanwendung zu wählen,
  • schnell ein MVP für Sie schreiben,
  • eine Unternehmensanwendung für die Cloud entwickeln,
  • Ihre Datenwissenschaftler dabei unterstützen, bessere Modelle zu schreiben,
  • oder Software liefern, mit der Sie Ihre Geschäftsziele über viele Jahre hinweg erreichen können.

Wenn Sie sich fragen, welche Programmiersprache die beste für Ihr nächstes Unternehmensprojekt ist, hat dieser Artikel Python hoffentlich in ein gutes Licht gerückt. Wenn Sie Fragen haben oder wünschen, dass wir Ihnen bei der Auswahl des besten Ansatzes helfen – dann kontaktieren Sie uns einfach über das Kontaktformular unten!

Michalina Grzegorzewska
Michalina Grzegorzewska
Marketing Specialist
  • follow the expert:
Referenzen

Unsere Partner über uns

Nach einer sorgfältigen Evaluierung der Anbieter beschlossen wir, einen neuen Ansatz auszuprobieren und mit einem Nearshore-Softwarehaus zusammenzuarbeiten. Die Zusammenarbeit mit DSS von Hicron war etwas vollkommen Neues und erwies sich als ein großer Erfolg, der unserem Unternehmen einen deutlichen Mehrwert brachte.

Mit den kreativen Ideen und der erfrischend neuen Sichtweise von HICRON konnten wir ein neues Niveau für unsere Kernplattform verwirklichen und unsere Geschäftsziele erreichen.

Vielen Dank für das, was Sie bisher getan haben; wir freuen uns auf mehr in der Zukunft!

Jan-Henrik Schulze
Leiter Industrial Lines Development | HDI Systeme AG

Hicron ist ein Partner, der uns exzellente Dienstleistungen im Bereich Softwareentwicklung angeboten hat. Die qualifizierten Software-Ingenieure des Unternehmens legen viel Wert auf Zusammenarbeit und Qualität. Sie haben uns dabei geholfen, unsere Ziele über unsere Cloud-Plattformen hinweg in einem hohen Arbeitstempo zu erreichen, ohne dabei Kompromisse bei der Qualität unserer Dienstleistungen einzugehen. Unsere Partnerschaft kann ich als professionell und lösungsorientiert bezeichnen!

NBS logo
Phil Scott
Leiter für Softwarelieferung bei NBS
Kontaktieren Sie uns

Sagen Sie Hi!cron

    Message sent, thank you!
    We will reply as quickly as possible.

    Mit dem Absenden dieses Formulars stimme ich der Datenschutzrichtlinie zu.

    Wir verwenden Cookies für funktionelle Zwecken. Wir können der Inhalt unserer Website Ihren Präferenzen anpassen. Erfahren Sie mehr

    OK, I agree