- Tác giả

- Name
- Nguyễn Đức Xinh
- Ngày xuất bản
- Ngày xuất bản
AWS Application Discovery Service — Công Cụ Scan Hệ Thống On-Premises Trước Khi Migration Lên AWS
Giới Thiệu
Khi doanh nghiệp muốn migration hệ thống lên AWS (bao gồm server, database, ứng dụng, storage…), bước quan trọng đầu tiên là phải hiểu rõ toàn bộ hạ tầng hiện tại.
- Có bao nhiêu server?
- Server đó đang chạy ứng dụng gì?
- Mức sử dụng CPU/RAM/Disk như thế nào?
- Ứng dụng phụ thuộc service/trình nền nào?
- Database nằm ở đâu?
- Ứng dụng A có đang kết nối đến server B/C?
Nếu không làm rõ được application dependency, migration có thể gây downtime hoặc ảnh hưởng dây chuyền.
Và công cụ giải quyết vấn đề này chính là: AWS Application Discovery Service
1. AWS Application Discovery Service Là Gì?
AWS Application Discovery Service giúp doanh nghiệp tự động thu thập thông tin từ hệ thống on-premises:
- Tài nguyên phần cứng
- Cấu hình server
- Hệ điều hành
- Port, process, service đang chạy
- Connection, network traffic
- Dependency giữa ứng dụng
- Hiệu năng (CPU, RAM, Disk, Network)
- Dữ liệu inventory của hạ tầng
Nó là công cụ chuẩn và được khuyến nghị trước khi thực hiện:
- Lift-and-shift bằng AWS MGN
- Database migration bằng DMS
- Re-host / Re-platform
- Lập kế hoạch migration quy mô lớn (50–500 server)
2. Tại Sao Cần Sử Dụng Application Discovery Service?
✔️ 1. Giảm rủi ro khi migrate
Không phải ứng dụng nào cũng tách biệt. Một hệ thống on-prem thường có:
- Backend → Database
- API → Authentication server
- App server → File server
- Batch job → Legacy system
Nếu migrate sai thứ tự, bạn có thể gây downtime hoặc lỗi không xác định.
AWS ADS giúp nhìn rõ dependency map, đảm bảo ứng dụng được migrate theo thứ tự chính xác.
✔️ 2. Lập kế hoạch capacity đúng với nhu cầu thực tế
Bạn có thể dựa vào tài liệu cũ, nhưng nhiều server đã:
- Over-provision
- Under-utilized
- Chạy nhưng không còn dùng (dangling resources)
ADS cung cấp số liệu như:
- CPU average
- RAM sử dụng thực tế
- Disk IOPS
- Network throughput
Điều này giúp bạn chọn đúng EC2 instance type mà không lãng phí tiền.
✔️ 3. Giảm thời gian inventory thủ công
Trước đây, đội IT phải:
- Excel ghi chép từng server
- SSH/RDP mỗi máy để lấy cấu hình
- Tự check app đang chạy
- Mapping dependency bằng cách hỏi từng team
Application Discovery Service giúp tự động hóa 80–90% công việc.
3. Cách Hoạt Động Của AWS Application Discovery Service
AWS ADS có 2 chế độ thu thập dữ liệu:
⭐ 3.1 Agent-based Discovery
Cài agent lên từng server:
- Windows
- Linux
Thu thập chi tiết nhất:
- Process
- Service
- Network connection
- Port
- Application dependency
- Performance metrics (1,5, 60 minutes)
→ Phù hợp khi bạn cần dependency mapping chính xác.
⭐ 3.2 Agentless Discovery (dùng VMware Collector Appliance)
Không cần cài agent. Dùng 1 appliance kết nối với vCenter để quét:
- VM hardware summary
- CPU/RAM/Disk usage
- Network
- Host configuration
Không thu thập được application/process dependency nhưng cực nhanh trong môi trường VMware.
4. Những Loại Dữ Liệu Mà ADS Thu Thập
✔️ Thông tin hạ tầng (Hardware Metadata)
- CPU, RAM, Disk
- Interface
- OS version
- Hostname
- Installed applications
- Running services
✔️ Thông tin hiệu năng (Utilization Data)
- CPU load
- Memory usage
- Disk I/O
- Network I/O
✔️ Application Dependency
- Ứng dụng nào kết nối đến đâu
- Port sử dụng
- Server nào liên hệ với server nào
- Pattern giao tiếp giữa services
✔️ Network Mapping
- Top 10 inbound connections
- Top 10 outbound connections
- Thời lượng và tần suất kết nối
5. Kiến Trúc AWS Application Discovery Service
Bước 1: Cài agent / appliance Bước 2: Thu thập dữ liệu (tự động) Bước 3: Đồng bộ lên AWS ADS Bước 4: Xem trong AWS Migration Hub Bước 5: Xuất dữ liệu ra CSV hoặc đưa vào Migration Assistant
6. Tích Hợp Tuyệt Vời Nhất: Migration Hub
Application Discovery Service không có giao diện standalone.
Tất cả dữ liệu được xem và truy vấn qua:
👉 AWS Migration Hub
Ở đó bạn có thể:
- Xem danh sách server
- Xem ứng dụng
- Xem dependency map
- Gom nhóm thành hệ thống microservice / monolith / tier
- Lên kế hoạch batch migration
7. Use Cases Thực Tế
🎯 1. Migrate 300 server từ datacenter lên AWS
- Dùng agent-based để phân tích dependency
- Gom nhóm theo hệ thống
- Lên kế hoạch cutover theo batch
- Migration theo thứ tự không gây downtime
🎯 2. Chuẩn hóa tài nguyên để tối ưu chi phí sau migration
Dựa trên real-time CPU/RAM usage:
- Server 16 CPU / 32GB RAM → Nhưng sử dụng chỉ 15% → Chọn m5.large là đủ → tiết kiệm 80% chi phí
🎯 3. Phân tích ứng dụng cũ để hiện đại hóa (Refactor hoặc Re-platform)
- Xác định service nhỏ bên trong monolith
- Tách sang ECS/EKS/Lambda
- Biết chính xác chức năng nào nói chuyện với chức năng nào
8. Ưu và Nhược Điểm
✔️ Ưu điểm
- Thu thập dữ liệu tự động
- Dependency mapping rõ ràng
- Tích hợp trực tiếp Migration Hub
- Hoạt động ổn với hạ tầng lớn
- Hỗ trợ cả agent-based và agentless
❌ Nhược điểm
- Không thu thập sâu trong agentless mode
- Cần quyền cao để cài agent
- Không phân tích ứng dụng ở tầng code (chỉ process level)
9. Khi Nào Nên Dùng AWS Application Discovery Service?
Bạn nên dùng khi:
- Chuẩn bị migrate số lượng server từ 20 trở lên
- Hạ tầng phức tạp, nhiều ứng dụng phụ thuộc
- Cần phân nhóm ứng dụng cho migration batch
- Cần biết hệ thống đang chạy cái gì
- Muốn optimize tài nguyên để tiết kiệm chi phí
10. Khi Nào Không Cần Dùng?
Bạn có thể bỏ qua ADS nếu:
- ❌ Hệ thống nhỏ (<5 server)
- ❌ Bạn chỉ migrate static website hoặc microservice đơn giản
- ❌ Ứng dụng không có dependency phức tạp
11. Kết Luận
AWS Application Discovery Service là bước quan trọng nhất trong hành trình Migration nhưng thường bị bỏ qua.
Nó giúp:
- Hiểu hệ thống on-prem một cách chính xác
- Tự động hóa việc thu thập thông tin
- Lập kế hoạch migration thông minh
- Giảm rủi ro, giảm downtime
- Tiết kiệm chi phí hạ tầng sau khi migrate
