RIP @simple. Here's a walk down memory lane. The fintech technology edition...
Context note. This 2010+ architecture. You probably don’t want to copy it today. A lot of the principles remain but the choice technologies have shifted. So beware. Also, I haven’t worked @simple for years, so some of this is probably outdated.
Simple ran on @awscloud. We started building in the cloud pre-VPC when dinosaurs roamed the earth. We built a bespoke IaC system called CloudBank. It worked. Mostly.
We moved the backend to a monorepo a few years in. Almost all backend code was @scala_lang. Source control on a self-hosted @github enterprise instance. Build was Jenkins + Maven. Not the best monorepo stack.
We had a service oriented architecture. A “service” was a few EC2 instances and a dedicated @postgresql database. These all lived in a walled garden VPC. I’ll talk more about services shortly.
The service instance stack was @scala_lang and Dropwizard. Thanks @coda. Pure REST APIs.
Authnz was handled externally but all service-to-service/database chatter was x509 cert secured.
Service discovery was through DNS. Kind of janky but worked for the most part. It's always DNS.
Ok, so the fun part: services. Naming services was a bone of contention among the team. Not quite as controversial as the great IRC to @slack move but controversial none the less.
The primary concern was that the service names are not self evident to what the service actually does. For me, it’s now the most endearing part of the system, so that’s what I’m going to focus on.
Also, most every service also had a startup ASCII banner. I’ve collected those where I could and linked to them.
Arroway:

Handles customer-to-customer contacts, transfers, and a never released feature called MoneyDrop. Like AirDrop but for money. https://gist.github.com/jarreds/24b288df366e37c17fa6b8b9cceebd8a
Beam:

Communicated with The Bancorp Bank to keep systems-of-record in sync. We owned the SoR in this case. They had a SOAP API called CorpConnect which we lovingly wrote a SOAP client for called CorpseConnect. https://gist.github.com/jarreds/c1410eace18447cf6ef12d5e95a36d68
Capers (previously Obelisk):

A bill payment service. Integrated with FiServ.
Cheddar:

Manages goals (envelope budgeting) and the accounting for that.
Chuckles:

Subscribes to and consumes @salesforce push topics.
Corndog (originally Corndoge):

Recon service that did lots of SFTP file processing. Corndog is an anagram of recon if you squint right. Not the only recon system. Recon is *very* important if you’r a fintech. https://gist.github.com/jarreds/1ee9ccd73556a053d3481b4c5044b4e9
Demux:

Kafka + PostgreSQL logical replication demultiplexer.
Multipass:

Identity verification (IDV) service.
Mux:

Finite state machine driven materialized views as a service.
Semisonic:

I honestly don’t remember :(
You can follow @webriots.
Tip: mention @twtextapp on a Twitter thread with the keyword “unroll” to get a link to it.

Latest Threads Unrolled: