際際滷

際際滷Share a Scribd company logo
Evolving QA implementation for Microservices in
Viveport
Laybow Kuo
Tech. Manager
Agenda
 Introduction
 Issues for deploying service for integration test with Microservices
 Service deployment strategy
 Docker compose
 Docker swarm
 Kubernetes (K8s)
 Doing BE integration test by each SDET for different service
 CI Flow in QA
 Q&A
About me
 Laybow Kuo
 Experience
 Dev / SDET
 Viveport SDET
 All Back-End integration test
 Development of Testing framework
 Design and Implement for CI/CD flow in QA env
Microservices + Docker Container
 Docker container is best presentation for Microservices
Viveport has 300
containers
Viveport Environment
Dev
QA
StageProduction
Operation
SDET
 Automatedregression test
 Continuous Integration environment
CI
 Integration test (BE and E2E)
 Development and Test
Integration
Issues for deploying service for
integration test with
Microservices
Issues for deploying service for integration
test
 How fast you deploy !
 Image path and environment value you get
 Implement docker-compose yaml file (not familiar with syntax or context)
 How quickly you debug !
 Service dependency
 Environment value
 DB connection issue
Service Deployment Strategy
Deployment Strategy:
docker-compose
$ docker-compose up -d
SG
SG
SG
payment
consumer
content
IP: 10.111.222.1
IP: 10.111.222.2
IP: 10.111.222.3
App record
Review record
Downloadrecord
SG
Alipay
Credit card
Paypal
wallet
subscription
cms
Issues for docker-compose strategy
 Memory issue
 Overwrite sg config
 Handle component linking issue (not in same docker network)
 Too many test target
Docker Swarm
Docker orchestration
Overlay network
Easy to use / install
Deployment Strategy:
docker swarm
$ docker swarm init
$ docker network create test_swarm --driver overlay
$ docker stack deploy --c xxx.yml --with-registry-auth
Worker
node
Master
node
Worker
node
IP: 10.111.222.1
IP: 10.111.222.2
IP: 10.111.222.3
App record
Review record
SG
Alipay
Credit card
Paypal
wallet
subscription
cms
Issues for docker swarm strategy
 DNS issue
 Resource control / Stability
 Maintain two compose files (compose / swarm format)
Docker orchestration
Stability
Google support
Deployment Strategy:
K8s
$ kubectl create f xxx.yml
$ kubeclt get pod
Worker
node
Master
node
Worker
node
IP: 10.111.222.1
IP: 10.111.222.2
IP: 10.111.222.3
Paypal
Pod
service
Alipay
Pod
service
Cms
Pod
service SG
Pod
service
What k8s can help ?
 Fix memory issue
 DNS issue
 Centralized test entry
 Launch large numbers of container (Stability)
How to do integration test by
each sdet
How to integration test by each sdet
 Ansible deploy for k8s infrastructure
 Each sdet own its QA env
Sdet A
Sdet B
Sdet C
QA IntegrationEnv
Service B
Service A
Service C
CI/CD flow in QA env
CI Integration
CI Flow
Dev
SQS
23
THANK YOU
Q&A

More Related Content

TestCorner#22 - Evolving QA implementation for Microservices in Viveport