Softwareentwicklung
Jeder 2scale Mitarbeiter ist ein regelrechter "Technologie-Fan" und es gehört zu unserer Kultur, die neusten Trends zur erproben und auf Stabilität und Geschwindigkeit zu testen. Da die meisten "Hypes" durch unser strenges Raster fallen, bieten wir Ihnen nur Themen an, die aus unserer Sicht auch Mehrwerte generieren.
Unsere Kunde verfügen im Regelfall über hochkomplexe Systemlandschaften: zum einen eine ausgeprägte “Legacy”, also Bestandssysteme, die hochgradig auf die Geschäftsprozesse angepasst wurden. Diese Systeme werden meist von einem großen Hersteller geliefert und gleichzeitig sind Weiterentwicklung und Änderung dieser Systeme aufwändig und teuer.
Das führt unserer Erfahrung nach dazu, dass neue Systeme eingeführt werden, die die vermeintlichen Flexibilitätsprobleme lösen sollen. Wir haben beobachtet, dass in Folge dann ein weiteres “starres System” eingeführt wird und sich die Kosten potenzieren, sowie die gewünschte Handlungsfähigkeit weiter eingeschränkt wird.
Wir glauben, dass die Ursache dafür in der konservativen Handhabung von Softwareprojekten begründet liegen:
anders als ein großer Softwaredienstleister, dessen Geschäftsgrundlage oft mit einer möglichst endlosen
Kette an Change Requests fundiert ist, sehen wir unsere Software als ein “lebendiges Wesen”, das
immer in Bewegung ist und mit jedem Projekt einer Generalbüberholung unterzogen wird.
Es ist für uns selbstverständlich, dass wir verwendete Libraries aktuell halten, das Design überarbeiten, die Geschwindigkeit optimieren oder auf neue Hardware umziehen. Gleichzeitig sehen wir als weiteren Kernbaustein eine möglichst generische und hochkonfigurierbare Abbildung Ihrer Anforderungen. Wir haben oft gesehen, dass dies von “den Großen” nicht so gehandhabt wird. Wir positionieren uns klar dagegen und bieten Ihnen damit einen Time-to-Market-Wettbewerbsvorteil.
Zudem ist es für uns wichtig und selbstverständlich, automatisierte Tests durchzuführen, so dass Änderungen keine negativen Einflüsse auf die Betriebsstabilität haben.
Hier erläutern wir Ihnen kurz unseren 2scale “Standardlayer”:
Frontend
Für die beste Customer Experience setzen wir Single Page Apps (SPAs) ein.
- Vue.js: für Endkunden-Applikationen für größtmögliche Flexibilität
- Vaadin: für Enterprise-Applikationen
Backend
Wir setzen auf stabile, schnelle und vor allem uns sehr gut bekannte Stacks, damit es für Sie keine Überraschungen gibt.
- Plain Java: für kleine Aufgaben
- Spring Boot: für größere Aufgaben
- Go: kleinere Services oder zur Automatisierung
- Camunda BPM: Workflow Management & Decision Automation
- Resilience4j/Hystrix: ihre Software bleibt ansprechbar, auch wenn Subsysteme nicht erreichbar sind
- Hazelcast: sinnvolles verteiltes Caching für Top-Antwortzeiten
Infrastruktur
Die nötige Grundlage und Transparenz für Ihre Daten
- Configuration: bei uns ist in der Regel alles konfigurierbar. Wir schreiben nur generischen Code.
- PostgreSQL, MySQL: die ungeschlagenen Standardlayer für relationale Daten
- Oracle Database: ausschließlich im Enterprise-Umfeld zu finden
- MongoDB: für flexiblere Datenhaltung
- Apache Kafka: Stream-Processing
- Apache ActiveMQ: Message Queuing
- Apache Camel: für standardisierten Kontakt nach Außen
- GitLab: Continuous Integration / Delivery direkt in Ihre Umgebung
- Selenium: Automated Testing Ihrer Applikationen
- Grafana: Monitoring und Visualisierung Ihrer Daten
DevOps++
Unsere Entwickler betreiben ihre Software am liebsten selbst.
- 24x7 Rufbereitschaft: wir sind immer für Sie erreichbar
- Zero Error Policy: wir werden immer dafür sorgen, dass es möglichst zu keinen Fehlern kommt, und wenn doch, werden wir diese proaktiv beheben