Product Development
Product Development
(Seminar)
1 1
Content
o Product Development
• Common Server Architecture
• Scale Up
• Scale Out
• Microservices
2
Product Development
o Stack Technology
o Server Infrastructure
o Development Process
o Team
3
Scale Up vs Scale Out
o Scale Up
• Add-In hardware
• Solve businesses logic
• Optimize performance (need do everyday)
o Scale Out
• Architecture
• Add Instances
• Load Balancing
4
Common Server Architecture
5
Common Server Architecture
6
Ref: https://viblo.asia/p/mot-so-kien-truc-server-pho-bien-cho-cac-ung-dung-web-GrLZDX1OZk0?
Common Server Architecture
7
StoryBlocks Web Architecture
8
https://viblo.asia/p/web-architecture-101-07LKXNB8lV4
Stackoverflow Web Architecture
9
https://techtalk.vn/bi-mat-stack-overflow-da-deploy-ra-sao-phien-ban-2016.html
Stack Technology
o Client Problem
• UI/UX
o Backend Problem
• API
o Database Problem
10
Client Side vs Server Slide Rendering
11
Client Problem
o Google PageSpeed Insights - 100/100
o Five Principles
• Less Requests
• Small Resources
• Near Resources
• CDN
• Proxy
• Resource Priority
• User Experiences
12
Client Problem
o Merge
• Gulp
o Minify
o Compress
• GZIP
• Losses compression (Google PageSpeed Insights API)
o Cache
• JS Caching
• Local Storage
o Parallel
o Lazy & Prefetch
13
Backend problem
o Numbers everyone should know (http://highscalability.com/numbers-
everyone-should-know)
o Text based vs Binary based ()
• Set : Data/Object -> Serialize -> Compress -> Cache Service
• Get : Data/Object <- Deserialize <- Decompress -< Cache Service
o Data serialize
• Text Protocol
• JSON - 167 bytes, se: 6ms, de: 3ms
• XML - 235 bytes
• Binary
• Thrift - 64 bytes, se: 53ms, de: 1ms
• Protobuf - 31 bytes, se: 34 ms, de: 4ms
• Focus deserialize
• Compress
• Zstd (FB), Snapy, ZIP, GZIP
• Focus decompress
14
https://auth0.com/blog/beating-json-performance-with-protobuf/
Backend problem
o Caching
• Data Caching
• Memory Cache
• Redis
• Database
• HTTP Caching
• Varnish
• ETAG
o Query Data
• ORM vs Store Procedures
15
Datababase Problem
o RDBMS vs NoSQL
• File Group, Partitioning
• Indexes, Execution Query Plan
• Lock, Deadlock
o Microservices
• Replicate Master Data (Important)
16
Datababase Problem
17
s://blog.chuyencuadev.com/2017-09-21-he-thong-tiki-3-nam-truoc-nhu-the-nao-p1
Monolithic vs Microservices
18
https://techmaster.vn/posts/33594/gioi-thieu-ve-microservices
Monolithic vs Microservices
19
o Screen Shot 2018-12-03 at 5.05.56 PM.png
https://docs.microsoft.com/en-us/dotnet/standard/microservices-architecture/ 20
o Screen Shot 2018-12-03 at 5.05.56 PM.png
21
22
23
24
Microservice
o Authentication & Authorization
• JWT
• OAuth2
25
Microservices
tps://engineering.tiki.vn/x%C3%A1c-th%E1%BB%B1c-v%C3%A0-ph%C3%A2n-quy%E1%BB%81n-trong-microservices-37689e53c082 26
Microservices
27
Agile Software Development
28
CI/CD
GIT / Bitbucket
29
Discussion
30