Film2Home
Kontext
Film2Home var ett Video-on-Demand-bolag och dotterbolag till Bonver. Efter Film2Homes konkurs köptes det av Magine TV, som fortsatte driva plattformen under både Film2Home och Plejmo.
Från 2014 till 2017 arbetade jag med tjänsterna som fullstackutvecklare och skötte även DevOps-arbetet. Plattformen bestod av ASP.NET MVC-applikationer med EPiServer för innehåll, plus backendtjänster för katalog, betalningar, användarkonton och metadata.
Problem
- En traditionell n-skiktsarkitektur som hade svårt att klara belastningen
- Manuella driftsättningar som tog cirka en timme och var felbenägna
- Tredjepartsintegrationer för betalningar och metadata som blev allt svårare att hantera
- Inget API för de nya klienter som var på väg
Tillvägagångssätt
Arkitektur
- Införde CQRS för att separera läsningar från skrivningar
- Flyttade delar av systemet till en service bus-arkitektur på Azure Service Bus
- Bröt ut tredjepartsintegrationer till egna tjänster
Backendutveckling
- Byggde och förvaltade ASP.NET MVC- och ASP.NET Web API-applikationer med C#, NHibernate och SQL Server
- Designade och implementerade version 1 av Plejmos REST-API
- Byggde en proof of concept för gamification (nivåer och prestationer) ovanpå service busen
Frontendutveckling
- Byggde UI-funktioner i JavaScript, jQuery och KnockoutJS
- Arbetade med designers och redaktörer som använde EPiServer
Systemintegration
- Byggde och förvaltade integrationer mot metadata- och betalleverantörer
- Byggde REST- och WCF-tjänster för interna och externa konsumenter
Automation & DevOps
- Satte upp automatiserade byggen och driftsättningar med Octopus Deploy
- Skötte IIS-konfigurationen i alla miljöer
Resultat
- Driftsättningstiden gick från cirka en timme till under två minuter, med i stort sett inga driftsättningsfel
- Bättre prestanda under belastning efter bytet från n-skikt till service bus-arkitektur