Onderhoud voor uw Laravel-applicatie, ook als de bouwer weg is
Er draait iets in uw bedrijf waar u dagelijks op leunt. Een applicatie die de planning doet, de aanvragen binnenhaalt of de administratie bij elkaar houdt. Gebouwd door iemand die er niet meer is: gestopt, vertrokken, van baan gewisseld, of gewoon te druk geworden voor uw project.
Zolang het werkt, valt het niet op. Het valt op zodra er iets moet: een nieuwe medewerker erbij, een koppeling die stukloopt, of een melding dat de PHP-versie op de server wordt uitgefaseerd. Dan blijkt dat niemand meer weet hoe het in elkaar zit. Wij kijken naar dat soort applicaties: eerst uitzoeken wat er staat, dan bijwerken wat achterstallig is, daarna gewoon draaiend houden. Waarom die achterstand sneller oploopt dan u denkt, staat in waarom updates niet optioneel zijn.
Waar u aan merkt dat het onderhoud is blijven liggen
De meeste bedrijven die ons hierover bellen, herkennen minstens twee van deze punten.
Er staat een oude Laravel-versie onder
Laravel brengt elk jaar een nieuwe hoofdversie uit en ondersteunt een versie beperkte tijd met beveiligingsupdates. Loopt u een paar versies achter, dan krijgt u geen patches meer voor lekken die wél bekend zijn.
De hoster meldt dat uw PHP-versie verdwijnt
Dat is meestal het moment waarop het urgent wordt, want dan is er een datum.
Niemand durft iets aan te passen
Er is geen documentatie, geen testomgeving en geen idee wat er kapotgaat. Dus blijft alles zoals het is, ook wat beter kon.
Er is geen back-up waar iemand ooit naar gekeken heeft
Een back-up die nooit is teruggezet, is een aanname en geen zekerheid.
U weet niet wie er nog bij kan
Toegang tot de server, de repository en de domeinnaam zit soms bij drie verschillende partijen, waarvan er één niet meer reageert.
Wat wij eerst doen: kijken wat er staat
Voordat er iets gewijzigd wordt, brengen we in kaart wat er draait. Welke Laravel- en PHP-versie, welke pakketten van derden en hoe ver die achterlopen, waar de data staat, wat er aan achtergrondprocessen loopt en hoe er wordt gedeployed.
Daar komt een overzicht uit met wat er goed staat, wat achterstallig is en wat een risico vormt, in volgorde van urgentie. Met een raming per punt, zodat u zelf bepaalt wat er gebeurt.
Dat overzicht is van u, ook als u besluit met iemand anders verder te gaan. Wij vinden dat logisch: u koopt eerst inzicht, daarna pas werk.
Bijwerken wat achterstallig is
Een versieachterstand halen we stapsgewijs in, niet in één sprong. Vier hoofdversies overbruggen doen we als een reeks kleine stappen die elk apart te controleren zijn, en dat is de enige manier om te weten waar het misgaat als het misgaat.
In die volgorde: eerst een omgeving waarin we kunnen testen zonder uw productie te raken, dan de pakketten van derden, dan Laravel zelf, en pas daarna de dingen die u eigenlijk wilde. Andersom werkt het niet: bouwen op een verouderd fundament betekent dat u het werk straks nog een keer doet.
Wat we onderweg tegenkomen aan code zonder structuur, ruimen we op waar het loont. Niet alles: een applicatie herschrijven omdat hij ons niet bevalt, is uw geld uitgeven aan onze voorkeur.
Daarna gewoon onderhouden
Onderhoud is bijhouden, niet herstellen. Dat scheelt geld en het scheelt gedoe.
Updates lopen mee. Zodra de pakketten waarop uw applicatie draait een update uitbrengen, gaat die mee in het onderhoud. Zo blijft de achterstand klein genoeg om hem in een keer te overzien.
Er loopt bewaking. Op de applicaties die wij in beheer hebben, draait monitoring die het meldt als er iets vastloopt of stilvalt. Daarvoor gebruiken wij Deebug, software die we zelf ontwikkelden om Laravel-applicaties te bewaken. Wij zien het dus meestal voordat u het merkt.
De applicatie kan bij ons draaien. Op onze eigen servers, met dagelijkse back-ups en een uptime van 99,9%. Dat hoeft niet: draait uw applicatie ergens waar u tevreden over bent, dan blijft hij daar staan en doen wij alleen het onderhoud.
Eén aanspreekpunt. U belt degene die het werk doet. Geen ticketsysteem waarin uw melding een nummer krijgt. Zoekt u juist tijdelijk een extra paar handen in een lopend project, dan staat op Laravel development wat wij daarin doen.
Wanneer overnemen niet de verstandigste keuze is
Wij zeggen dat liever vooraf dan halverwege.
De applicatie doet iets wat een standaardpakket inmiddels ook doet. Bij software van tien jaar oud gebeurt dat regelmatig. Als een bestaand pakket uw proces dekt, is overstappen goedkoper dan onderhouden. Dat kost ons een opdracht en het bespaart u jaren onderhoud.
Er is zo weinig van over dat opnieuw bouwen sneller is. Soms is de code zo verweven of zo dun gedocumenteerd dat repareren duurder uitvalt dan opnieuw beginnen bij het proces. Dat blijkt uit de inventarisatie, en u hoort het dan met de bedragen erbij. Wat opnieuw bouwen kost, staat op maatwerk webapplicaties.
U gebruikt maar een fractie van wat er staat. Dan is de vraag niet hoe u het onderhoudt, maar wat u ervan wilt behouden. Vaak is dat een kleiner en goedkoper geheel dan het origineel.
Wat als u ons ook ooit kwijtraakt?
Die vraag is terecht, want daar zit u nu juist mee.
Wij zijn bewust klein en werken voor de continuïteit samen met een vast netwerk van zelfstandige ontwikkelaars, zodat een project niet stilvalt als er iets tussenkomt. En belangrijker: wat wij bouwen en overnemen, structureren en documenteren we zo dat een andere developer er over vijf jaar nog uit komt. U houdt zelf toegang tot de code en de server, ook tijdens het contract.
Dat is geen vanzelfsprekendheid in dit vak, en het is precies de reden dat u deze pagina leest. Hoe wij een project aanpakken, staat op werkwijze.
Wat het kost
Hier noemen wij bewust geen vanafprijs, en dat is geen manier om het gesprek af te dwingen. Bij een bestaande applicatie weet niemand vooraf wat hij aantreft: één hoofdversie achterstand op een nette codebase is een overzichtelijke klus, vier versies met verouderde pakketten eronder is een traject. Een bedrag noemen dat wij in de helft van de gevallen niet waar kunnen maken, helpt u niet.
Wat u wél krijgt: de inventarisatie levert een raming per punt op, in volgorde van urgentie, en daarna beslist u zelf wat er gebeurt. Dat kijken kost u niets.
Wat de prijs bepaalt: hoe ver de versies achterlopen, hoeveel pakketten van derden erin zitten en of die nog onderhouden worden, of er een testomgeving is, en hoeveel er dagelijks doorheen gaat. Een applicatie waar drie mensen mee werken is iets anders dan een applicatie waar uw hele orderstroom doorheen loopt.
De vanafprijzen voor het werk waar we wél een instapbedrag voor hebben, staan op tarieven.
Veelgestelde vragen
Nemen jullie ook applicaties over die niet in Laravel gebouwd zijn?
De basis is PHP, dus een oudere applicatie zonder framework of met een verouderd framework kunnen wij beoordelen en overnemen. Of het daarna richting Laravel beweegt, is een afweging per project en geen automatisme. Wat we niet doen is een applicatie in een taal die wij niet dagelijks gebruiken; dan bent u bij ons slechter af dan bij iemand anders.
Mijn vorige bouwer reageert niet meer. Kunnen jullie er dan wel bij?
Dat hangt ervan af waar de toegang ligt. Staat de code bij u of bij uw hoster, dan komen we er meestal uit. Zit alles bij een partij die niet reageert, dan is de eerste stap uitzoeken wat er op uw naam staat: het domein, de server, de repository. Dat is vaker een administratieve puzzel dan een technische.
Hoe lang duurt het bijwerken van een achterstallige applicatie?
Dat hangt af van de afstand. Eén hoofdversie achterlopen is meestal een overzichtelijke klus; vier of vijf versies met verouderde pakketten eronder is een traject. De inventarisatie geeft daar antwoord op, en dat is precies waarom we daarmee beginnen in plaats van met een offerte.
Kunnen jullie eerst alleen het onderhoud doen en later pas doorontwikkelen?
Ja, en dat is meestal de verstandige volgorde. Eerst rust en een actuele versie, dan pas nieuwe functionaliteit. Wat u wilt toevoegen, bouwt zich makkelijker op een fundament dat bijgewerkt is.
Moet ik overstappen naar jullie hosting?
Nee. Wij onderhouden ook applicaties die elders draaien. Draait het bij een hoster waar u tevreden over bent, dan is er geen reden om te verhuizen. Loopt u tegen de grenzen van die omgeving aan, dan bespreken we dat als een aparte vraag.
Doen jullie ook beveiligingsonderzoek of pentests?
Nee. Wij houden uw applicatie bij en bewaken hem, maar wij voeren geen pentests uit en doen geen certificeringstrajecten. Zoekt u dat, dan bent u bij een gespecialiseerde partij beter af. Wat wij wel doen aan beveiliging, staat op website beveiliging.
Het gaat bij mij niet om een applicatie maar om een website. Kan dat ook?
Ja, maar dan bent u op website overnemen beter op uw plek. Daar staat wat een overname van een bestaande site inhoudt en wat die kost. Weet u niet zeker onder welke van de twee uw systeem valt, bel dan gewoon; dat horen we in een paar minuten.
Draait er iets belangrijks waar niemand meer naar kijkt?
Stuur gerust mee wat u heeft: een link naar de applicatie, de naam van uw hoster, of toegang tot de repository. Dan is het eerste gesprek meteen concreet, en hoort u of het bijwerken of vervangen wordt.