06-Software Architecture
06-Software Architecture
Puja Pramudya
Dosen Praktisi | Head Engineering eFishery
Agenda
- What is Architecture
- Microservice
- Container
- Cloud
Disclaimer
This is not scientific presentation merely collection of finding from the fields
Astronauts Do Not
Launched With Finger
Crossed
- Chris Hadfield
Everything Must Be Engineered
● Engineer to Meet the Purpose
● Engineer to Eliminate Failures
● Engineer to Fail Gracefully
● Engineer to Recover Fast
What is Architecture
Software Architecture
The set of structures needed to reason
about a software system and the
discipline of creating such structures
and systems. Each structure
comprises software elements, relations
among them, and properties of both
elements and relations
The Server
Clients
Late 2007, the beginning
S3
DB
The Server
Clients
Early 2008
S3
DB
notserver metaserver Blockserver
Clients
Early 2012 S3
DB
memcache
LB
Clients
That is Microservice
What is Microservice
● At least 2 pizza
team : 6-9 engineers
○ Per business
domain
Flexibility
● Microservice buy dev team options
○ Organizational
○ Technical
○ Scale
○ Robustness
Alignment of Architecture & Org
Alignment of Architecture & Org
Customer
Stock Purchase Profile
flow team
team
Enabling Technology
● Log aggregation & distribution tracing
● Containers & Kubernetes
● Event Streaming
● Public Cloud and Serverless
Log Aggregation & Tracing
Container & Kubernetes
● Ship our service as
containerized bundle
● Deploy them to “server
farm”
Event Streaming
Public Cloud & Serverless
Now, let see it in action
Reference
Software Architecture
Puja Pramudya
Dosen Praktisi | Head Engineering eFishery