Skip to main content

Legacy Estate

79 services · 1796 hosts · two sites · snapshot 2026-09-21 · roadmap item 26

This is the production application estate as it runs today: services deployed by hand onto VMs in the Taichung and Taipei data centres. Roadmap item 26 moves all of it onto Kubernetes. The page is the baseline that work is measured against — a wave plan covers every row below, and what has not moved is reported as hosts and services remaining out of 1796 and 79.

At a glance​

Hosts1796 — Taichung 849, Taipei 947
Services79 (a service is one service group, merged across the two sites)
Business domains11
Seen by APM57 services; 22 services (164 hosts) have no APM agent, so who calls them is not known yet

Today both sites run the same services side by side, and each site's load balancers also send traffic to hosts in the other.

DomainServicesHostsShareServices without APM
3P Mall1627415%1
Member51639%0
Coupon3463%0
WS Core650528%0
Storefront742624%0
Payment121438%7
Marketing & Push7603%2
Logistics4825%2
Ticketing6312%3
Live4352%0
Other9312%7
Total791796100%22

How traffic reaches it today​

Two load-balancer tiers sit in front of the estate, and the direction between them is one-way. NetScaler carries north-south traffic: users on the internet reach the storefront and API hosts through it. A10 carries east-west traffic: services call each other through A10 virtual servers, never back through NetScaler. Services find each other by domain name, not by address — DNS resolves a service's name to its A10 virtual server, which spreads calls over that service's hosts. Behind the application hosts sit the data stores listed per service below.

For each service, moving to Kubernetes therefore means replacing three things, not one: the hosts, the load-balancer pool that fronts them, and the DNS name its callers use — cut over with old and new side by side, as item 26 describes.

Where it goes​

The end state is not these two sites mirrored onto Kubernetes. The Taichung IDC retires (milestone 3.5, gated on the whole-estate rehearsal in 31.3, after its DNS zone goes in 10.4), and what restores service after a failure is the rebuild capability of items 02 and 31, not a second site kept running. Each service therefore moves once, onto the platform Kubernetes clusters. The 1796 hosts are what retires, not what is rebuilt: the Taichung half (849) goes with the site rather than one-for-one into Kubernetes, and each service is sized there at measured demand (item 03).

Which cluster a service lands on is not fixed on this page. Whether a service can run on-premises and in the cloud side by side is for its owner to confirm, service by service; the answer decides which cluster its wave targets (milestone 26.1).

What "everything" means​

Every service on this page is in scope for item 26. A workload may stay a VM — taking item 09's KVM-to-Harvester path instead — only when it is named, has a stated reason, and SRE has approved it. A service still holding local state (sticky sessions, logs on local disk) is not an exception: it runs as a container on its current VM (milestone 25.4) until that state is gone, then moves. At the end, item 26 reports the residue against this baseline and says, for each remaining service, which of the two it is.

Inventory by business domain​

Hosts are counted once each, under the service group the host inventory assigns them. APM marks services with a Pinpoint agent. Data layer lists the kinds of store a service talks to directly, from its production configuration and its APM call graph; "—" means none was found, not that there is none. Business domains follow the APM grouping; services without APM are placed by name.

3P Mall​

16 services · 274 hosts

ServiceTaichungTaipeiHostsAPMData layer
3p_3pf252550✓—
3p_3pm252550✓Kafka, Oracle, Redis
3p_3ptx151530✓Kafka, Oracle, PostgreSQL, Redis
3p_coupon141529✓MongoDB, Redis
3p_mows101020✓Oracle, PostgreSQL, Redis
3p_cm6814✓Redis
3p_sm5712✓Redis
3plgp_other_webservice5611✓Oracle, PostgreSQL
3p_coupon_consumer5510✓—
3p_mows_other369✓Oracle, PostgreSQL, Redis
3p_3pimg538✓—
3p_apif448✓—
3p_apim448✓Oracle
3p_3pqueue336——
3p_imgbatch325✓Oracle, PostgreSQL, Redis
3pmall_batch044✓Oracle

Member​

5 services · 163 hosts

ServiceTaichungTaipeiHostsAPMData layer
membermiddle202343✓Kafka, MongoDB, Oracle, PostgreSQL, Redis
memberfront202141✓Kafka
account_front_server161632✓Redis
sessionapi121931✓Redis
sso8816✓Kafka, PostgreSQL, Redis

Coupon​

3 services · 46 hosts

ServiceTaichungTaipeiHostsAPMData layer
couponapi111526✓MongoDB
couponplatform6713✓MongoDB
couponbridge347✓Oracle

WS Core​

6 services · 505 hosts

ServiceTaichungTaipeiHostsAPMData layer
wsm_api7066136✓Oracle, Redis
ose6065125✓Oracle, Redis
wsf_api5758115✓Redis
wsm_web313768✓Oracle, Redis
wsf_web242448✓Redis
wsf_wsm5813✓Oracle, Redis

Storefront​

7 services · 426 hosts

ServiceTaichungTaipeiHostsAPMData layer
new_shopcar6280142✓Oracle, PostgreSQL, Redis
shop414182✓Memcached, Oracle, Redis
mobile393776✓Memcached, Oracle
ecview343670✓MongoDB, Oracle, Redis
promoapi111425✓MongoDB, Oracle, PostgreSQL
cart_front_server14923✓—
tvapp448✓Oracle

Payment​

12 services · 143 hosts

ServiceTaichungTaipeiHostsAPMData layer
payment182341✓MongoDB, Oracle, PostgreSQL, RabbitMQ, Redis
billing_front121022——
cardPG121022—Oracle
mpg_api6612——
tipgap_server7512✓PostgreSQL, RabbitMQ, Redis
acerpay459——
payment_eco448✓MongoDB, Oracle, PostgreSQL, RabbitMQ, Redis
mpg_3ds336——
masterpass224——
payment_webns224✓MongoDB, Oracle, PostgreSQL, RabbitMQ, Redis
mpg_web022——
a1_tipgpayment_webservice011✓PostgreSQL, RabbitMQ, Redis

Marketing & Push​

7 services · 60 hosts

ServiceTaichungTaipeiHostsAPMData layer
ecm81119✓Oracle, PostgreSQL, Redis
cdpapi_server6612✓PostgreSQL, Redis
ecosystem_pbapi448✓Oracle, PostgreSQL, Redis
webns_ap347—Oracle
pushapi336——
ecosystem_api224✓PostgreSQL
ecosystem_web224✓—

Logistics​

4 services · 82 hosts

ServiceTaichungTaipeiHostsAPMData layer
logistic172744✓Oracle, PostgreSQL, Redis
scm_ap131932—Oracle
weblgp224✓—
scm112—Oracle

Ticketing​

6 services · 31 hosts

ServiceTaichungTaipeiHostsAPMData layer
ticketPayment_front448——
ticketPayment_middle448—Oracle
cwsm246✓Oracle
cwsf224✓—
eticket_ap224✓PostgreSQL
ticketPayment_front_webservice_other011——

Live​

4 services · 35 hosts

ServiceTaichungTaipeiHostsAPMData layer
3p_3pliveapi141428✓MongoDB, Redis
liveportal_ap235✓MongoDB, Redis
3pliveapi011✓MongoDB, Redis
liveportal011✓MongoDB, Redis

Other​

9 services · 31 hosts

ServiceTaichungTaipeiHostsAPMData layer
hps_server448✓Oracle, Redis
hycloud336——
syncmongo066✓MongoDB
eb_cms_server022——
eb_myBookStoreAdmin022——
eb_redium_server022——
eb_schedule_server022——
eb_uxstore_server022——
tvecm101—Oracle

Source and refresh​

The numbers come from the SRE server map — the host inventory, the NetScaler and A10 configurations, the production configuration repository and the APM call graph, joined into one model. The page is a dated snapshot, regenerated by hand when the wave plan (milestone 26.1) is revised; it is not kept in sync automatically.

Back to Architecture · the milestones that move this estate are in 09 · Application Modernization.