Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

Favoriten aus dem Team

Jan Arneman
Mein Weg vom Praktikanten zum Junior Entwickler bei ilert

In diesem Artikel spricht Junior Frontend Entwickler Jan über seine Erfahrungen in den ersten Monaten bei ilert, und gibt praktische Ratschläge für andere Berufsanfänger, die eine Karriere als Junior Developer:in oder Frontend Developer:in starten möchten.

Mehr lesen ->
Roman Frey
So konnte das ilert-Team eine nahtlose Migration von Community MySQL zu AWS RDS Aurora mit minimalen Auswirkungen auf die Kunden erreichen

In diesem Artikel geben wir einen detaillierten Überblick darüber, wie unser Team unsere Produktionsdaten mit modernsten Strategien zu AWS RDS Aurora migriert hat, um die Auswirkungen während der Übergangsphase auf ein Minimum zu reduzieren.

Mehr lesen ->
Daria Yankevich
Alarmierung mit Twilio: Verbinden Sie Ihr Monitoring mit der Kommunikationsplattform Nr. 1

Vor- und Nachteile der direkten Benachrichtigung bei kritischen Alarmierungen

Mehr lesen ->
Roman Frey
Bereitstellung der Qdrant-Datenbank in Kubernetes mit Terraform: Eine Schritt-für-Schritt-Anleitung mit Beispielen

Im Internet gibt es keine Terraform-Bereitstellungsanleitung für Qdrant, sondern nur die Helm-Variante, weshalb wir uns entschlossen haben, diesen Artikel zu veröffentlichen.

Mehr lesen ->
Christian Fröhlingsdorf
Wie man die Beobachtbarkeit in der Landschaft der Mikroservices durch OpenTelemetry am Leben erhält

Observability, beyond its traditional scope of logging, monitoring, and tracing, can be intricately defined through the lens of incident response efficiency—specifically by examining the time it takes for teams to grasp the full context and background of a technical incident.

Mehr lesen ->
Daniel Weiß
ITIL vs. DevOps: Was ist das Richtige für Ihr Unternehmen?

Wenn es um die Verwaltung von IT-Diensten geht, gibt es im Wesentlichen zwei Denkschulen: DevOps und ITIL. DevOps ist eine neuere Methode, während es ITIL schon seit Jahrzehnten gibt. Beide haben ihre Vor- und Nachteile, aber welche Methode ist die richtige für Ihr Unternehmen? Ist ITIL in Zeiten von Cloud Computing, künstlicher Intelligenz, Blockchain und IoT noch zeitgemäß?

Mehr lesen ->

Neueste Beiträge

Produkt

Datenbanküberwachung einfach gemacht – mit ilert und ClusterControl

ClusterControl von Severalnines ist ein weiterer hochkarätiger Partner, den wir in die ilert-Integrationen für DevOps-Teams aufgenommen haben. In diesem Artikel erfahren Sie mehr über die Funktionen von ClusterControl und die Vorteile der Integration mit ilert.

Daria Yankevich
Nov 21, 2024 • 5 Min. Lesezeit

ClusterControl von Severalnines ist ein weiterer hochkarätiger Partner, den wir in unsere Integrationen für DevOps-Teams aufgenommen haben. In diesem Artikel erfahren Sie mehr über die Funktionen von ClusterControl und die Vorteile der Integration in ilert.

Über ClusterControl

ClusterControl  – entwickelt von Severalnines – ist eine Plattform für agentenloses Operations Management und die Automatisierung von Open-Source- und Source-Available Datenbank-Clustern. Sie bietet ein nutzerfreundliches Interface für die Bereitstellung, Überwachung, Verwaltung und Skalierung hochverfügbarer Datenbankcluster in On-Premise-, Hybrid- und Cloud-Umgebungen. 

ClusterControl ermöglicht Performance Monitoring in Echtzeit über individuell anpassbare Dashboards und Alarmierungsmechanismen, um einen optimalen IT-Betrieb sicherzustellen. Die Anwendung bietet zudem automatisches Failover und unterstützt automatisierte, verifizierte Backups mit Point-in-Time-Wiederherstellungsoptionen, um die Datenintegrität und Verfügbarkeit zu gewährleisten.

ClusterControl arbeitet mit verschiedenen Tools und unterstützt zahlreiche Datenbanktechnologien wie MySQL, PostgreSQL und MongoDB, was es besonders vielseitig für unterschiedliche Umgebungen macht. Durch die Konsolidierung dieser Funktionen in einer einzigen Plattform vereinfacht ClusterControl die Datenbankverwaltung und reduziert den Aufwand für die komplexe Verwaltung von verteilten Datenbanksystemen.

Über die ClusterControl-Integration in ilert

Die Integration von ClusterControl in ilert ermöglicht es DevOps-Teams und IT-Technikern, die Datenbankcluster mit hohen Uptime-Anforderungen verwalten, ihren Incident Management-Workflow zu verbessern. Diese Integration kombiniert die leistungsstarke Datenbank-Überwachung von ClusterControl mit den umfassenden Funktionen von ilert und ermöglicht so ein effizientes Incident-Management. Ganz gleich, ob es sich um einen plötzlichen MySQL-Absturz oder die proaktive Behebung von Replikationsverzögerungen handelt – mit dieser Integration können IT-Techniker das reibungslose Funktionieren von Datenbanken mit minimalen Unterbrechungen für Endbenutzer sicherstellen.

ClusterControl kann verschiedene Alarmierungen an ilert senden, zum Beispiel bei Problemen mit der Verfügbarkeit von Datenbanken und der Datensicherheit, bei Performance-Abfällen, Backup-Fehlern oder bei Storage Capacity-Warnungen. Wenn beispielsweise ein MySQL-Knoten ausfällt oder eine Replikation nicht mehr synchron ist, stellt ilert sichert, dass eine Alarmierung an den zuständigen dienstbereiten Techniker gesendet wird. Ebenso präzise werden Alarmierungen über zu lange High Query Execution Times, fehlgeschlagene Backups oder unbefugte Zugriffsversuche gesendet, sodass Ihre Teams eingreifen können, bevor diese Probleme zu größeren Störungen eskalieren.

Hier finden Sie eine Schritt-für-Schritt-Anleitung für die Integration.

Wichtige Funktionen

  • Echtzeit-Benachrichtigungen über verschiedene Kanäle
    Bei einer von ClusterControl erstellten Alarmierung erhält der Nutzer Benachrichtigungen per SMS, Anruf, Push-Benachrichtigung in der App oder als Nachricht im Chat-Tool. Erste Maßnahmen können direkt aus der Nachricht heraus ergriffen werden, ohne sich bei ilert anmelden zu müssen.
  • Automatische Verteilung von Bereitschaftsdiensten und Eskalationen
    Nutzer legen einmalig einen Dienstplan für das Team fest – ilert kümmert sich um den Rest. Manuell geführte Kalender oder unklare Verantwortlichkeiten gehören der Vergangenheit an.
  • Gruppierung und Filterung von Alarmierungen
    Durch die Integration von ilert und ClusterControl können IT-Techniker Alarmierungen auf der Grundlage ihrer inhaltlichen Ähnlichkeit gruppieren, filtern und priorisieren und so sicherstellen, dass sie nur Benachrichtigungen über Probleme erhalten, die wirklich ihre Aufmerksamkeit erfordern.
  • Zentralisiertes Alert-Management
    ilert sammelt Alarmierungen aus verschiedenen Quellen und bietet Nutzern eine Rundum-Übersicht über ihre Systeme. ClusterControl-Alarmierungen können mit Benachrichtigungen anderer Monitoring-Tools korreliert werden, um die Ursache einer Störung schneller analysieren zu können.

Die Sicherheits- und Compliance-Verpflichtung von ilert und ClusterControl

Die in Europa entwickelten Produkte ilert und ClusterControl sind mit einem starken Fokus auf Sicherheit und DSGVO-Konformität konzipiert und stellen somit ideale Lösungen für Kunden in der Europäischen Union dar. Beide Plattformen ermöglichen es EU-Kunden, ihre Datenbankcluster und Incident-Management-Prozesse sicher zu verwalten und dabei die DSGVO-Vorgaben einzuhalten. So wird die Integrität und Vertraulichkeit der Daten sowie die Einhaltung gesetzlicher Vorschriften gewährleistet. Dieser solide Ansatz zur Datenbankverwaltung, Sicherheit und Compliance bietet Unternehmen, die besonderen Wert auf den Schutz sensibler Kunden- und Betriebsdaten legen, ein hohes Maß an Sicherheit.

Mehr über die Sicherheits- und Compliance-Standards von ClusterControl.

Mehr über die Sicherheits- und Compliance-Verpflichtung von ilert.

Insights

Mein Weg vom Praktikanten zum Junior Entwickler bei ilert

In diesem Artikel spricht Junior Frontend Entwickler Jan über seine Erfahrungen in den ersten Monaten bei ilert, und gibt praktische Ratschläge für andere Berufsanfänger, die eine Karriere als Junior Developer:in oder Frontend Developer:in starten möchten.

Jan Arneman
Nov 17, 2024 • 5 Min. Lesezeit

Ich habe Web- und App-Entwicklung am bib International College studiert. Bei ilert lerne ich stetig dazu und kann meine Kenntnisse ausbauen, indem ich an Projekten arbeite, die unsere Plattform verbessern. Ich möchte von meinem Einstieg in das ilert-Team und die ersten Herausforderungen, mit denen ich konfrontiert war, erzählen und anderen angehenden Junior-Entwickler:innen oder Frontend-Entwicklern:innen, die ihre ersten Schritte in der Technologiebranche machen, einige Ratschläge geben.

Wie bekommt man seinen ersten Job als Frontend Entwickler:in?

Als mir mein Dozent vorschlug, ein Praktikum bei ilert zu machen, entschloss ich mich, eine Bewerbung hinzuschicken und hatte das Glück, angenommen zu werden. Während meines Praktikums arbeitete ich an der Entwicklung eines Dashboards – einer personalisierbaren Seite, auf der Kunden teambezogene Metriken sehen und Einblicke in verschiedene Aspekte ihres  Incident-Managements erhalten können. Diese praktische Erfahrung war toll, weil es das erste Mal war, dass ich an einem so großen Projekt in einer realen Situation arbeitete und dabei viele neue Technologien kennenlernte:

  • React: Eine JavaScript-Bibliothek zum Erstellen von User Interfaces, mit der wir reusable UI-Komponenten erstellen konnten.
  • TypeScript: Ein typisiertes Superset von JavaScript, das statische Typen hinzufügt und den Code robuster und leichter debugbar macht.
  • Material UI (MUI): Ein beliebtes React UI-Framework, das Googles Material Design implementiert und vorkonfigurierte, anpassbare Komponenten bereitstellt.
  • MobX: Eine State-Management-Bibliothek, die das Verwalten und Aktualisieren des States in React-Anwendungen vereinfacht.

Nach meinem Praktikum arbeitete ich zuerst als Werkstudent weiter an dem Dashboard, später als Junior Developer, und half, die erste Version für Kunden zu veröffentlichen. Aktuell bin ich alleinverantwortlich für das Dashboard-Feature (natürlich unter der Aufsicht meiner Senior-Kollegen), ich überwache seine Funktionalität und behebe Probleme. Es ist eine große Verantwortung, aber ich bin dankbar dafür, dass ich von Anfang an ein Projekt habe, das sich ständig weiterentwickelt.

Die erste Herausforderung

Nun zu den Challenges: Eine der größten Hürden war die Implementierung der Drag-and-Drop- und Resize-Funktionen für die neue Dashboard-Version. Die Suche nach einem geeigneten Package war schwierig, aber nach vielen Tests entschied ich mich für react-grid-layout.

Zunächst lief alles glatt, bis ich auf einen hartnäckigen Bug stieß: Die Widgets verschoben sich wie von Geisterhand stets in die Mitte des Bildschirms. Ich durchforstete den Code und versuchte alles, was ich gelernt hatte, aber ich fand das Problem nicht. Nach stundenlangem Suchen und wachsender Frustration wandte ich mich an einen Kollegen, der mir einen einfachen Tipp gab: “Follow the flow of the code.“ Dank diesem Hinweis konnte ich schließlich den Übeltäter identifizieren – ich hatte Zahlen in den Berechnungen der Widget-Positionen vertauscht, wodurch die Widgets außerhalb des Dashboards verschoben wurden. Sie wurden dann standardmäßig wieder in der Mitte des Bildschirms angezeigt.

Das Beheben dieses kleinen Fehlers löste das Problem sofort – und ich konnte wertvolle Erkenntnisse gewinnen. Ich habe gelernt, dass kleine Tipps sehr hilfreich sein können, wenn man feststeckt. Außerdem zeigte es mir, dass es oft besser ist, von einem Problem etwas Abstand zu nehmen und es später ausgeruht erneut anzuschauen, anstatt sich zu sehr in etwas zu verbeißen.

Worauf sollten Junior Developer:innen beim Berufsstart achten?

Zurückblickend, möchte ich einige Tipps weitergeben, die ich für Junior Developer:innen, Frontend Entwickler:innen oder Werkstudent:innen, die gerade ihre ersten Schritte in der Tech-Welt machen, für hilfreich halte:

  • Kombiniert die komponentenbasierte Architektur von React mit den Stilkomponenten von MUI, um wiederverwendbare und lesbare UI-Elemente zu erstellen: Wir verwenden beispielsweise eine umfangreiche Sammlung gemeinsam genutzter React-Komponenten, wie zum Beispiel Tabellen und Auswahlfelder. Wir nutzen darüber hinaus das MUI-Theme, das Abstände, Paletten und Typografie verwendet, um ein einheitliches Design für alle Komponenten zu gewährleisten. Diese gemeinsam genutzten Komponenten und Themes beschleunigen den Programmierungsprozess erheblich und gewährleisten die Konsistenz in der gesamten App.
  • Stellt Fragen mit Bedacht! Natürlich ist es wichtig, Fragen zu stellen, aber wenn ihr nicht weiterkommt, versucht zuerst, das Problem selbst zu lösen. Forscht nach und probiert verschiedene Lösungen aus, bevor ihr um Hilfe bittet. Diese Vorgehensweise verbessert nicht nur eure Fähigkeiten zur Problemlösung, sondern zeigt auch, dass ihr lernbereit seid. Ergreift stets die Initiative, um die Technologien, mit denen ihr arbeitet, zu erlernen und zu verstehen. Schaut euch Dokumentationen, Tutorials und andere Ressourcen an.
  • Verwende effizientes State-Management in deinen React-Anwendungen, z.B. MobX: Wir verwenden beispielsweise das Store Pattern, wobei wir gemeinsam genutzte Speicher hauptsächlich für unsere API-Aufrufe und einen Seitenspeicher verwalten, um diese API-Aufrufe zu kombinieren und gleichzeitig eine UI-Logik hinzuzufügen. Dieser Ansatz vereinfacht das State Management und macht den Code übersichtlich.
  • Vollzeit zu arbeiten, kann am Anfang stressig sein. Bleibt stark und erinnert euch daran, dass Herausforderungen Chancen für persönliches Wachstum bieten.

Wenn du am Anfang einer Karriere als Frontend Developer:in oder Junior Developer:in stehst und loslegen möchtest, schau dir die Karriereseiten von ilert an und checke, ob es eine passende Position für dich gibt. Ich wünsche dir viel Erfolg auf deinem Weg!

CTO von ilert, Christian Fröhlingsdorf
"Wir heißen Ingenieure willkommen, die am Anfang ihrer Karriere stehen und wachsen möchten. Es gibt keine Zauberpille oder Abkürzung, um Erfahrung zu sammeln. Der beste Weg ist, Verantwortung für ein echtes Produkt oder Features zu übernehmen. Es ist ein Unterschied, ob man an etwas arbeitet, das nie produktiv geht, oder täglich Kundenfeedback erhält.“
Engineering

KI Chatbot Playground mit React und Vite erstellen – Anleitung

In diesem Artikel erklären wir, wie wir eine experimentelle Chatbot-Umgebung eingerichtet haben, mit der wir LLMs dynamisch wechseln und das Verhalten KI-gestützter Funktionen innerhalb der ilert-Plattform besser vorhersehen können. Falls Sie KI-Funktionen mit einer Chatbot-Oberfläche zu Ihrem Produkt hinzufügen möchten, finden Sie hier eine vollständige Anleitung, wie Sie etwas Ähnliches bauen können.

Marko Simon
Nov 11, 2024 • 5 Min. Lesezeit

In diesem Artikel erklären wir, wie wir eine experimentelle Chatbot-Umgebung eingerichtet haben, mit der wir LLMs dynamisch wechseln und das Verhalten KI-gestützter Funktionen innerhalb der ilert-Plattform besser vorhersehen können. Falls Sie KI-Funktionen mit einer Chatbot-Oberfläche zu Ihrem Produkt hinzufügen möchten, finden Sie hier eine vollständige Anleitung, wie Sie etwas Ähnliches bauen können.

Warum einen KI-Chatbot-Playground verwenden?

Bei ilert integrieren wir verschiedene KI-Funktionen, die eine Chat-Oberfläche nutzen, zum Beispiel die Erstellung von Dienstplänen und die Unterstützung unseres technischen Kundensupport-Teams durch KI.  Zur Optimierung der Entwicklung und Maximierung der Effizienz haben wir einen KI-Chatbot-Playground erstellt, mit dem wir zwischen verschiedenen großen Sprachmodellen wechseln können. Dieser KI-Playground dient als Tool, um Modelle anzuweisen, innerhalb bestimmter Parameter zu reagieren, sodass wir das Verhalten von Modellen vorhersagen, Probleme beheben und neue Funktionen und Verbesserungen testen können.

Vor kurzem haben wir diesen Playground auf unserem Meetup vorgestellt, sodass die Teilnehmer sehen konnten, wie wir die Entwicklung von KI-Funktionen angehen. Der KI-Chatbot-Playground ist für Demonstrationszwecke ideal. Die Teilnehmer konnten ihn eigenhändig testen und so lernen, wie sie ähnliche Techniken in ihrer eigenen Arbeit anwenden können.  Der Playground ist mittlerweile für unseren Prozess zur Entwicklung von KI-Funktionen unerlässlich, da er es uns ermöglicht, Iterationen schnell durchzuführen und unsere Modelle auf der Grundlage von Feedback aus der Praxis und einer Vielzahl von Testszenarien zu optimieren.

Anleitung zur Erstellung eines KI-Chatbot-Playgrounds

Einrichtung des AI-Playgrounds

To set up our AI playground, we’ll use Vite. It offers a quick step-by-step setup of a repository via CLI. Um unseren KI-Playground einzurichten, nutzen wir Vite.Es bietet eine schnelle Schritt-für-Schritt-Einrichtung eines Repositories über CLI.

bun create vite

Folgen Sie den Prompts und wählen Sie einen Projektnamen, das Framework und die Variante (Sprache + Transpiler).

Benutzeroberfläche erstellen

Nachfolgend finden Sie einen möglichen Ansatz für den Aufbau der Benutzeroberfläche Ihres Chatbots. Werden Sie ruhig kreativ und verleihen Sie ihr einen individuellen Touch.

Ein KI-Playground sollte ungefähr die folgende Komponenten-Struktur haben:

  • Headerbar
    • Logo
    • Heading
    • Action buttons
  • Sidebar
    • Instructions
    • Model
  • Chat
    • Messages
    • Input box

Komponenten

Wir haben in unserem Setup React als Framework mit Typescript gewählt, während MUI als unsere Komponentenbibliothek dient.

Headerbar

Die Headerleiste enthält ein Logo, eine Überschrift und Action Buttons.

<Toolbar>
    <Stack direction="row" justifyContent="flex-start" alignItems="center" spacing={2.5}>
        <IlertLogo />
        <Typography variant="h5">
            {translations.playground}
        </Typography>
    </Stack>
    <Stack direction="row" justifyContent="flex-start" alignItems="center" spacing={1}>
        <TokenInput />
        <LanguageToggle />
        <ThemeToggle />
    </Stack>
</Toolbar>

Sidebar

Unsere Sidebar enthält Komponenten, mit denen Nutzer ein Modell auswählen und anpassen können. Die Anweisungen kommen in ein Texteingabefeld, während das Modell in einem Dropdown-Menü ausgewählt werden kann.

<Stack direction="column" justifyContent="flex-start" alignItems="flex-start" spacing={3}>
    <TextField
        label={translations.system_instructions}
        multiline
        rows={3}
        placeholder={translations.instructions_placeholder}
        value={instruction}
        onTextChange={handleTextChange}
    />
    <Select
        value={model}
        label={translations.model}
        options={modelOptions}
        onSelectItem={handleSelectModel}
    />
</Stack>

Chat

Hier interagiert der Nutzer mit dem KI-Assistenten. Wir benötigen ein Eingabefeld und Nachrichtenkomponenten, um den Chat darzustellen.

<Container>
    <Stack>
        {chat.map((message, index) => (
            <Message key={index} message={message}  />
        ))}
    </Stack>
    <InputWrapper>
        <UserInput />
    </InputWrapper>
</Container>

Hier ist ein Schnappschuss unseres fertigen Produkts, der die genannten Komponenten hervorhebt:

Weitere Möglichkeiten

Der Aufbau eines eigenen KI-Playgrounds benötigt zwar einige Zeit, aber der Nutzen ist groß, denn es gibt unendlich viele Anwendungsmöglichkeiten. Sie können Ihre eigenen Datenquellen auswählen, sei es von Cloud-Anbietern wie OpenAI oder selbst gehostete Open-Source-Modelle.

Um noch einen Schritt weiterzugehen, könnten Sie eine Exportfunktion erstellen oder die App in verschiedene Plattformen integrieren, zum Beispiel mit Electron für Desktop-Anwendungen. Weitere sinnvolle Funktionen wären ein Dunkelmodus-Umschalter, Autorisierungseingaben (zum Beispiel API-Schlüssel bei der Nutzung von Drittanbietern) oder eine Sprachauswahl.

Sind Sie bereit, Ihr Incident-Management zu verbessern?
Start for free
Unsere Cookie-Richtlinie
Wir verwenden Cookies, um Ihre Erfahrung zu verbessern, den Seitenverkehr zu verbessern und für Marketingzwecke. Erfahren Sie mehr in unserem Datenschutzrichtlinie.
Open Preferences
Danke! Deine Einreichung ist eingegangen!
Hoppla! Beim Absenden des Formulars ist etwas schief gelaufen.
Danke! Deine Einreichung ist eingegangen!
Hoppla! Beim Absenden des Formulars ist etwas schief gelaufen.
Danke! Deine Einreichung ist eingegangen!
Hoppla! Beim Absenden des Formulars ist etwas schief gelaufen.