Setup invoicer.se

I förra inlägget skrev av lite om idén bakom invoicer.se. Nu tänkte jag skriva lite om tekniken bakom.

Själva sajten är skriven i php och ramverket Symfony2. Speciella bundles vi använder är

  • KnpSnappyBundle – för fakturapdfgenerering
  • CloudBackupBundle – för dagliga backupper till Dropbox
  • EkinoNewRelicBundle – för rapportering till New Relic
  • VreshTwilioBundle – för smsutskick (min fork för att bara skicka sms till ett valt nummer på stagingmiljön)
  • BCCResqueBundle – tillsammans med Redis är det ett väldigt bra kösystem.
  • Samt Doctrine migration-, fixture- och extensionbundle och andra självklara bibliotek.

Givetvis använder vi git och Github för versionshanteringen. Phpci är uppsatt att köra testsviten vid varje pushning så man får ett tydligt svar om branchen är ok att merga eller inte. Jenkins är såklart bättre men eftersom vi bara kör med en server kan vi använda Phpci utan att något ytterligare behöver installeras på servern.

Släpp av ny kod till antingen staging- eller produktionsmiljön görs enkelt med ett terminalkommando tack vare Capifony. Vid släpp till stagingmiljön laddas fixaturerna om och till produktionsmiljön sker en databasbackup och migrationerna körs.

För logghantering använder vi Loggly. Jag har satt upp lite sökningar så vid tex fatal error så får jag ett mejl. Eftersom testsviten innehåller funktionstester för (i princip) alla controllers actions och deras olika http status så fångas det mesta innan koden når produktionsmiljön. Det har faktiskt bara hänt en gång att Loggly mejlat för ett fel.

En annan tjänst vi använder är New Relic. Nu har vi inte speciellt mycket trafik och sajten är väldigt stabil så har inte jättenytta av tjänsten just nu. Men det är ändå en väldigt bra tjänst för att kolla hälsostatus på applikationen.

Vid något riktigt kritiskt så hela sajten går ner har vi Pingdom som larmar.

Än så länge klarar vi oss på gratisversionerna av alla tjänster. När vi når gränserna för att behöva betala har vi förhoppningsvis också ökat våra intäkter så de kostnaderna inte blir speciellt tunga.

2 responses to “Setup invoicer.se

  1. Jag kan tipsa om att New relic har en funktion som pingar sajten likt vad Pingdom gör.

Kommentera

E-postadressen publiceras inte. Obligatoriska fält är märkta *