Zum Inhalt springen

Technisches Audit

Laravel-Audit

Eine Durchsicht einer bestehenden Laravel-Anwendung zum Festpreis und mit festem Umfang - was sie tut, wo sie brechen wird und was jede Korrektur wert ist - geliefert als Dokument, das Ihnen bleibt.

Ein Audit gibt es für eine Situation: Sie haben eine Anwendung, irgendetwas daran beunruhigt Sie, und die nächste Entscheidung kostet mehr, als es kosten würde, es herauszufinden.

Festpreis, fester Umfang. Zwei Wochen, ein schriftliches Dokument und keine Verpflichtung am Ende.

Was sich ein Laravel-Audit ansieht

Die Datenschicht. Schema, Constraints, Indizes gemessen an den Abfragen, die tatsächlich laufen, die Migrationen, die bei Ihren Zeilenzahlen gefährlich wären, und die Abfragezahl auf den Endpunkten, die Traffic tragen.

Hintergrundarbeit. Jeder Job und jede geplante Aufgabe, was bei jedem Scheitern passiert, ob einer davon nicht gefahrlos zweimal laufen darf, und ob ein Fehler jemals einen Menschen erreicht.

Der Anfragepfad. Wo die Zeit auf den Endpunkten hingeht, die zählen, was synchron getan wird, das es nicht sollte, und welche Dritten die Anwendung mit sich reißen können.

Sicherheit, auf dem Niveau, das ein Anwendungsaudit erreichen kann. Autorisierung in Policies durchgesetzt statt über das Routing angenommen, Mass Assignment, der Umgang mit Geheimnissen, Sicherheitshinweise zu Abhängigkeiten und ob die negativen Fälle getestet sind. Das ist kein Penetrationstest, und wir sagen, wo die Grenze liegt.

Upgrade-Rückstand. Wie weit Framework und PHP zurückliegen, welche Abhängigkeiten aufgegeben wurden und was der Weg nach vorn kostet.

Die Dinge, die das nächste Jahr entscheiden. Testabdeckung dort, wo sie zählt, ob das Deployment wiederholbar ist, ob jemand einen Vorfall bemerken würde, bevor ein Kunde ihn meldet, und wie viel vom Verhalten des Systems nur im Gedächtnis einer Person existiert.

Wie es läuft, und was ein Laravel-Audit von Ihnen braucht

Schicken Sie das Repository und einen Weg, es zu starten. Wenn jemand weiß, warum die unangenehmen Stellen so sind, wie sie sind, ist eine halbe Stunde mit ihm mehr wert als eine Woche Lesen.

Der Preis steht fest und wird vor Beginn vereinbart, festgehalten in einem kurzen Leistungsumfang, der sagt, was wir lesen und was nicht. Er ändert sich nicht, wenn die Anwendung schlechter ist als erwartet. Ein Audit, das teurer wird, je schlechter die Nachricht ausfällt, ist keines, dem Sie trauen können.

Eine bis anderthalb Wochen später haben Sie das Dokument. Wir gehen es einmal mit Ihnen durch, danach gehört es Ihnen, mit uns oder ohne uns.

Was Sie aus einem Laravel-Audit bekommen

Ein Dokument. Jeder Befund hat dieselben vier Teile: was er ist, wo er ist, was er Sie kostet, wenn sich nichts ändert, und was die Behebung umfasst. Sortiert nach erwarteter Wirkung statt nach Schweregrad-Etikett, denn „kritisch" auf einem Codepfad, der zweimal im Jahr läuft, ist nicht das, was zuerst zu tun ist.

Daneben ein Schema- und Routenverzeichnis – häufig die erste vollständige Karte der Anwendung, die überhaupt jemand hatte.

Keine Präsentation. Keine Note von zehn. Eine Note ist eine Art, Befunde für Leute zusammenzufassen, die sie nicht lesen werden, und die Leute, die das hier brauchen, werden sie lesen.

Was ein Laravel-Audit nicht ist

Es ist kein Verkaufsdokument mit einem Angebot am Ende. Die Befunde sind so geschrieben, dass sie an Ihr eigenes Team gehen können, und mehrere Kunden haben genau das getan.

Es ist keine Empfehlung für einen Neubau. Wenn ein Neubau wirklich die richtige Antwort ist, sagen wir das und stellen die Kosten beider Wege nebeneinander – aber es ist weit seltener die Antwort, als es vorgeschlagen wird.

Es ist keine Liste von Stilmeinungen. Ob Ihre Codebasis Repositories oder Actions verwendet, ist kein Befund. Ob eine Zahlung zweimal eingezogen werden kann, schon.

Die Migrationen einer Laravel-Anwendung als ihre Geschichte lesen

Das Migrationsverzeichnis ist das ehrlichste Dokument im Repository, weil es niemand zum Lesen schreibt.

In der Reihenfolge ist es ein Protokoll davon, was das Geschäft wann verlangt hat. Eine Spalte, die hinzugefügt und nie gefüllt wurde, ist eine Funktion, die nach einer Schemaänderung aufgegeben wurde. Drei Versuche an derselben Tabelle in einem Monat sind ein Modell, auf das sich niemand verständigt hatte. Eine Spalte, die als nullable hinzugefügt wurde, weil die Tabelle schon Zeilen hatte, und die dann zwei Jahre nullable blieb, ist nun ein Feld, gegen dessen Leersein sich die Anwendung an vierzig Stellen verteidigen muss - und der ursprüngliche Grund war eine Deployment-Bequemlichkeit im Jahr 2023.

Was sich zu notieren lohnt, ist konkret. Fremdschlüssel, die gedacht und nie angelegt wurden, sodass die Beziehung in Eloquent existiert und in der Datenbank nicht. Enum-Spalten, deren erlaubte Werte von dem abgedriftet sind, was der Code schreibt. Indizes, die für eine Query angelegt wurden, die nicht mehr läuft, und die für drei fehlen, die laufen. Eine down()-Methode, die niemand ausgeführt hat, was heißt, dass die Rollback-Geschichte theoretisch ist.

Es zeigt außerdem die Migrationen, die jetzt gefährlich wären. Eine Änderung, die bei zehntausend Zeilen sofort war, sperrt die Tabelle bei vier Millionen, und die Schemahistorie sagt uns, welche Tabellen gewachsen sind. Das ist der Unterschied zwischen einem Upgrade-Plan und einem Ausfall, und es kostet eine Stunde Lesen, das herauszufinden.

Was ein Laravel-Audit mit Ihrer Testsuite macht

Die Abdeckung in Prozent ist die Zahl, die alle nennen, und die am wenigsten nützliche verfügbare. Eine Suite kann achtzig Prozent der Zeilen abdecken und fast nichts darüber behaupten, ob die Anwendung korrekt ist.

Die Fragen lauten deshalb anders. Welche Pfade, die Geld bewegen oder Berechtigungen ändern, haben überhaupt einen Test. Ob die negativen Autorisierungsfälle getestet sind - nicht dass der Eigentümer den Datensatz sehen kann, was alle testen, sondern dass jemand anders es nicht kann, und dort sitzen die Fehler. Ob die vorhandenen Tests tatsächlich fehlschlagen würden, wenn das Verhalten bricht - denn ein Test, der behauptet, eine Antwort sei 200 gewesen, und sonst nichts, lässt eine falsche Antwort fröhlich durch.

Dann die Suite als technisches Objekt. Wie lange sie braucht, denn eine Suite, auf die niemand wartet, ist eine Suite, die niemand ausführt, und elf Minuten sind die Schwelle, ab der Leute ohne sie pushen. Ob sie Netzzugriff oder eine handgepflegte Datenbank braucht. Ob sie parallel laufen kann, und ob sie zweimal hintereinander durchläuft - eine Suite mit reihenfolgeabhängigen Tests ist schlechter als eine kleinere, der man trauen kann.

Das Ergebnis ist kein Zielprozentsatz. Es ist eine kurze Liste der Pfade, an denen ein Test etwas erwischt hätte, das die Anwendung schon falsch gemacht hat, und das ist eine Liste, die das Team in einer Woche abarbeiten kann.

Wann man ein Laravel-Audit kauft

Vor einer Übernahme, auf beiden Seiten. Bevor ein Quartal für einen Neubau festgelegt wird, den jemand vorgeschlagen hat. Wenn das Team, das sie gebaut hat, gegangen ist. Wenn in der Produktion etwas kaputtging und die Erklärung, die niemandem gefiel, lautete: „Wir sind nicht sicher, warum es vorher funktioniert hat." Oder wenn Sie schlicht eine zweite Meinung von jemandem wollen, der am Ergebnis nichts verdient.

Wenn das Audit ergibt, dass die Arbeit Performance ist, oder die Datenbank, oder ein Upgrade, dann sagt es das und schätzt den Umfang. Wenn es nicht viel findet, sagt es auch das.

Umfang und Konditionen

Zusammenarbeit
Fester Umfang, schriftlich vereinbart, bevor die Arbeit beginnt. Kein Tagessatz gegen ein offenes Backlog.
Preis und Dauer
Beides wird je Projekt festgelegt, sobald der Umfang steht. Gemeinsam angeboten, bevor etwas gebaut wird.
Was wir von Ihnen brauchen
Eine Person, die entscheiden darf, und Zugang zu Ihrem Repository und Ticketsystem.
Nicht enthalten
Alles außerhalb des vereinbarten Umfangs. Es wird ein eigener Umfang statt eines Änderungsauftrags.
Kosten Dritter
Hosting, Lizenzen, API-Gebühren und SaaS-Abonnements schließen und zahlen Sie selbst.
Rechnungsstellung
Codefacture Yazılım A.Ş., Türkiye. EUR, USD oder GBP per Überweisung, ohne türkische Umsatzsteuer auf exportierte Leistungen.

Häufige Fragen

Was brauchen Sie von uns zum Start?
Lesezugriff auf das Repository und alles, was an Produktionssignal vorhanden ist - Slow-Query-Log, APM, Fehler-Tracking, Queue-Messwerte. Wo davon nichts existiert, schreiben wir das in die Befunde, denn eine Anwendung ohne Beobachtbarkeit ist selbst ein Befund.
Brauchen Sie Produktionsdaten?
Nein. Ein Schema-Dump ohne Zeilen, dazu Query-Logs und Zeilenzahlen, sagt uns, was wir brauchen. Wo die Form der Daten zählt, bitten wir um einen anonymisierten Ausschnitt statt um eine Kopie.
Was, wenn die Antwort lautet, dass nichts falsch ist?
Dann ist das der Bericht, und er ist sein Geld wert. Es ist vorgekommen. Von jemandem, der daran kein Folgegeschäft hängen hat, zu hören, dass eine Anwendung in ordentlichem Zustand ist, ist ein legitimes Ergebnis.
Müssen wir Sie für die Korrekturen beauftragen?
Nein, und ein nennenswerter Teil der Kunden tut es nicht. Das Dokument ist so geschrieben, dass Ihr eigenes Team es umsetzen kann - jeder Befund nennt die Datei, die Ursache und die Korrektur. Wenn Sie lieber möchten, dass wir es tun, ist das ein eigenes Projekt mit eigenem Preis.
Anrufen+1 848 272 7583WhatsApp+90 850 308 5436E-Mailinfo@codefacture.comKontaktseite