Stop letting every service talk to the outside world
A proxy service layer is the cheapest insurance you can buy against third-party APIs. Here's the pattern, why it works, and how to migrate onto it without a maintenance window.
Radwan Atassi
Software Architect & Engineer · Copenhagen
Softwarearkitekt og udvikler med speciale i backend-udvikling, e-commerce-platforme og cloud-arkitektur — med otte års erfaring i at bygge distribuerede systemer, i dag som arkitekt hos Clever, Danmarks største ladenetværk til elbiler.
Om mig
Jeg hedder Radwan — softwarearkitekt i København med fokus på backend-systemer, cloud-arkitektur og commerce-platforme. Jeg startede som udvikler og voksede ind i arkitekturen, drevet af erkendelsen af, at de sværeste problemer i software sjældent handler om kode — de handler om systemer, grænseflader og de beslutninger, der træffes, før en eneste linje er skrevet.
Gennem otte år har jeg bygget integrationsinfrastruktur for større virksomheder, e-commerce-platforme med rigtig omsætning og cloud-native systemer på Azure. Jeg har arbejdet i organisationer store nok til at have politik og slanke nok til at deploye hver dag — og lært, hvad der reelt rykker i begge.
Aktuelt fokus: integrationsarkitekturen hos Clever — Danmarks største ladenetværk til elbiler — med en lille e-commerce-praksis og mit eget produkt, VelaCommerce, ved siden af.
Bosat i
Copenhagen, DK
Erfaring
8+ years
Fokus
Backend · Commerce · Cloud
Sprog
EN · DA · AR
Kernekompetencer
Seks områder, jeg har brugt rigtige år på — og den holdning, hvert af dem lærte mig.
01
Den uglamourøse kerne — API'er, baggrundsjobs, datapipelines. Jeg skriver til den udvikler, der arver koden, ikke til demoen: korrekthed og klarhed frem for smarte tricks. Mest .NET / C#.
02
Shopify, Commercetools, Optimizely. Den svære del er aldrig butiksfacaden — det er priser, levering og ordrelivscyklussen nedenunder, hvor den reelle kompleksitet gemmer sig.
03
Cloud-native på Azure. Jeg griber efter kedelige, managed services før smarte, og behandler observability som en funktion, man bygger ind — ikke et dashboard, man skruer på efter et nedbrud.
04
Mikroservices, event-drevet design, integrationsmønstre. Jeg opdeler efter teamgrænser og fejldomæner — ikke fordi et diagram ser pænt ud.
05
At finde ud af, hvorfor et system er langsomt. Det er næsten altid en forespørgsel, et manglende indeks eller arbejde udført synkront, som ikke burde være det — målt først, aldrig gættet.
06
At forbinde de systemer, en virksomhed reelt kører på — CRM, ERP, betalinger. Det meste af arbejdet er at få andres API'er til at opføre sig pålideligt, når de ikke gør.
Ingeniørfilosofi
Simplicity
The best code I write each year is the code I delete.
Maintainability
I write for the engineer who inherits this at 2am — and it's often me.
Performance
Performance is a design decision, not a phase you get to later.
Architecture
Architecture is the set of decisions that are expensive to undo. I try to make fewer of them.
Testing
I don't test for coverage. I test so I can change things without holding my breath.
Automation
Shipping should be boring. The day a deploy is exciting, something has gone wrong.
Teknologier
Ingen logoparade — her er hvor og hvordan jeg faktisk bruger hvert enkelt.
Languages & Runtimes
.NET / C#
Primary language for enterprise APIs, background services, and integration orchestration. Deep ecosystem knowledge: ASP.NET, EF Core, Azure SDK.
TypeScript
All frontend work and Node.js services. Strict mode everywhere.
JavaScript
Frontend scripting and legacy codebase support where TypeScript isn't an option.
Architecture Patterns
Microservices
Used when team topology and domain boundaries justify the operational overhead.
Event-Driven
Async messaging between services for loose coupling. Reliable delivery via Azure Service Bus.
CQRS
Command/query separation for systems with high read/write asymmetry.
REST & GraphQL
REST for public APIs and integrations; GraphQL where consumers have varied data requirements.
Cloud & Infrastructure
Azure Container Apps
Preferred runtime for containerised microservices in the Microsoft ecosystem.
Azure Service Bus
Message broker for reliable async communication between distributed services.
Azure APIM
API gateway for centralising, securing, and observing third-party integrations.
Docker & Kubernetes
Containerisation from local dev through production. K8s when orchestration complexity is justified.
Commerce Platforms
Shopify / Shopify Plus
D2C storefronts, custom apps, Liquid themes, and checkout extensions.
Commercetools
API-first B2B and enterprise commerce with complex pricing and catalogue requirements.
Optimizely Commerce
Mid-enterprise CMS and commerce in the Microsoft stack.
Databases
SQL Server
Relational data where ACID compliance and the Microsoft ecosystem matter.
PostgreSQL
Open-source relational; preferred for new projects outside the Microsoft stack.
MongoDB
Document storage for event-driven systems, integration logs, and schema-flexible data.
Redis
Caching, session management, and distributed rate limiting.
Integrations
Dynamics CRM & Salesforce
Customer data pipelines, sales automation, and triggered workflow events.
Stripe & Nets
Payment processing with custom webhook handling and reconciliation flows.
Klaviyo
Email and SMS automation for e-commerce lifecycle and campaign flows.
Power BI & Analytics
Data pipelines feeding dashboards and business intelligence layers.
Udvalgte projekter
Rolle
Software Architect
Varighed
2022 — present
Problem
Clever's systems were unstable and deeply entangled — multiple teams integrating directly with the same third-party systems, a cloud infrastructure hitting its limits, and a monolithic architecture that couldn't keep up with the pace of the business.
Resultat
Teknologi
Rolle
Senior Backend Developer
Varighed
24 months
Problem
Aller Media — publishers of some of Scandinavia's most-read magazines and digital properties — were constrained by an ageing Umbraco CMS that couldn't support their content velocity or multi-brand digital ambitions.
Resultat
Teknologi
Rolle
Lead Full-stack Developer & Architect
Varighed
9 months
Problem
A mid-sized industrial distributor was processing thousands of B2B orders manually via email and phone. Their fragmented systems couldn't handle custom pricing, bulk ordering, or the approval workflows their enterprise clients required.
Resultat
Teknologi
Nuværende rolle
Til daglig er jeg softwarearkitekt hos Clever — Danmarks største ladenetværk til elbiler. Jeg genopbyggede det integrationslag, platformen kører på, og er blevet for at forme, hvad det skal være fremover. Arbejdet er mest design nu: at beslutte hvilke systemer der skal findes, hvor grænserne går, og hvilke beslutninger der bliver dyre at lave om — mens jeg holder mig tæt nok på koden til at være ærlig over for mig selv.
Ved siden af driver jeg en lille e-commerce-praksis for en håndfuld kunder, og jeg bygger VelaCommerce, min egen commerce-platform. Dagjobbet er der, hvor jeg designer i stor skala; sideprojekterne er der, hvor jeg ejer det hele, fra ende til anden.
Artikler
Kontakt
Et spørgsmål til noget, jeg har skrevet, et system du tænker over, eller bare en samtale — jeg er nem at få fat på.
Book et opkald
Et opkald på 30 minutter, når det passer digLokation
Copenhagen, Denmark