Whitebase is an assault carrier to carry and support Micro-Services.
Features:
- Light-weight API Gateway/Proxy for Micro-Services
- Launcher for Micro-Services
- and more! (TBD)
2. Synopsis
• We’re using Micro-Service Architecture(MSA)
• UI (frontend) need to talk with
many MSs (Backend)
• In developments,
each developers should instantiate their own MS
instances
• Each MS may use different language/framework
(a.k.a. Polyglot)
–> it requires different ways of launching
(a.k.a. How to Run)
3. What we need
• Single Endpoint from UI to multiple MSs
(a.k.a. API Gateway/API Proxy)
• Make it easy to instantiate MSs in
development environment
• Solving resource problems on Developer’s PC
5. Whitebase?
• We use ‘MS-’ prefix for naming Micro-Services
(MS means not Microsoft nor Mobile Suite)
• Whitebase is an assault carrier to carry and support Mobile Suites in
famous Japanese Animation, Mobile Suite Gundam
(http://gundam.wikia.com/wiki/SCV-70_White_Base)
6. Whitebase
• Whitebase is an assault carrier to carry and
support Micro-Services
• Features
– Light-weight API Gateway/Proxy for Micro-Services
– Launcher for Micro-Services
– and more! (TBD)
12. Launcher for MS
• Required Scenarios
– Launching in Developer’s PC
• Source code is already cloned – just build/launch it
• Clone from git, build, and launch
• Download from artifact repository and launch
– Just connect to existing remote instance
– Launching in Docker
• get docker image from docker registry
• Launch it as container in docker host
13. Launcher for MS
Developer’s Machine
Whitebase
jar/js
(file system)
MS-A
Instance
git
jar/js
(file system)
MS-B
Instance
Artifact
repository
jar/js
(file system)
MS-C
Instance
Local docker
MS-D
Instance
Docker
Image
Registry
remote docker
MS-E
Instance
HA Proxy HA Proxy
clone
wget
remote machine
MS-F
Instance
14. Launcher for MS : launch mode
• Supports various launch modes
service
launcher
local
launcher
docker
launcher
local
Docker host
remote
Docker host
Docker
Image repository
File system
artifact
Repository
git
To be supported
16. Requirement for MSs
• After cloning from source repository, every MS
should be able to run with single command
without any other setting
(for example, use embedded tomcat)
• Each MS should generate DDL to populate
required tables on given database
(generally ORM can do it for you)
• Although a MS can use whitebase to talk with
other MS, we don’t recommend it
(it feels like a circular dependency)
17. MS-A Container
Whitebase + Service Discovery + Inter-Service Call
Whitebase
UI
UI
MS-A
HA Proxy
HA Proxy
HA Proxy
Service
Registry
Service Agent
MS-A Container
MS-A HA Proxy
Service Agent
MS-B Container
MS-B
Service Agent
MS-B Container
MS-B
Service Agent
18. Current Status & Roadmap
• Whitebase is in early stage
– Not proved in the production environment yet
(we’re focusing on the development environment now)
– Many middleware/launching features is under developing
– Many things could be changed and added
• Currently only our team use it
• Soon we will provide it as a part of our MSA tool
suite to other organizations in our company
• And Whitebase is going to be OSS in the near future!
(Please send a feedback to me if you want)
19. Send a feedback
var you = {};
if (you.like||you.dislike||you.suggest||you.request)
{
var id = "jaewoo.ahn";
var domain = "sk.com";
mail.send(String.format("{0}@{1}", id, domain ));
}