SlideShare una empresa de Scribd logo
1 de 49
© 2019 Trend Micro Inc.1
Container and Test
Automation
Management Practices in
Trend Micro
Larry Huang
© 2019 Trend Micro Inc.2
Abstract
• Introduction
• CD Practice
• TestRail and Auto Test Case Management
– Test case auto sync
– Auto test run creation
• Container + k8s Practice
– Benefits
– CI/CD
– Logging
– Monitoring
– Testing
© 2019 Trend Micro Inc.3
Self Introduction
• Larry Huang
– Experience
• Dev
• QA
– Trend Micro PLS
• Lepus team
© 2019 Trend Micro Inc.4
Lepus Team
© 2019 Trend Micro Inc.5
Service by Our Team
• Web Services
– API
– Frontend
– Backend
© 2019 Trend Micro Inc.6
QA Routine
• Testing
• Case Support
• Deployment
– QA (inner integration)
– Beta (external integration)
– Stage (external integration)
– Production
© 2019 Trend Micro Inc.7
Deployment Tool - Octopus
 Process control pipeline
 Permission control
 Project dashboard
 Variable management
 Plugins
 Cross Platform
 GUI
© 2019 Trend Micro Inc.8
Deployment Tool - Octopus
• Octopus Process
– target selection
– env selection
• Common Steps
– API or DB connection
– Deploy
– DVT Test
– Teardown
© 2019 Trend Micro Inc.9
Configuration Deployment
• Frequent configuration update request
• Independent deploy process
• Light weight
– Less effort for Dev and QA
© 2019 Trend Micro Inc.10
TestRail and Automation Test Integration
© 2019 Trend Micro Inc.11
TestRail
• Case management
• Test report
© 2019 Trend Micro Inc.12
Automation Testing Framework
• Robot Framework
– Python Based
– Keyword
– Tags for filtering
• Case category
• TestRail Case id
© 2019 Trend Micro Inc.13
© 2019 Trend Micro Inc.14
Case Synchronization
On git change
© 2019 Trend Micro Inc.15
Case Synchronization
TestRail Section Path
Case ID
© 2019 Trend Micro Inc.16
Case Synchronization
• Sync target
– Case Title
– Case ID
– Customized Attributes
• Sync options
– direction (From robot or TestRail)
– mode (Create or delete cases if not existed)
© 2019 Trend Micro Inc.17
Case Skeleton Creation
• Generate a robot file with the skeletons of the test cases
– Title
– ID, customized attributes
– Steps as comments
– Force Fail
© 2019 Trend Micro Inc.18
Auto Test Plan (Run)
• Test report before going production
© 2019 Trend Micro Inc.19
Auto Test Run
Create Test Plan
Create Test Run
Update Test Results
© 2019 Trend Micro Inc.20
Container + k8s Practice
Before Containerization
Load Balancer
Machine 1 Machine 2 Machine 4Machine 3
Load Balancer
Machine 1 Machine 2 Machine 4Machine 3
Tech Operator
© 2019 Trend Micro Inc.22
Before Containerization
• Server Provision
1 or 2 weeks later …
Request for new server
Tech Operator
CentOS 7
Python 3.6
Python 2.7 ?
© 2019 Trend Micro Inc.23
Containerization
• Infra as code
Service A
Service B
Service C
YAML Files
© 2019 Trend Micro Inc.24
Deployment Requirements
© 2019 Trend Micro Inc.25
Before Containerization
• Rolling Update
– Old and new version might be published in the same time
– Bind and Unbind
– Time consuming
Tech Operator
QA
Please unbind machine group 1
Group 1 has been unbound
3 min later …
QA Deploy and test group 1 …
Please bind machine group 1
Group 1 has been bound
3 min later …
…
© 2019 Trend Micro Inc.26
Containerization
• Blue Green Deployment
– Time Saving
• Switching pod selector
– Easy to recover
• Scale up/down pod replica k8s service
pod selector
Replica = 2
Replica = 0
© 2019 Trend Micro Inc.27
Before Containerization
• Single Point Test
– Every machine needs to be checked individually
© 2019 Trend Micro Inc.28
Containerization
• No need for Single Point Test
– All pods are replicas
• k8s Configmap
– Light weight deploy
– Central Management
• Only one replica
Configmap A
© 2019 Trend Micro Inc.29
Containerization
• Auto Scaling
• Health Assurance
k8s deployment
Replica = 4
Running RunningRunning Exit Container Creating
© 2019 Trend Micro Inc.30
Containerization
• Service / Machine
– Microservice Friendly
– Light way deployment
– Cost down (10 -> 2 nodes)
Service A
Service B
Service C
Standby
© 2019 Trend Micro Inc.31
• Each environment needs individual Cname
Before Containerization
service-stage.trendmicro.comservice-beta.trendmicro.com
Service A Service B Service C Service A Service B Service C
© 2019 Trend Micro Inc.32
• Ingress
– No need to build individual k8s for every environment
– Services are mapped by routes
• Dev/QA
• Beta/Stage
• Production
Containerization
service-test.iam.trend.com
/beta/login/ /stage/login/
© 2019 Trend Micro Inc.33
k8s Secrets
• sensitive data
© 2019 Trend Micro Inc.34
CI Flow
• CI
– Docker Image
• Product Image = Base Image + App Image
• Base Image
– OS
– System Library
• App Image
– Source Code
– App Library
– Version control
Base
Product
© 2019 Trend Micro Inc.35
Deployment Process
Environment Check
Create pods to test connection to external services (DB, API, …)
Blue (Green) Deploy
DVT Test
Pod Switch
© 2019 Trend Micro Inc.36
CD Environment
• Dev/QA
– k8s
• Beta/Stage
– AWS EKS
• Production
– AWS EKS
• Any k8s compatible environment can be deployed
© 2019 Trend Micro Inc.37
Lesson Learn
• Node Selection
– Connection super slow
VPN
© 2019 Trend Micro Inc.38
• Replica or Deployment
– RestartPolicy: Always
• Job
– RestartPolicy: OnFailure or Never
Lesson Learn
© 2019 Trend Micro Inc.39
• (App configuration + Deployment yaml) * service * env
• Solution
– Config change review
Lesson Learn
YAML Files
© 2019 Trend Micro Inc.40
Logging
• Log cannot not be preserved in container
• EKS (Beta to Production): Gray Log
• K8s (Dev/QA):
– Mount log folder on k8s Volumes
– Cronjob sync to NAS
K8s volume
App
cronjob
© 2019 Trend Micro Inc.41
Monitoring
• Monitis
– E2E case
• User scenario
• Response time
© 2019 Trend Micro Inc.42
Monitoring
• Prometheus + Grafana
– Resource
• CPU
• Memory
• Pod Restart Count
– Slack Channel Integration
• Warning
• Recovering
© 2019 Trend Micro Inc.43
Monitoring
Monitoring
© 2019 Trend Micro Inc.45
• Three environments to maintain
• Shared by multiple teams
– Computing Resources
– Libraries
– Browser
Test using Traditional Way
Test Client 1 Test Client 2 Test Client 3
© 2019 Trend Micro Inc.46
• Dockerfile tells everything
– Easy to replicate
• No worry about resource dependency
• Python migration to 3
• Selenium Grid Enabled
Test in Container
© 2019 Trend Micro Inc.47
Selenium Grid
74 73
• Parallel Test
© 2019 Trend Micro Inc.48
Summary
• YAML: code as infrastructure
• Replica: HA, Auto Scaling
• Ingress: Routing mapping service
• Pod Selection: Blue Green Deploy
• Volume: Log preservation
• Prometheus + Grafana: Monitoring
• Test in Container
© 2019 Trend Micro Inc.49
Thank You

Más contenido relacionado

La actualidad más candente

Orchestrating Complex Multi Cloud Enterprise Applications
Orchestrating Complex Multi Cloud Enterprise ApplicationsOrchestrating Complex Multi Cloud Enterprise Applications
Orchestrating Complex Multi Cloud Enterprise ApplicationsCloudify Community
 
Orchestrating Cloud-Native and Traditional Application Architectures
Orchestrating Cloud-Native and Traditional Application ArchitecturesOrchestrating Cloud-Native and Traditional Application Architectures
Orchestrating Cloud-Native and Traditional Application ArchitecturesApprenda
 
Urban code deploy helps with traditional websphere app server migration
Urban code deploy helps with traditional websphere app server migrationUrban code deploy helps with traditional websphere app server migration
Urban code deploy helps with traditional websphere app server migrationLaurel Dickson-Bull
 
In-Stream Processing Service Blueprint, Reference architecture for real-time ...
In-Stream Processing Service Blueprint, Reference architecture for real-time ...In-Stream Processing Service Blueprint, Reference architecture for real-time ...
In-Stream Processing Service Blueprint, Reference architecture for real-time ...Grid Dynamics
 
Cloud Economics - Crayon Optimization Services
Cloud Economics - Crayon Optimization ServicesCloud Economics - Crayon Optimization Services
Cloud Economics - Crayon Optimization ServicesAnfernee Bonds
 
Driving success in the cloud with NGINX
Driving success in the cloud with NGINXDriving success in the cloud with NGINX
Driving success in the cloud with NGINXNGINX, Inc.
 
Continuous Performance Testing
Continuous Performance TestingContinuous Performance Testing
Continuous Performance TestingGrid Dynamics
 
Cloud-Native Data: What data questions to ask when building cloud-native apps
Cloud-Native Data: What data questions to ask when building cloud-native appsCloud-Native Data: What data questions to ask when building cloud-native apps
Cloud-Native Data: What data questions to ask when building cloud-native appsVMware Tanzu
 
Using Git with Rational Team Concert and Rational ClearCase in enterprise env...
Using Git with Rational Team Concert and Rational ClearCase in enterprise env...Using Git with Rational Team Concert and Rational ClearCase in enterprise env...
Using Git with Rational Team Concert and Rational ClearCase in enterprise env...Bartosz Chrabski
 
Migrate Heroku & OpenShift Applications to IBM BlueMix
Migrate Heroku & OpenShift Applications to IBM BlueMixMigrate Heroku & OpenShift Applications to IBM BlueMix
Migrate Heroku & OpenShift Applications to IBM BlueMixRohit Kelapure
 
Building a PaaS Platform like Bluemix on OpenStack
Building a PaaS Platform like Bluemix on OpenStackBuilding a PaaS Platform like Bluemix on OpenStack
Building a PaaS Platform like Bluemix on OpenStackAnimesh Singh
 
CollabNet TeamForge 8.1 Webinar
CollabNet TeamForge 8.1 WebinarCollabNet TeamForge 8.1 Webinar
CollabNet TeamForge 8.1 WebinarCollabNet
 
Run Stateful Apps on Kubernetes with VMware PKS - Highlight WebLogic Server
Run Stateful Apps on Kubernetes with VMware PKS - Highlight WebLogic Server Run Stateful Apps on Kubernetes with VMware PKS - Highlight WebLogic Server
Run Stateful Apps on Kubernetes with VMware PKS - Highlight WebLogic Server Simone Morellato
 
Kovair Omnibus Integration with Multi Vendor Tools
Kovair Omnibus Integration with Multi Vendor ToolsKovair Omnibus Integration with Multi Vendor Tools
Kovair Omnibus Integration with Multi Vendor ToolsKovair
 
NI Package Manager
NI Package ManagerNI Package Manager
NI Package ManagerDMC, Inc.
 
Kovair ALM application on model based process improvement
Kovair ALM application on model based process improvementKovair ALM application on model based process improvement
Kovair ALM application on model based process improvementKovair
 
VMware - Application Portability
VMware - Application PortabilityVMware - Application Portability
VMware - Application PortabilityVMUG IT
 
VMware Developer-Ready Transformation
VMware Developer-Ready TransformationVMware Developer-Ready Transformation
VMware Developer-Ready TransformationVMware Tanzu
 

La actualidad más candente (20)

Orchestrating Complex Multi Cloud Enterprise Applications
Orchestrating Complex Multi Cloud Enterprise ApplicationsOrchestrating Complex Multi Cloud Enterprise Applications
Orchestrating Complex Multi Cloud Enterprise Applications
 
Orchestrating Cloud-Native and Traditional Application Architectures
Orchestrating Cloud-Native and Traditional Application ArchitecturesOrchestrating Cloud-Native and Traditional Application Architectures
Orchestrating Cloud-Native and Traditional Application Architectures
 
Serverless design with Fn project
Serverless design with Fn projectServerless design with Fn project
Serverless design with Fn project
 
Urban code deploy helps with traditional websphere app server migration
Urban code deploy helps with traditional websphere app server migrationUrban code deploy helps with traditional websphere app server migration
Urban code deploy helps with traditional websphere app server migration
 
In-Stream Processing Service Blueprint, Reference architecture for real-time ...
In-Stream Processing Service Blueprint, Reference architecture for real-time ...In-Stream Processing Service Blueprint, Reference architecture for real-time ...
In-Stream Processing Service Blueprint, Reference architecture for real-time ...
 
Cloud Economics - Crayon Optimization Services
Cloud Economics - Crayon Optimization ServicesCloud Economics - Crayon Optimization Services
Cloud Economics - Crayon Optimization Services
 
Driving success in the cloud with NGINX
Driving success in the cloud with NGINXDriving success in the cloud with NGINX
Driving success in the cloud with NGINX
 
Continuous Performance Testing
Continuous Performance TestingContinuous Performance Testing
Continuous Performance Testing
 
Docker12 factor
Docker12 factorDocker12 factor
Docker12 factor
 
Cloud-Native Data: What data questions to ask when building cloud-native apps
Cloud-Native Data: What data questions to ask when building cloud-native appsCloud-Native Data: What data questions to ask when building cloud-native apps
Cloud-Native Data: What data questions to ask when building cloud-native apps
 
Using Git with Rational Team Concert and Rational ClearCase in enterprise env...
Using Git with Rational Team Concert and Rational ClearCase in enterprise env...Using Git with Rational Team Concert and Rational ClearCase in enterprise env...
Using Git with Rational Team Concert and Rational ClearCase in enterprise env...
 
Migrate Heroku & OpenShift Applications to IBM BlueMix
Migrate Heroku & OpenShift Applications to IBM BlueMixMigrate Heroku & OpenShift Applications to IBM BlueMix
Migrate Heroku & OpenShift Applications to IBM BlueMix
 
Building a PaaS Platform like Bluemix on OpenStack
Building a PaaS Platform like Bluemix on OpenStackBuilding a PaaS Platform like Bluemix on OpenStack
Building a PaaS Platform like Bluemix on OpenStack
 
CollabNet TeamForge 8.1 Webinar
CollabNet TeamForge 8.1 WebinarCollabNet TeamForge 8.1 Webinar
CollabNet TeamForge 8.1 Webinar
 
Run Stateful Apps on Kubernetes with VMware PKS - Highlight WebLogic Server
Run Stateful Apps on Kubernetes with VMware PKS - Highlight WebLogic Server Run Stateful Apps on Kubernetes with VMware PKS - Highlight WebLogic Server
Run Stateful Apps on Kubernetes with VMware PKS - Highlight WebLogic Server
 
Kovair Omnibus Integration with Multi Vendor Tools
Kovair Omnibus Integration with Multi Vendor ToolsKovair Omnibus Integration with Multi Vendor Tools
Kovair Omnibus Integration with Multi Vendor Tools
 
NI Package Manager
NI Package ManagerNI Package Manager
NI Package Manager
 
Kovair ALM application on model based process improvement
Kovair ALM application on model based process improvementKovair ALM application on model based process improvement
Kovair ALM application on model based process improvement
 
VMware - Application Portability
VMware - Application PortabilityVMware - Application Portability
VMware - Application Portability
 
VMware Developer-Ready Transformation
VMware Developer-Ready TransformationVMware Developer-Ready Transformation
VMware Developer-Ready Transformation
 

Similar a Container and Test Automation Management Practices in TrendMicro

Journey Through Four Stages of Kubernetes Deployment Maturity
Journey Through Four Stages of Kubernetes Deployment MaturityJourney Through Four Stages of Kubernetes Deployment Maturity
Journey Through Four Stages of Kubernetes Deployment MaturityAltoros
 
DevOps adoption in the enterprise
DevOps adoption in the enterpriseDevOps adoption in the enterprise
DevOps adoption in the enterpriseSanjeev Sharma
 
Get Mapped: Using Value Stream Mapping to Create a DevOps Adoption Roadmap
Get Mapped: Using Value Stream Mapping to Create a DevOps Adoption RoadmapGet Mapped: Using Value Stream Mapping to Create a DevOps Adoption Roadmap
Get Mapped: Using Value Stream Mapping to Create a DevOps Adoption RoadmapIBM UrbanCode Products
 
Integration in the Cloud, by Rob Davies
Integration in the Cloud, by Rob DaviesIntegration in the Cloud, by Rob Davies
Integration in the Cloud, by Rob DaviesJudy Breedlove
 
Kubernetes on the Edge / 在邊緣的K8S
Kubernetes on the Edge / 在邊緣的K8SKubernetes on the Edge / 在邊緣的K8S
Kubernetes on the Edge / 在邊緣的K8SYi-Fu Ciou
 
"The Cloud Native Enterprise is Coming"
"The Cloud Native Enterprise is Coming" "The Cloud Native Enterprise is Coming"
"The Cloud Native Enterprise is Coming" James Watters
 
Cloud Native DevOps
Cloud Native DevOpsCloud Native DevOps
Cloud Native DevOpsJim Bugwadia
 
GOTOpia 2020: "The Past, Present, and Future of Cloud Native API Gateways"
GOTOpia 2020: "The Past, Present, and Future of Cloud Native API Gateways"GOTOpia 2020: "The Past, Present, and Future of Cloud Native API Gateways"
GOTOpia 2020: "The Past, Present, and Future of Cloud Native API Gateways"Daniel Bryant
 
Introduction to Civil Infrastructure Platform
Introduction to Civil Infrastructure PlatformIntroduction to Civil Infrastructure Platform
Introduction to Civil Infrastructure PlatformSZ Lin
 
Javier Hijas & Ori Kuyumgiski - Security at the speed of DevOps [rooted2018]
Javier Hijas & Ori Kuyumgiski	- Security at the speed of DevOps [rooted2018]Javier Hijas & Ori Kuyumgiski	- Security at the speed of DevOps [rooted2018]
Javier Hijas & Ori Kuyumgiski - Security at the speed of DevOps [rooted2018]RootedCON
 
Microservices @ Work - A Practice Report of Developing Microservices
Microservices @ Work - A Practice Report of Developing MicroservicesMicroservices @ Work - A Practice Report of Developing Microservices
Microservices @ Work - A Practice Report of Developing MicroservicesQAware GmbH
 
“Parallelizing Machine Learning Applications in the Cloud with Kubernetes: A ...
“Parallelizing Machine Learning Applications in the Cloud with Kubernetes: A ...“Parallelizing Machine Learning Applications in the Cloud with Kubernetes: A ...
“Parallelizing Machine Learning Applications in the Cloud with Kubernetes: A ...Edge AI and Vision Alliance
 
Akachain Hyperledger Fabric best practices
Akachain Hyperledger Fabric best practicesAkachain Hyperledger Fabric best practices
Akachain Hyperledger Fabric best practicesEledra Nguyen
 
No Compromise - Better, Stronger, Faster Java in the Cloud
No Compromise - Better, Stronger, Faster Java in the CloudNo Compromise - Better, Stronger, Faster Java in the Cloud
No Compromise - Better, Stronger, Faster Java in the CloudAll Things Open
 
CloudBuilders 2022: "The Past, Present, and Future of Cloud Native API Gateways"
CloudBuilders 2022: "The Past, Present, and Future of Cloud Native API Gateways"CloudBuilders 2022: "The Past, Present, and Future of Cloud Native API Gateways"
CloudBuilders 2022: "The Past, Present, and Future of Cloud Native API Gateways"Daniel Bryant
 
Использование AzureDevOps при разработке микросервисных приложений
Использование AzureDevOps при разработке микросервисных приложенийИспользование AzureDevOps при разработке микросервисных приложений
Использование AzureDevOps при разработке микросервисных приложенийVitebsk Miniq
 
Hybrid and Multi-Cloud Strategies for Kubernetes with GitOps
Hybrid and Multi-Cloud Strategies for Kubernetes with GitOpsHybrid and Multi-Cloud Strategies for Kubernetes with GitOps
Hybrid and Multi-Cloud Strategies for Kubernetes with GitOpsSonja Schweigert
 
Hybrid and Multi-Cloud Strategies for Kubernetes with GitOps
Hybrid and Multi-Cloud Strategies for Kubernetes with GitOpsHybrid and Multi-Cloud Strategies for Kubernetes with GitOps
Hybrid and Multi-Cloud Strategies for Kubernetes with GitOpsWeaveworks
 

Similar a Container and Test Automation Management Practices in TrendMicro (20)

Journey Through Four Stages of Kubernetes Deployment Maturity
Journey Through Four Stages of Kubernetes Deployment MaturityJourney Through Four Stages of Kubernetes Deployment Maturity
Journey Through Four Stages of Kubernetes Deployment Maturity
 
DevOps adoption in the enterprise
DevOps adoption in the enterpriseDevOps adoption in the enterprise
DevOps adoption in the enterprise
 
Get Mapped: Using Value Stream Mapping to Create a DevOps Adoption Roadmap
Get Mapped: Using Value Stream Mapping to Create a DevOps Adoption RoadmapGet Mapped: Using Value Stream Mapping to Create a DevOps Adoption Roadmap
Get Mapped: Using Value Stream Mapping to Create a DevOps Adoption Roadmap
 
Integration in the Cloud, by Rob Davies
Integration in the Cloud, by Rob DaviesIntegration in the Cloud, by Rob Davies
Integration in the Cloud, by Rob Davies
 
Kubernetes on the Edge / 在邊緣的K8S
Kubernetes on the Edge / 在邊緣的K8SKubernetes on the Edge / 在邊緣的K8S
Kubernetes on the Edge / 在邊緣的K8S
 
The rise of microservices
The rise of microservicesThe rise of microservices
The rise of microservices
 
"The Cloud Native Enterprise is Coming"
"The Cloud Native Enterprise is Coming" "The Cloud Native Enterprise is Coming"
"The Cloud Native Enterprise is Coming"
 
Cloud Native DevOps
Cloud Native DevOpsCloud Native DevOps
Cloud Native DevOps
 
GOTOpia 2020: "The Past, Present, and Future of Cloud Native API Gateways"
GOTOpia 2020: "The Past, Present, and Future of Cloud Native API Gateways"GOTOpia 2020: "The Past, Present, and Future of Cloud Native API Gateways"
GOTOpia 2020: "The Past, Present, and Future of Cloud Native API Gateways"
 
Introduction to Civil Infrastructure Platform
Introduction to Civil Infrastructure PlatformIntroduction to Civil Infrastructure Platform
Introduction to Civil Infrastructure Platform
 
Javier Hijas & Ori Kuyumgiski - Security at the speed of DevOps [rooted2018]
Javier Hijas & Ori Kuyumgiski	- Security at the speed of DevOps [rooted2018]Javier Hijas & Ori Kuyumgiski	- Security at the speed of DevOps [rooted2018]
Javier Hijas & Ori Kuyumgiski - Security at the speed of DevOps [rooted2018]
 
Microservices @ Work - A Practice Report of Developing Microservices
Microservices @ Work - A Practice Report of Developing MicroservicesMicroservices @ Work - A Practice Report of Developing Microservices
Microservices @ Work - A Practice Report of Developing Microservices
 
“Parallelizing Machine Learning Applications in the Cloud with Kubernetes: A ...
“Parallelizing Machine Learning Applications in the Cloud with Kubernetes: A ...“Parallelizing Machine Learning Applications in the Cloud with Kubernetes: A ...
“Parallelizing Machine Learning Applications in the Cloud with Kubernetes: A ...
 
Akachain Hyperledger Fabric best practices
Akachain Hyperledger Fabric best practicesAkachain Hyperledger Fabric best practices
Akachain Hyperledger Fabric best practices
 
No Compromise - Better, Stronger, Faster Java in the Cloud
No Compromise - Better, Stronger, Faster Java in the CloudNo Compromise - Better, Stronger, Faster Java in the Cloud
No Compromise - Better, Stronger, Faster Java in the Cloud
 
CloudBuilders 2022: "The Past, Present, and Future of Cloud Native API Gateways"
CloudBuilders 2022: "The Past, Present, and Future of Cloud Native API Gateways"CloudBuilders 2022: "The Past, Present, and Future of Cloud Native API Gateways"
CloudBuilders 2022: "The Past, Present, and Future of Cloud Native API Gateways"
 
Использование AzureDevOps при разработке микросервисных приложений
Использование AzureDevOps при разработке микросервисных приложенийИспользование AzureDevOps при разработке микросервисных приложений
Использование AzureDevOps при разработке микросервисных приложений
 
Hybrid and Multi-Cloud Strategies for Kubernetes with GitOps
Hybrid and Multi-Cloud Strategies for Kubernetes with GitOpsHybrid and Multi-Cloud Strategies for Kubernetes with GitOps
Hybrid and Multi-Cloud Strategies for Kubernetes with GitOps
 
Hybrid and Multi-Cloud Strategies for Kubernetes with GitOps
Hybrid and Multi-Cloud Strategies for Kubernetes with GitOpsHybrid and Multi-Cloud Strategies for Kubernetes with GitOps
Hybrid and Multi-Cloud Strategies for Kubernetes with GitOps
 
Adopting DevOps for 2-Speed IT
Adopting DevOps for 2-Speed ITAdopting DevOps for 2-Speed IT
Adopting DevOps for 2-Speed IT
 

Más de Jen-Chieh Ko

RSG Taipei 2023 LeSS Design Principles
RSG Taipei 2023 LeSS Design PrinciplesRSG Taipei 2023 LeSS Design Principles
RSG Taipei 2023 LeSS Design PrinciplesJen-Chieh Ko
 
Practical Testing Strategy for Agile Team
Practical Testing Strategy for Agile TeamPractical Testing Strategy for Agile Team
Practical Testing Strategy for Agile TeamJen-Chieh Ko
 
O.R.I.D 初探 - 新竹敏捷分享.pdf
O.R.I.D 初探 - 新竹敏捷分享.pdfO.R.I.D 初探 - 新竹敏捷分享.pdf
O.R.I.D 初探 - 新竹敏捷分享.pdfJen-Chieh Ko
 
2021 台灣軟體測試現狀調查
2021 台灣軟體測試現狀調查2021 台灣軟體測試現狀調查
2021 台灣軟體測試現狀調查Jen-Chieh Ko
 
Agile summit2021 - Talk About Exploratory Testing
Agile summit2021 - Talk About Exploratory TestingAgile summit2021 - Talk About Exploratory Testing
Agile summit2021 - Talk About Exploratory TestingJen-Chieh Ko
 
Stop Retrospective, Start Continuous Improving
Stop Retrospective, Start Continuous ImprovingStop Retrospective, Start Continuous Improving
Stop Retrospective, Start Continuous ImprovingJen-Chieh Ko
 
Mopcon 2021 Scrum 是新的死亡行軍嗎?
Mopcon 2021   Scrum 是新的死亡行軍嗎?Mopcon 2021   Scrum 是新的死亡行軍嗎?
Mopcon 2021 Scrum 是新的死亡行軍嗎?Jen-Chieh Ko
 
啟動敏捷轉型的工具箱
啟動敏捷轉型的工具箱啟動敏捷轉型的工具箱
啟動敏捷轉型的工具箱Jen-Chieh Ko
 
Exploratory testing survey in 2020
Exploratory testing survey in 2020Exploratory testing survey in 2020
Exploratory testing survey in 2020Jen-Chieh Ko
 
如何把看板和 Scrum 發揮到極致
如何把看板和 Scrum 發揮到極致如何把看板和 Scrum 發揮到極致
如何把看板和 Scrum 發揮到極致Jen-Chieh Ko
 
Agile Hsinchu 七月線上聚會: 我的教練旅程
Agile Hsinchu 七月線上聚會: 我的教練旅程Agile Hsinchu 七月線上聚會: 我的教練旅程
Agile Hsinchu 七月線上聚會: 我的教練旅程Jen-Chieh Ko
 
The right It : How to make your assumption - Agile HsinChu 2020 Mar Gathering
The right It : How to make your assumption - Agile HsinChu 2020 Mar GatheringThe right It : How to make your assumption - Agile HsinChu 2020 Mar Gathering
The right It : How to make your assumption - Agile HsinChu 2020 Mar GatheringJen-Chieh Ko
 
Agile tourhsinchushare踩過的scrum event坑
Agile tourhsinchushare踩過的scrum event坑Agile tourhsinchushare踩過的scrum event坑
Agile tourhsinchushare踩過的scrum event坑Jen-Chieh Ko
 
Design sprint experience at Trend Micro
Design sprint experience at Trend MicroDesign sprint experience at Trend Micro
Design sprint experience at Trend MicroJen-Chieh Ko
 
Design sprint sharing of DS team
Design sprint sharing of DS team Design sprint sharing of DS team
Design sprint sharing of DS team Jen-Chieh Ko
 
Agile Summit Taipei 2019 - Agile Testing Strategy
Agile Summit Taipei 2019 - Agile Testing StrategyAgile Summit Taipei 2019 - Agile Testing Strategy
Agile Summit Taipei 2019 - Agile Testing StrategyJen-Chieh Ko
 
Agile HR at Titansoft
Agile HR at TitansoftAgile HR at Titansoft
Agile HR at TitansoftJen-Chieh Ko
 
From zero to one - How we evolved our test automation processes and mindset i...
From zero to one - How we evolved our test automation processes and mindset i...From zero to one - How we evolved our test automation processes and mindset i...
From zero to one - How we evolved our test automation processes and mindset i...Jen-Chieh Ko
 
Experience sharing-in-scrum
Experience sharing-in-scrumExperience sharing-in-scrum
Experience sharing-in-scrumJen-Chieh Ko
 

Más de Jen-Chieh Ko (20)

RSG Taipei 2023 LeSS Design Principles
RSG Taipei 2023 LeSS Design PrinciplesRSG Taipei 2023 LeSS Design Principles
RSG Taipei 2023 LeSS Design Principles
 
Practical Testing Strategy for Agile Team
Practical Testing Strategy for Agile TeamPractical Testing Strategy for Agile Team
Practical Testing Strategy for Agile Team
 
O.R.I.D 初探 - 新竹敏捷分享.pdf
O.R.I.D 初探 - 新竹敏捷分享.pdfO.R.I.D 初探 - 新竹敏捷分享.pdf
O.R.I.D 初探 - 新竹敏捷分享.pdf
 
2021 台灣軟體測試現狀調查
2021 台灣軟體測試現狀調查2021 台灣軟體測試現狀調查
2021 台灣軟體測試現狀調查
 
Agile summit2021 - Talk About Exploratory Testing
Agile summit2021 - Talk About Exploratory TestingAgile summit2021 - Talk About Exploratory Testing
Agile summit2021 - Talk About Exploratory Testing
 
Stop Retrospective, Start Continuous Improving
Stop Retrospective, Start Continuous ImprovingStop Retrospective, Start Continuous Improving
Stop Retrospective, Start Continuous Improving
 
Mopcon 2021 Scrum 是新的死亡行軍嗎?
Mopcon 2021   Scrum 是新的死亡行軍嗎?Mopcon 2021   Scrum 是新的死亡行軍嗎?
Mopcon 2021 Scrum 是新的死亡行軍嗎?
 
啟動敏捷轉型的工具箱
啟動敏捷轉型的工具箱啟動敏捷轉型的工具箱
啟動敏捷轉型的工具箱
 
Exploratory testing survey in 2020
Exploratory testing survey in 2020Exploratory testing survey in 2020
Exploratory testing survey in 2020
 
如何把看板和 Scrum 發揮到極致
如何把看板和 Scrum 發揮到極致如何把看板和 Scrum 發揮到極致
如何把看板和 Scrum 發揮到極致
 
Agile Hsinchu 七月線上聚會: 我的教練旅程
Agile Hsinchu 七月線上聚會: 我的教練旅程Agile Hsinchu 七月線上聚會: 我的教練旅程
Agile Hsinchu 七月線上聚會: 我的教練旅程
 
The right It : How to make your assumption - Agile HsinChu 2020 Mar Gathering
The right It : How to make your assumption - Agile HsinChu 2020 Mar GatheringThe right It : How to make your assumption - Agile HsinChu 2020 Mar Gathering
The right It : How to make your assumption - Agile HsinChu 2020 Mar Gathering
 
Agile tourhsinchushare踩過的scrum event坑
Agile tourhsinchushare踩過的scrum event坑Agile tourhsinchushare踩過的scrum event坑
Agile tourhsinchushare踩過的scrum event坑
 
Design sprint experience at Trend Micro
Design sprint experience at Trend MicroDesign sprint experience at Trend Micro
Design sprint experience at Trend Micro
 
Design sprint sharing of DS team
Design sprint sharing of DS team Design sprint sharing of DS team
Design sprint sharing of DS team
 
Beer game-public
Beer game-publicBeer game-public
Beer game-public
 
Agile Summit Taipei 2019 - Agile Testing Strategy
Agile Summit Taipei 2019 - Agile Testing StrategyAgile Summit Taipei 2019 - Agile Testing Strategy
Agile Summit Taipei 2019 - Agile Testing Strategy
 
Agile HR at Titansoft
Agile HR at TitansoftAgile HR at Titansoft
Agile HR at Titansoft
 
From zero to one - How we evolved our test automation processes and mindset i...
From zero to one - How we evolved our test automation processes and mindset i...From zero to one - How we evolved our test automation processes and mindset i...
From zero to one - How we evolved our test automation processes and mindset i...
 
Experience sharing-in-scrum
Experience sharing-in-scrumExperience sharing-in-scrum
Experience sharing-in-scrum
 

Último

Clinical Pharmacy Introduction to Clinical Pharmacy, Concept of clinical pptx
Clinical Pharmacy  Introduction to Clinical Pharmacy, Concept of clinical pptxClinical Pharmacy  Introduction to Clinical Pharmacy, Concept of clinical pptx
Clinical Pharmacy Introduction to Clinical Pharmacy, Concept of clinical pptxraviapr7
 
P4C x ELT = P4ELT: Its Theoretical Background (Kanazawa, 2024 March).pdf
P4C x ELT = P4ELT: Its Theoretical Background (Kanazawa, 2024 March).pdfP4C x ELT = P4ELT: Its Theoretical Background (Kanazawa, 2024 March).pdf
P4C x ELT = P4ELT: Its Theoretical Background (Kanazawa, 2024 March).pdfYu Kanazawa / Osaka University
 
How to Add Existing Field in One2Many Tree View in Odoo 17
How to Add Existing Field in One2Many Tree View in Odoo 17How to Add Existing Field in One2Many Tree View in Odoo 17
How to Add Existing Field in One2Many Tree View in Odoo 17Celine George
 
The Stolen Bacillus by Herbert George Wells
The Stolen Bacillus by Herbert George WellsThe Stolen Bacillus by Herbert George Wells
The Stolen Bacillus by Herbert George WellsEugene Lysak
 
How to Show Error_Warning Messages in Odoo 17
How to Show Error_Warning Messages in Odoo 17How to Show Error_Warning Messages in Odoo 17
How to Show Error_Warning Messages in Odoo 17Celine George
 
HED Office Sohayok Exam Question Solution 2023.pdf
HED Office Sohayok Exam Question Solution 2023.pdfHED Office Sohayok Exam Question Solution 2023.pdf
HED Office Sohayok Exam Question Solution 2023.pdfMohonDas
 
General views of Histopathology and step
General views of Histopathology and stepGeneral views of Histopathology and step
General views of Histopathology and stepobaje godwin sunday
 
UKCGE Parental Leave Discussion March 2024
UKCGE Parental Leave Discussion March 2024UKCGE Parental Leave Discussion March 2024
UKCGE Parental Leave Discussion March 2024UKCGE
 
CapTechU Doctoral Presentation -March 2024 slides.pptx
CapTechU Doctoral Presentation -March 2024 slides.pptxCapTechU Doctoral Presentation -March 2024 slides.pptx
CapTechU Doctoral Presentation -March 2024 slides.pptxCapitolTechU
 
Ultra structure and life cycle of Plasmodium.pptx
Ultra structure and life cycle of Plasmodium.pptxUltra structure and life cycle of Plasmodium.pptx
Ultra structure and life cycle of Plasmodium.pptxDr. Asif Anas
 
Maximizing Impact_ Nonprofit Website Planning, Budgeting, and Design.pdf
Maximizing Impact_ Nonprofit Website Planning, Budgeting, and Design.pdfMaximizing Impact_ Nonprofit Website Planning, Budgeting, and Design.pdf
Maximizing Impact_ Nonprofit Website Planning, Budgeting, and Design.pdfTechSoup
 
How to Manage Cross-Selling in Odoo 17 Sales
How to Manage Cross-Selling in Odoo 17 SalesHow to Manage Cross-Selling in Odoo 17 Sales
How to Manage Cross-Selling in Odoo 17 SalesCeline George
 
Benefits & Challenges of Inclusive Education
Benefits & Challenges of Inclusive EducationBenefits & Challenges of Inclusive Education
Benefits & Challenges of Inclusive EducationMJDuyan
 
PISA-VET launch_El Iza Mohamedou_19 March 2024.pptx
PISA-VET launch_El Iza Mohamedou_19 March 2024.pptxPISA-VET launch_El Iza Mohamedou_19 March 2024.pptx
PISA-VET launch_El Iza Mohamedou_19 March 2024.pptxEduSkills OECD
 
Education and training program in the hospital APR.pptx
Education and training program in the hospital APR.pptxEducation and training program in the hospital APR.pptx
Education and training program in the hospital APR.pptxraviapr7
 
Practical Research 1 Lesson 9 Scope and delimitation.pptx
Practical Research 1 Lesson 9 Scope and delimitation.pptxPractical Research 1 Lesson 9 Scope and delimitation.pptx
Practical Research 1 Lesson 9 Scope and delimitation.pptxKatherine Villaluna
 
Presentation on the Basics of Writing. Writing a Paragraph
Presentation on the Basics of Writing. Writing a ParagraphPresentation on the Basics of Writing. Writing a Paragraph
Presentation on the Basics of Writing. Writing a ParagraphNetziValdelomar1
 
How to Make a Field read-only in Odoo 17
How to Make a Field read-only in Odoo 17How to Make a Field read-only in Odoo 17
How to Make a Field read-only in Odoo 17Celine George
 
CAULIFLOWER BREEDING 1 Parmar pptx
CAULIFLOWER BREEDING 1 Parmar pptxCAULIFLOWER BREEDING 1 Parmar pptx
CAULIFLOWER BREEDING 1 Parmar pptxSaurabhParmar42
 
5 charts on South Africa as a source country for international student recrui...
5 charts on South Africa as a source country for international student recrui...5 charts on South Africa as a source country for international student recrui...
5 charts on South Africa as a source country for international student recrui...CaraSkikne1
 

Último (20)

Clinical Pharmacy Introduction to Clinical Pharmacy, Concept of clinical pptx
Clinical Pharmacy  Introduction to Clinical Pharmacy, Concept of clinical pptxClinical Pharmacy  Introduction to Clinical Pharmacy, Concept of clinical pptx
Clinical Pharmacy Introduction to Clinical Pharmacy, Concept of clinical pptx
 
P4C x ELT = P4ELT: Its Theoretical Background (Kanazawa, 2024 March).pdf
P4C x ELT = P4ELT: Its Theoretical Background (Kanazawa, 2024 March).pdfP4C x ELT = P4ELT: Its Theoretical Background (Kanazawa, 2024 March).pdf
P4C x ELT = P4ELT: Its Theoretical Background (Kanazawa, 2024 March).pdf
 
How to Add Existing Field in One2Many Tree View in Odoo 17
How to Add Existing Field in One2Many Tree View in Odoo 17How to Add Existing Field in One2Many Tree View in Odoo 17
How to Add Existing Field in One2Many Tree View in Odoo 17
 
The Stolen Bacillus by Herbert George Wells
The Stolen Bacillus by Herbert George WellsThe Stolen Bacillus by Herbert George Wells
The Stolen Bacillus by Herbert George Wells
 
How to Show Error_Warning Messages in Odoo 17
How to Show Error_Warning Messages in Odoo 17How to Show Error_Warning Messages in Odoo 17
How to Show Error_Warning Messages in Odoo 17
 
HED Office Sohayok Exam Question Solution 2023.pdf
HED Office Sohayok Exam Question Solution 2023.pdfHED Office Sohayok Exam Question Solution 2023.pdf
HED Office Sohayok Exam Question Solution 2023.pdf
 
General views of Histopathology and step
General views of Histopathology and stepGeneral views of Histopathology and step
General views of Histopathology and step
 
UKCGE Parental Leave Discussion March 2024
UKCGE Parental Leave Discussion March 2024UKCGE Parental Leave Discussion March 2024
UKCGE Parental Leave Discussion March 2024
 
CapTechU Doctoral Presentation -March 2024 slides.pptx
CapTechU Doctoral Presentation -March 2024 slides.pptxCapTechU Doctoral Presentation -March 2024 slides.pptx
CapTechU Doctoral Presentation -March 2024 slides.pptx
 
Ultra structure and life cycle of Plasmodium.pptx
Ultra structure and life cycle of Plasmodium.pptxUltra structure and life cycle of Plasmodium.pptx
Ultra structure and life cycle of Plasmodium.pptx
 
Maximizing Impact_ Nonprofit Website Planning, Budgeting, and Design.pdf
Maximizing Impact_ Nonprofit Website Planning, Budgeting, and Design.pdfMaximizing Impact_ Nonprofit Website Planning, Budgeting, and Design.pdf
Maximizing Impact_ Nonprofit Website Planning, Budgeting, and Design.pdf
 
How to Manage Cross-Selling in Odoo 17 Sales
How to Manage Cross-Selling in Odoo 17 SalesHow to Manage Cross-Selling in Odoo 17 Sales
How to Manage Cross-Selling in Odoo 17 Sales
 
Benefits & Challenges of Inclusive Education
Benefits & Challenges of Inclusive EducationBenefits & Challenges of Inclusive Education
Benefits & Challenges of Inclusive Education
 
PISA-VET launch_El Iza Mohamedou_19 March 2024.pptx
PISA-VET launch_El Iza Mohamedou_19 March 2024.pptxPISA-VET launch_El Iza Mohamedou_19 March 2024.pptx
PISA-VET launch_El Iza Mohamedou_19 March 2024.pptx
 
Education and training program in the hospital APR.pptx
Education and training program in the hospital APR.pptxEducation and training program in the hospital APR.pptx
Education and training program in the hospital APR.pptx
 
Practical Research 1 Lesson 9 Scope and delimitation.pptx
Practical Research 1 Lesson 9 Scope and delimitation.pptxPractical Research 1 Lesson 9 Scope and delimitation.pptx
Practical Research 1 Lesson 9 Scope and delimitation.pptx
 
Presentation on the Basics of Writing. Writing a Paragraph
Presentation on the Basics of Writing. Writing a ParagraphPresentation on the Basics of Writing. Writing a Paragraph
Presentation on the Basics of Writing. Writing a Paragraph
 
How to Make a Field read-only in Odoo 17
How to Make a Field read-only in Odoo 17How to Make a Field read-only in Odoo 17
How to Make a Field read-only in Odoo 17
 
CAULIFLOWER BREEDING 1 Parmar pptx
CAULIFLOWER BREEDING 1 Parmar pptxCAULIFLOWER BREEDING 1 Parmar pptx
CAULIFLOWER BREEDING 1 Parmar pptx
 
5 charts on South Africa as a source country for international student recrui...
5 charts on South Africa as a source country for international student recrui...5 charts on South Africa as a source country for international student recrui...
5 charts on South Africa as a source country for international student recrui...
 

Container and Test Automation Management Practices in TrendMicro

  • 1. © 2019 Trend Micro Inc.1 Container and Test Automation Management Practices in Trend Micro Larry Huang
  • 2. © 2019 Trend Micro Inc.2 Abstract • Introduction • CD Practice • TestRail and Auto Test Case Management – Test case auto sync – Auto test run creation • Container + k8s Practice – Benefits – CI/CD – Logging – Monitoring – Testing
  • 3. © 2019 Trend Micro Inc.3 Self Introduction • Larry Huang – Experience • Dev • QA – Trend Micro PLS • Lepus team
  • 4. © 2019 Trend Micro Inc.4 Lepus Team
  • 5. © 2019 Trend Micro Inc.5 Service by Our Team • Web Services – API – Frontend – Backend
  • 6. © 2019 Trend Micro Inc.6 QA Routine • Testing • Case Support • Deployment – QA (inner integration) – Beta (external integration) – Stage (external integration) – Production
  • 7. © 2019 Trend Micro Inc.7 Deployment Tool - Octopus  Process control pipeline  Permission control  Project dashboard  Variable management  Plugins  Cross Platform  GUI
  • 8. © 2019 Trend Micro Inc.8 Deployment Tool - Octopus • Octopus Process – target selection – env selection • Common Steps – API or DB connection – Deploy – DVT Test – Teardown
  • 9. © 2019 Trend Micro Inc.9 Configuration Deployment • Frequent configuration update request • Independent deploy process • Light weight – Less effort for Dev and QA
  • 10. © 2019 Trend Micro Inc.10 TestRail and Automation Test Integration
  • 11. © 2019 Trend Micro Inc.11 TestRail • Case management • Test report
  • 12. © 2019 Trend Micro Inc.12 Automation Testing Framework • Robot Framework – Python Based – Keyword – Tags for filtering • Case category • TestRail Case id
  • 13. © 2019 Trend Micro Inc.13
  • 14. © 2019 Trend Micro Inc.14 Case Synchronization On git change
  • 15. © 2019 Trend Micro Inc.15 Case Synchronization TestRail Section Path Case ID
  • 16. © 2019 Trend Micro Inc.16 Case Synchronization • Sync target – Case Title – Case ID – Customized Attributes • Sync options – direction (From robot or TestRail) – mode (Create or delete cases if not existed)
  • 17. © 2019 Trend Micro Inc.17 Case Skeleton Creation • Generate a robot file with the skeletons of the test cases – Title – ID, customized attributes – Steps as comments – Force Fail
  • 18. © 2019 Trend Micro Inc.18 Auto Test Plan (Run) • Test report before going production
  • 19. © 2019 Trend Micro Inc.19 Auto Test Run Create Test Plan Create Test Run Update Test Results
  • 20. © 2019 Trend Micro Inc.20 Container + k8s Practice
  • 21. Before Containerization Load Balancer Machine 1 Machine 2 Machine 4Machine 3 Load Balancer Machine 1 Machine 2 Machine 4Machine 3 Tech Operator
  • 22. © 2019 Trend Micro Inc.22 Before Containerization • Server Provision 1 or 2 weeks later … Request for new server Tech Operator CentOS 7 Python 3.6 Python 2.7 ?
  • 23. © 2019 Trend Micro Inc.23 Containerization • Infra as code Service A Service B Service C YAML Files
  • 24. © 2019 Trend Micro Inc.24 Deployment Requirements
  • 25. © 2019 Trend Micro Inc.25 Before Containerization • Rolling Update – Old and new version might be published in the same time – Bind and Unbind – Time consuming Tech Operator QA Please unbind machine group 1 Group 1 has been unbound 3 min later … QA Deploy and test group 1 … Please bind machine group 1 Group 1 has been bound 3 min later … …
  • 26. © 2019 Trend Micro Inc.26 Containerization • Blue Green Deployment – Time Saving • Switching pod selector – Easy to recover • Scale up/down pod replica k8s service pod selector Replica = 2 Replica = 0
  • 27. © 2019 Trend Micro Inc.27 Before Containerization • Single Point Test – Every machine needs to be checked individually
  • 28. © 2019 Trend Micro Inc.28 Containerization • No need for Single Point Test – All pods are replicas • k8s Configmap – Light weight deploy – Central Management • Only one replica Configmap A
  • 29. © 2019 Trend Micro Inc.29 Containerization • Auto Scaling • Health Assurance k8s deployment Replica = 4 Running RunningRunning Exit Container Creating
  • 30. © 2019 Trend Micro Inc.30 Containerization • Service / Machine – Microservice Friendly – Light way deployment – Cost down (10 -> 2 nodes) Service A Service B Service C Standby
  • 31. © 2019 Trend Micro Inc.31 • Each environment needs individual Cname Before Containerization service-stage.trendmicro.comservice-beta.trendmicro.com Service A Service B Service C Service A Service B Service C
  • 32. © 2019 Trend Micro Inc.32 • Ingress – No need to build individual k8s for every environment – Services are mapped by routes • Dev/QA • Beta/Stage • Production Containerization service-test.iam.trend.com /beta/login/ /stage/login/
  • 33. © 2019 Trend Micro Inc.33 k8s Secrets • sensitive data
  • 34. © 2019 Trend Micro Inc.34 CI Flow • CI – Docker Image • Product Image = Base Image + App Image • Base Image – OS – System Library • App Image – Source Code – App Library – Version control Base Product
  • 35. © 2019 Trend Micro Inc.35 Deployment Process Environment Check Create pods to test connection to external services (DB, API, …) Blue (Green) Deploy DVT Test Pod Switch
  • 36. © 2019 Trend Micro Inc.36 CD Environment • Dev/QA – k8s • Beta/Stage – AWS EKS • Production – AWS EKS • Any k8s compatible environment can be deployed
  • 37. © 2019 Trend Micro Inc.37 Lesson Learn • Node Selection – Connection super slow VPN
  • 38. © 2019 Trend Micro Inc.38 • Replica or Deployment – RestartPolicy: Always • Job – RestartPolicy: OnFailure or Never Lesson Learn
  • 39. © 2019 Trend Micro Inc.39 • (App configuration + Deployment yaml) * service * env • Solution – Config change review Lesson Learn YAML Files
  • 40. © 2019 Trend Micro Inc.40 Logging • Log cannot not be preserved in container • EKS (Beta to Production): Gray Log • K8s (Dev/QA): – Mount log folder on k8s Volumes – Cronjob sync to NAS K8s volume App cronjob
  • 41. © 2019 Trend Micro Inc.41 Monitoring • Monitis – E2E case • User scenario • Response time
  • 42. © 2019 Trend Micro Inc.42 Monitoring • Prometheus + Grafana – Resource • CPU • Memory • Pod Restart Count – Slack Channel Integration • Warning • Recovering
  • 43. © 2019 Trend Micro Inc.43 Monitoring
  • 45. © 2019 Trend Micro Inc.45 • Three environments to maintain • Shared by multiple teams – Computing Resources – Libraries – Browser Test using Traditional Way Test Client 1 Test Client 2 Test Client 3
  • 46. © 2019 Trend Micro Inc.46 • Dockerfile tells everything – Easy to replicate • No worry about resource dependency • Python migration to 3 • Selenium Grid Enabled Test in Container
  • 47. © 2019 Trend Micro Inc.47 Selenium Grid 74 73 • Parallel Test
  • 48. © 2019 Trend Micro Inc.48 Summary • YAML: code as infrastructure • Replica: HA, Auto Scaling • Ingress: Routing mapping service • Pod Selection: Blue Green Deploy • Volume: Log preservation • Prometheus + Grafana: Monitoring • Test in Container
  • 49. © 2019 Trend Micro Inc.49 Thank You

Notas del editor

  1. 傳統文化Dev QA壁壘分明 Dev QA會一起cowork 想test case 或者QA有能力也可以協助開發
  2. QA 和 DEV 壁壘分明 DEV 不准碰 qa以上的環境 缺點?
  3. 某個project外部整合 頻繁且小的更動 Dev不需開branch QA可以縮小測試範圍
  4. 工程師懶惰或忘記只改一邊 新人看不懂
  5. 人工去create test plan or test run
  6. 獨立機器 單點測試 手動hotfix 一台一台去fix
  7. 測FQDN下課
  8. 按照之前的邏輯 Dev QA Beta Stage要額外一個k8s
  9. Routing 對應 k8s service http service可以掛在同一個domain下面
  10. Base image可以重複利用for不同的專案
  11. 要注意你container的restart policy Pending的原因
  12. 比起health check更能知道目前系統的瓶頸 設定SLI 我們可以了解user在任何時刻的使用上的感受度