blog-blueprint 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/BlueprintTemplate/.editorconfig +17 -0
  2. package/BlueprintTemplate/.gitlab-ci.yml +34 -0
  3. package/BlueprintTemplate/DESIGN.txt +37 -0
  4. package/BlueprintTemplate/README.md +78 -0
  5. package/BlueprintTemplate/angular.json +101 -0
  6. package/BlueprintTemplate/gitignore +42 -0
  7. package/BlueprintTemplate/package.json +58 -0
  8. package/BlueprintTemplate/public/assets/lessons/aws/aws-overview.md +139 -0
  9. package/BlueprintTemplate/public/assets/lessons/core/aws-aurora-guide.md +181 -0
  10. package/BlueprintTemplate/public/assets/lessons/core/aws-dynamodb-guide.md +139 -0
  11. package/BlueprintTemplate/public/assets/lessons/core/aws-ec2-guide.md +152 -0
  12. package/BlueprintTemplate/public/assets/lessons/core/aws-eventbridge-guide.md +152 -0
  13. package/BlueprintTemplate/public/assets/lessons/core/aws-iam-guide.md +132 -0
  14. package/BlueprintTemplate/public/assets/lessons/core/aws-lambda-guide.md +129 -0
  15. package/BlueprintTemplate/public/assets/lessons/core/aws-rds-guide.md +193 -0
  16. package/BlueprintTemplate/public/assets/lessons/core/aws-s3-guide.md +158 -0
  17. package/BlueprintTemplate/public/assets/lessons/core/aws-sns-guide.md +163 -0
  18. package/BlueprintTemplate/public/assets/lessons/core/aws-sqs-guide.md +173 -0
  19. package/BlueprintTemplate/public/assets/lessons/core/aws-vpc-guide.md +145 -0
  20. package/BlueprintTemplate/public/assets/lessons/groups/aws-application-integration-overview.md +194 -0
  21. package/BlueprintTemplate/public/assets/lessons/groups/aws-compute-architecture-overview.md +187 -0
  22. package/BlueprintTemplate/public/assets/lessons/groups/aws-database-architecture.md +104 -0
  23. package/BlueprintTemplate/public/assets/lessons/groups/aws-networking-architecture.md +97 -0
  24. package/BlueprintTemplate/public/assets/lessons/groups/aws-security-architecture.md +88 -0
  25. package/BlueprintTemplate/public/assets/lessons/groups/aws-storage-architecture.md +116 -0
  26. package/BlueprintTemplate/public/assets/lessons/index.json +202 -0
  27. package/BlueprintTemplate/public/assets/lessons/theory/aws-caching-strategy.md +61 -0
  28. package/BlueprintTemplate/public/assets/lessons/theory/aws-disaster-recovery-strategies.md +117 -0
  29. package/BlueprintTemplate/public/assets/lessons/theory/aws-event-driven-architecture.md +77 -0
  30. package/BlueprintTemplate/public/assets/lessons/theory/aws-ha-ft-scalability.md +98 -0
  31. package/BlueprintTemplate/public/assets/lessons/theory/aws-hybrid-cloud.md +82 -0
  32. package/BlueprintTemplate/public/assets/lessons/theory/aws-microservices-vs-monolithic.md +77 -0
  33. package/BlueprintTemplate/public/assets/lessons/theory/aws-well-architected-framework.md +174 -0
  34. package/BlueprintTemplate/public/favicon.ico +0 -0
  35. package/BlueprintTemplate/public/robots.txt +23 -0
  36. package/BlueprintTemplate/public/sitemap.xml +11 -0
  37. package/BlueprintTemplate/src/app/app.config.server.ts +12 -0
  38. package/BlueprintTemplate/src/app/app.config.ts +16 -0
  39. package/BlueprintTemplate/src/app/app.html +36 -0
  40. package/BlueprintTemplate/src/app/app.routes.server.ts +8 -0
  41. package/BlueprintTemplate/src/app/app.routes.ts +11 -0
  42. package/BlueprintTemplate/src/app/app.scss +71 -0
  43. package/BlueprintTemplate/src/app/app.ts +50 -0
  44. package/BlueprintTemplate/src/app/core/models/lesson.model.ts +8 -0
  45. package/BlueprintTemplate/src/app/core/services/lesson.service.ts +46 -0
  46. package/BlueprintTemplate/src/app/core/services/seo.service.ts +68 -0
  47. package/BlueprintTemplate/src/app/features/about/about.html +14 -0
  48. package/BlueprintTemplate/src/app/features/about/about.scss +4 -0
  49. package/BlueprintTemplate/src/app/features/about/about.ts +23 -0
  50. package/BlueprintTemplate/src/app/features/lesson-detail/lesson-detail.html +4 -0
  51. package/BlueprintTemplate/src/app/features/lesson-detail/lesson-detail.scss +0 -0
  52. package/BlueprintTemplate/src/app/features/lesson-detail/lesson-detail.ts +55 -0
  53. package/BlueprintTemplate/src/app/features/lesson-list/lesson-list.html +13 -0
  54. package/BlueprintTemplate/src/app/features/lesson-list/lesson-list.scss +0 -0
  55. package/BlueprintTemplate/src/app/features/lesson-list/lesson-list.ts +59 -0
  56. package/BlueprintTemplate/src/app/shared/facades/event-abstract.facade.ts +18 -0
  57. package/BlueprintTemplate/src/app/shared/facades/pages.facade.ts +55 -0
  58. package/BlueprintTemplate/src/app/shared/utils/common.utils.ts +3 -0
  59. package/BlueprintTemplate/src/index.html +35 -0
  60. package/BlueprintTemplate/src/main.server.ts.bak +7 -0
  61. package/BlueprintTemplate/src/main.ts +6 -0
  62. package/BlueprintTemplate/src/server.ts.bak +68 -0
  63. package/BlueprintTemplate/src/styles.scss +36 -0
  64. package/BlueprintTemplate/tsconfig.app.json +17 -0
  65. package/BlueprintTemplate/tsconfig.json +34 -0
  66. package/README.md +22 -0
  67. package/create.js +92 -0
  68. package/package.json +21 -0
@@ -0,0 +1,117 @@
1
+ # Chiến lược Disaster Recovery trên AWS: Hướng dẫn toàn diện cho SAA
2
+
3
+ Disaster Recovery (DR) là yếu tố quan trọng trong kiến trúc hệ thống để đảm bảo ứng dụng luôn sẵn sàng và dữ liệu không bị mất khi xảy ra sự cố. AWS cung cấp nhiều mô hình DR khác nhau, từ phương án tiết kiệm chi phí đến phương án full active-active. Bài viết này sẽ phân tích 4 chiến lược DR phổ biến trên AWS.
4
+
5
+ ---
6
+
7
+ ## 1. Backup & Restore
8
+
9
+ **Khái niệm:** Lưu trữ dữ liệu định kỳ để phục hồi thủ công khi sự cố xảy ra. Đây là phương án rẻ nhất nhưng chậm nhất.
10
+
11
+ **AWS Services:** S3, Glacier, RDS Snapshot, EBS Snapshot
12
+
13
+ **RTO:** Cao (phục hồi lâu)
14
+ **RPO:** Trung bình, tùy vào tần suất backup
15
+ **Chi phí:** Thấp nhất
16
+
17
+ **Khi nào dùng:**
18
+ - Ứng dụng không yêu cầu phục hồi nhanh
19
+ - Ưu tiên tiết kiệm chi phí
20
+
21
+ **Cách thực hiện:**
22
+ - Backup định kỳ, phục hồi khi cần
23
+ - Sử dụng S3 Cross-Region nếu muốn DR khác region
24
+
25
+ **Ví dụ trực quan:**
26
+ “Backup & Restore giống như có bản sao dữ liệu trong kho. Khi nhà cháy, bạn quay lại kho để lấy và xây lại nhà từ đầu. Rẻ, dễ làm, nhưng mất thời gian.”
27
+
28
+ ---
29
+
30
+ ## 2. Pilot Light
31
+
32
+ **Khái niệm:** Chạy sẵn phần lõi của hệ thống ở region dự phòng. Khi sự cố xảy ra, bật thêm các phần còn lại để khởi động nhanh hơn.
33
+
34
+ **AWS Services:**
35
+ - DynamoDB Global Table hoặc backup
36
+ - S3 replicated data
37
+ - Minimal EC2/ASG, AMI để launch khi DR
38
+
39
+ **RTO:** Khá thấp
40
+ **RPO:** Tốt
41
+ **Chi phí:** Thấp đến trung bình
42
+
43
+ **Khi nào dùng:**
44
+ - Cần phục hồi nhanh hơn Backup & Restore
45
+ - Muốn tiết kiệm chi phí nhưng vẫn có hệ thống chạy sẵn
46
+
47
+ **Cách thực hiện:**
48
+ - DB và message queue chạy sẵn
49
+ - App server chỉ khởi động khi DR xảy ra
50
+
51
+ **Ví dụ trực quan:**
52
+ “Pilot Light giống như để lửa mồi nhỏ trong bếp. Khi cần nấu ăn, bạn chỉ mở to lửa và nấu ngay. Vừa tiết kiệm gas vừa khởi động nhanh.”
53
+
54
+ ---
55
+
56
+ ## 3. Warm Standby
57
+
58
+ **Khái niệm:** Hệ thống chạy sẵn ở mức tối thiểu tại region dự phòng, failover gần như lập tức khi sự cố.
59
+
60
+ **AWS Services:**
61
+ - RDS read replica hoặc Multi-AZ + cross-region
62
+ - EC2 chạy ở low capacity
63
+ - ASG nhỏ, scale lên khi DR
64
+
65
+ **RTO:** Thấp
66
+ **RPO:** Thấp
67
+ **Chi phí:** Trung bình
68
+
69
+ **Khi nào dùng:**
70
+ - Muốn DR nhanh
71
+ - Không cần full active-active
72
+
73
+ **Cách thực hiện:**
74
+ - Toàn bộ ứng dụng chạy sẵn nhưng ở capacity nhỏ
75
+ - Khi DR xảy ra → route traffic qua region dự phòng → scale lên
76
+
77
+ **Ví dụ trực quan:**
78
+ “Warm Standby giống như quán ăn mở cửa nhưng chỉ để vài bàn. Khi khách đông, bạn mở thêm bàn và phục vụ đầy đủ ngay.”
79
+
80
+ ---
81
+
82
+ ## 4. Multi-Site / Active–Active
83
+
84
+ **Khái niệm:** Hai region chạy full công suất cùng lúc. Nếu một bên lỗi, traffic tự chuyển ngay lập tức.
85
+
86
+ **AWS Services:**
87
+ - Route 53 latency/geo routing
88
+ - DynamoDB Global Tables
89
+ - Aurora Global Database
90
+ - S3 CRR
91
+
92
+ **RTO:** Gần như 0
93
+ **RPO:** Gần như 0
94
+ **Chi phí:** Cao nhất
95
+
96
+ **Khi nào dùng:**
97
+ - Ứng dụng yêu cầu luôn luôn hoạt động
98
+ - SLAs rất cao
99
+
100
+ **Cách thực hiện:**
101
+ - Deploy toàn bộ hệ thống ở cả 2 region
102
+ - Cả 2 region phục vụ người dùng song song
103
+ - Route 53 điều phối traffic
104
+
105
+ **Ví dụ trực quan:**
106
+ “Multi-Site giống như 2 cửa hàng mở cùng lúc. Nếu 1 cửa đóng, khách vẫn còn cửa bên kia. Rất an toàn nhưng tốn tiền nhất.”
107
+
108
+ ---
109
+
110
+ ## 5. Bảng so sánh nhanh
111
+
112
+ | Strategy | RTO | RPO | Chi phí | Tốc độ phục hồi | Mô tả trực quan |
113
+ |------------------------|------------|------------|---------------|----------------|-----------------------------------------|
114
+ | Backup & Restore | Cao | Trung bình | Thấp | Chậm | Nhà cháy → xây lại từ bản sao dữ liệu |
115
+ | Pilot Light | Trung bình | Thấp | Thấp–TB | Nhanh vừa | Lửa mồi → bật to là chạy |
116
+ | Warm Standby | Thấp | Thấp | Trung bình | Rất nhanh | Quán mở sẵn vài bàn |
117
+ | Multi-Site Active-Active | Gần như 0 | Gần như 0 | Cao nhất | Nhanh nhất | Hai cửa hàng mở full |
@@ -0,0 +1,77 @@
1
+ # Kiến trúc Event-Driven trên AWS: Hướng dẫn toàn diện cho SAA
2
+
3
+ Event-Driven Architecture (EDA) là mô hình kiến trúc ứng dụng dựa trên sự kiện, giúp hệ thống **decoupled, scalable và fault-tolerant**. Khi một sự kiện xảy ra, nó được đẩy vào router và các consumer xử lý tương ứng. Bài viết này phân tích chi tiết các thành phần và pattern quan trọng của EDA trên AWS.
4
+
5
+ ---
6
+
7
+ ## 1. Event Producers
8
+
9
+ **Khái niệm:** Là nơi phát sinh sự kiện.
10
+
11
+ **Các dịch vụ AWS:**
12
+ - **Applications:** Backend tạo event khi user hành động, ví dụ: `OrderCreated`, `UserSignedUp`.
13
+ - **Lambda:** Chạy xong publish event lên EventBridge.
14
+ - **IoT Core:** Gửi sensor data (nhiệt độ, GPS…) vào pipeline.
15
+ - **Kinesis (Producer):** App push streaming data như log, clickstream, IoT, metrics.
16
+
17
+ **Mục đích:** Producers tạo thông báo về các hành động, dữ liệu hoặc trạng thái mới trong hệ thống để consumer có thể xử lý.
18
+
19
+ ---
20
+
21
+ ## 2. Event Routers
22
+
23
+ **Khái niệm:** Thành phần trung gian chuyển tiếp sự kiện đến các consumer.
24
+
25
+ **Các dịch vụ AWS:**
26
+ - **EventBridge:** Rule-based routing, lọc event, đổi định dạng, gửi đến target, hỗ trợ SaaS integrations.
27
+ - **SNS (Pub/Sub):** Fan-out, push notifications tới nhiều hệ thống.
28
+ - **Kinesis Data Streams:** Stream data realtime, shard-based high throughput, consumer đọc theo thứ tự trong shard.
29
+ - **SQS:** Queue cho async decoupling, FIFO hoặc Standard, đảm bảo delivery, retry, DLQ.
30
+
31
+ **Mục đích:** Event routers quyết định event sẽ đi đâu, hỗ trợ phân phối, đảm bảo thứ tự và độ bền của dữ liệu.
32
+
33
+ ---
34
+
35
+ ## 3. Event Consumers
36
+
37
+ **Khái niệm:** Nơi xử lý sự kiện.
38
+
39
+ **Các dịch vụ AWS:**
40
+ - **Lambda:** Xử lý event nhỏ, logic nhẹ, auto-scale, zero admin.
41
+ - **Step Functions:** Orchestration nhiều bước, workflow dài.
42
+ - **ECS:** Xử lý event cần nhiều CPU/RAM, batch jobs, ML inference, heavy processing.
43
+
44
+ **Mục đích:** Consumers nhận nhiệm vụ từ producers thông qua router và thực thi logic xử lý, tính toán hoặc cập nhật dữ liệu.
45
+
46
+ ---
47
+
48
+ ## 4. Các Pattern Quan Trọng
49
+
50
+ ### Pub/Sub (Publish-Subscribe)
51
+ - SNS và EventBridge dùng mô hình này.
52
+ - Producer không biết consumer là ai, consumer đăng ký nhận event push.
53
+ - Ví dụ: “Giống như đăng ký nhận tin từ fanpage Facebook. Fanpage post bài → ai follow đều nhận.”
54
+
55
+ ### Fan-out Pattern
56
+ - Một event → đẩy đến nhiều consumer.
57
+ - Dùng SNS → SQS queues → Lambda/ECS.
58
+ - Giúp tách workflow, tránh coupling.
59
+ - Ví dụ: “Một tin gửi tới nhiều đích cùng lúc.”
60
+
61
+ ### FIFO Messaging
62
+ - SQS FIFO hoặc Kinesis giữ thứ tự + exactly-once delivery.
63
+ - Dùng khi thứ tự quan trọng (payment, trading).
64
+ - Ví dụ: “Xếp hàng mua vé, ai tới trước được phục vụ trước.”
65
+
66
+ ### Async Decoupling
67
+ - Producers gửi event mà không chờ consumer xử lý.
68
+ - SQS, Kinesis, SNS, EventBridge hỗ trợ.
69
+ - Tăng resilience và khả năng scale.
70
+ - Ví dụ: “Một cái hộp thư, bỏ thư vào → người nhận tới lúc nào cũng được.”
71
+
72
+ ### Event vs Message
73
+ - **Event:** Thông báo chuyện đã xảy ra, stateless, không mong đợi trả lời. Ví dụ: `OrderCreated`.
74
+ - **Message:** Nhiệm vụ cần xử lý, gửi trực tiếp đến một consumer. Ví dụ: `ProcessPayment(orderId)`.
75
+ - Điểm phân biệt quan trọng để thiết kế kiến trúc chính xác.
76
+
77
+ ---
@@ -0,0 +1,98 @@
1
+ # High Availability, Fault Tolerance và Scalability trên AWS: Hướng dẫn toàn diện
2
+
3
+ Trong kiến trúc AWS, ba khái niệm quan trọng là **High Availability (HA)**, **Fault Tolerance (FT)** và **Scalability**. Bài viết này giải thích chi tiết các thành phần, cách triển khai và patterns quan trọng.
4
+
5
+ ---
6
+
7
+ ## 1. High Availability (HA)
8
+
9
+ **Khái niệm:** Hệ thống luôn hoạt động, dù một Availability Zone (AZ) bị lỗi. Người dùng gần như không nhận ra sự cố.
10
+
11
+ **Các thành phần và cách triển khai:**
12
+
13
+ - **Multi-AZ:**
14
+ - Triển khai tài nguyên trên ít nhất 2 AZ độc lập về điện và mạng.
15
+ - Dùng cho: RDS, EC2, ElastiCache, ALB targets.
16
+ - Lưu ý: Multi-AZ chỉ chống lỗi trong cùng region, không phải multi-region.
17
+
18
+ - **ALB (Application Load Balancer):**
19
+ - Phân phối lưu lượng giữa nhiều EC2 / ECS / Lambda.
20
+ - Health check tự động route về instance khỏe.
21
+ - Hỗ trợ path routing và host routing.
22
+
23
+ - **Aurora Replicas:**
24
+ - Reader Replicas trong cùng region (multi-AZ).
25
+ - Failover tự động < 30s, tách đọc/ghi tăng performance.
26
+
27
+ - **Auto Scaling Group (ASG):**
28
+ - Nếu instance chết → ASG tạo instance mới.
29
+ - Duy trì số lượng EC2 healthy, kết hợp ALB tạo HA hoàn chỉnh.
30
+
31
+ ---
32
+
33
+ ## 2. Fault Tolerance (FT)
34
+
35
+ **Khái niệm:** Hệ thống vẫn hoạt động ngay cả khi cả region gặp sự cố.
36
+
37
+ **Các thành phần và cách triển khai:**
38
+
39
+ - **Multi-Region Deployment:**
40
+ - Active-active hoặc active-passive.
41
+ - Route 53 routing policy để failover.
42
+ - Dữ liệu replicate giữa regions.
43
+
44
+ - **Global DynamoDB:**
45
+ - Multi-region, multi-master.
46
+ - Ghi và đọc từ bất kỳ region, replicate trong vài ms.
47
+ - Dùng cho ứng dụng global low-latency.
48
+
49
+ - **S3 Cross-Region Replication (CRR):**
50
+ - Tự động replicate object sang region khác.
51
+ - Versioning phải bật, chỉ replicate object mới.
52
+
53
+ - **Route 53 Failover Routing:**
54
+ - Health check, nếu region A chết → chuyển sang B.
55
+ - Dùng cho active-passive hoặc active-active.
56
+
57
+ ---
58
+
59
+ ## 3. Scalability
60
+
61
+ **Khái niệm:** Khả năng tăng hoặc giảm tài nguyên khi load thay đổi.
62
+
63
+ **Các cách triển khai:**
64
+
65
+ - **Horizontal vs Vertical Scaling:**
66
+ - Vertical (Scale-up): Tăng kích thước server, giới hạn bởi phần cứng.
67
+ - Horizontal (Scale-out): Thêm nhiều instance, không giới hạn, cần app stateless.
68
+
69
+ - **Auto Scaling:**
70
+ - Tăng giảm EC2 theo CPU / request ALB / queue length SQS.
71
+ - Target tracking tốt nhất, step scaling dùng khi cần tùy chỉnh.
72
+
73
+ - **Lambda (Serverless Scaling):**
74
+ - Tự động scale theo request, không cần quản lý server.
75
+ - Hỗ trợ 1000+ concurrent invocations.
76
+ - Provisioned Concurrency nếu cần tốc độ cao.
77
+
78
+ - **Serverless Scaling:**
79
+ - Dịch vụ tự động scale: Lambda, DynamoDB, SQS, SNS, API Gateway, Fargate.
80
+ - Không cần quản lý server, scaling tự động.
81
+
82
+ ---
83
+
84
+ ## 4. AWS Patterns thường gặp
85
+
86
+ - **Stateless Application:**
87
+ - Server không giữ session, session data lưu ở DynamoDB, ElastiCache, S3.
88
+ - Giúp dễ scale-out.
89
+
90
+ - **Loose Coupling:**
91
+ - Dịch vụ không phụ thuộc trực tiếp vào nhau.
92
+ - Dùng SQS, SNS, EventBridge để tránh synchronous coupling.
93
+
94
+ - **Multi-AZ + Multi-Region Architecture:**
95
+ - App tier: Multi-AZ (ASG + ALB).
96
+ - DB tier: Multi-AZ (RDS/Aurora).
97
+ - Multi-region DR: Route 53 failover.
98
+ - Multi-AZ = HA, Multi-region = Fault Tolerance.
@@ -0,0 +1,82 @@
1
+ # Hybrid Cloud trên AWS: VPN, Direct Connect và các patterns kết nối On-Premise
2
+
3
+ Hybrid Cloud là giải pháp kết nối hệ thống **On-Premise** với AWS qua **VPN** hoặc **Direct Connect (DX)**. Hai phương thức này giúp doanh nghiệp vừa tận dụng hạ tầng tại chỗ, vừa mở rộng lên AWS, tối ưu chi phí và hiệu suất.
4
+
5
+ ---
6
+
7
+ ## 1. VPN (Site-to-Site VPN)
8
+
9
+ **IPSec VPN**
10
+ - Kết nối mã hóa qua Internet.
11
+ - Tạo bằng Virtual Private Gateway (VGW).
12
+ - Sử dụng IPSec Tunnel, thường có 2 tunnel để đảm bảo redundancy.
13
+
14
+ **Site-to-Site VPN**
15
+ - Kết nối router on-prem ↔ AWS.
16
+ - Dễ dựng trong vài phút, giá rẻ.
17
+ - Thích hợp cho PoC, Dev hoặc DR.
18
+
19
+ **Routing**
20
+ - Hỗ trợ static routing hoặc BGP dynamic routing.
21
+ - BGP giúp tự động failover.
22
+ - Có thể kết hợp với Transit Gateway.
23
+
24
+ **Lưu ý:**
25
+ - VPN thường có throughput thấp hơn Direct Connect.
26
+ - Latency biến động, không phù hợp workload lớn hoặc yêu cầu băng thông cao.
27
+
28
+ ---
29
+
30
+ ## 2. Direct Connect (DX)
31
+
32
+ **Dedicated vs Hosted**
33
+ - **Dedicated DX:** AWS cấp cổng vật lý riêng, tốc độ 1/10/100 Gbps, phù hợp doanh nghiệp lớn.
34
+ - **Hosted DX:** Thuê từ partner, tốc độ 50 Mbps → 10 Gbps, dễ tiếp cận hơn.
35
+
36
+ **DX Gateway**
37
+ - Cho phép kết nối DX với nhiều VPC.
38
+ - Cross-region được phép.
39
+ - Thích hợp khi nhiều VPC cần share cùng DX.
40
+
41
+ **Private VIF vs Public VIF**
42
+ - **Private VIF:** Kết nối on-prem → VPC, dùng để truy cập private subnet, DB, app servers.
43
+ - **Public VIF:** Kết nối on-prem → AWS public services (S3, DynamoDB) mà không đi qua Internet.
44
+
45
+ **Lưu ý:**
46
+ - Direct Connect ổn định, tốc độ cao, thích hợp production traffic.
47
+ - Chi phí cao hơn VPN, setup phức tạp hơn.
48
+
49
+ ---
50
+
51
+ ## 3. VPN + DX Redundancy
52
+
53
+ - **DX primary:** Tốc độ cao, latency ổn định, dùng cho production traffic.
54
+ - **VPN backup:** Failover tự động nhờ BGP, đảm bảo hệ thống hoạt động liên tục khi DX gặp sự cố.
55
+ - Kết hợp DX + VPN giúp vừa nhanh vừa có dự phòng chi phí thấp.
56
+
57
+ ---
58
+
59
+ ## 4. Patterns kết nối On-Premise → AWS
60
+
61
+ **Active Directory Integration**
62
+ - AWS Managed AD hoặc AD Connector.
63
+ - Hybrid identity (on-prem AD ↔ AWS).
64
+
65
+ **Database Migration**
66
+ - DMS + SCT, hỗ trợ replication, CDC.
67
+ - Hỗ trợ migrate Oracle, SQL Server, MySQL, …
68
+
69
+ **VPC ↔ On-Prem Routing**
70
+ - Qua VPN hoặc DX.
71
+ - Sử dụng VGW hoặc Transit Gateway (TGW) cho routing phức tạp, multi-VPC, multi-region.
72
+
73
+ **Common Hybrid Patterns**
74
+ - Web tier trên AWS, DB on-prem.
75
+ - Active-Passive DR.
76
+ - On-prem main workload + AWS burst capacity.
77
+ - Analytics trên AWS (copy data từ on-prem).
78
+
79
+ ---
80
+
81
+ **Tóm tắt:**
82
+ Hybrid Cloud giúp doanh nghiệp chạy một phần ứng dụng tại on-prem và phần còn lại trên AWS. VPN nhanh, giá rẻ nhưng throughput thấp; Direct Connect tốc độ cao, ổn định; kết hợp DX + VPN cung cấp cả hiệu suất lẫn dự phòng. Các pattern hybrid như database migration, AD integration và routing TGW giúp quản lý môi trường phức tạp dễ dàng.
@@ -0,0 +1,77 @@
1
+ # Microservices vs Monolithic: So sánh kiến trúc ứng dụng và triển khai trên AWS
2
+
3
+ Trong phát triển phần mềm, hai kiến trúc phổ biến là **Monolithic** và **Microservices**. Hiểu rõ ưu nhược điểm và cách triển khai trên AWS giúp bạn xây dựng hệ thống dễ mở rộng, resilient và maintainable.
4
+
5
+ ---
6
+
7
+ ## 1. Microservices
8
+
9
+ ### Ưu điểm
10
+ - **Scale riêng từng service:** Chỉ cần scale phần service cần thiết, không scale toàn bộ ứng dụng.
11
+ - **Resilience:** Một service gặp lỗi không làm sập toàn bộ hệ thống.
12
+ - **Deploy độc lập:** Các team có thể deploy riêng rẽ mà không ảnh hưởng các phần khác.
13
+ - **Technology freedom:** Mỗi service có thể dùng công nghệ phù hợp (Java, Node.js, Python…).
14
+
15
+ ### Nhược điểm
16
+ - **Networking phức tạp:** Cần service discovery, routing, retries, circuit breaker.
17
+ - **Observability khó:** Cần tracing, logs, metrics tập trung (AWS X-Ray, CloudWatch, OpenTelemetry).
18
+ - **Complexity của hệ thống phân tán:** Data consistency, event ordering, idempotency.
19
+
20
+ ### Dịch vụ AWS đi kèm
21
+ - **Lambda:** Serverless microservices, scale tự động.
22
+ - **API Gateway:** Entry point cho microservices, hỗ trợ rate limiting, auth, routing.
23
+ - **ECS / EKS:** Chạy container-based microservices, hỗ trợ service discovery.
24
+ - **EventBridge:** Event-driven microservices, giúp loose coupling.
25
+
26
+ ---
27
+
28
+ ## 2. Monolithic Architecture
29
+
30
+ ### Ưu điểm
31
+ - **Đơn giản để bắt đầu:** Một codebase duy nhất, dễ deploy.
32
+ - **Dễ maintain ở giai đoạn đầu:** Dev mới vào hiểu nhanh.
33
+ - **Debug đơn giản:** Tất cả trong cùng một process.
34
+
35
+ ### Nhược điểm
36
+ - **Khó scale:** Muốn scale 1 tính năng phải scale toàn app.
37
+ - **Deploy chậm:** Thay đổi 1 dòng code → build và deploy toàn bộ ứng dụng.
38
+ - **Low resilience:** Một lỗi nhỏ có thể làm crash toàn hệ thống.
39
+
40
+ ### Dịch vụ AWS đi kèm
41
+ - **EC2:** Chạy nguyên một ứng dụng lớn.
42
+ - **ELB (ALB/NLB):** Load balancer phân phối traffic, scale phía trước.
43
+ - **Auto Scaling Group:** Scale cả ứng dụng, không theo service.
44
+
45
+ ---
46
+
47
+ ## 3. Anti-Patterns (thường gặp khi triển khai Microservices)
48
+
49
+ - Dùng **chung database** giữa nhiều service → tạo coupling.
50
+ - Tạo **quá nhiều microservices quá sớm** → "distributed monolith", phức tạp hơn monolithic.
51
+ - Không có **observability** → logs không tập trung, khó debug.
52
+ - Không có **API contract** rõ ràng → thay đổi một service ảnh hưởng service khác.
53
+ - Internal services gọi nhau theo chuỗi dài → tạo latency và failure cascade.
54
+
55
+ ---
56
+
57
+ ## 4. Khi nào nên chuyển từ Monolithic sang Microservices
58
+
59
+ **Nên chuyển khi:**
60
+ - Team lớn hơn.
61
+ - Ứng dụng bắt đầu scale không đều.
62
+ - Một phần hệ thống quá nặng.
63
+ - Release chậm và dễ tạo lỗi.
64
+ - Workload tăng và cần resilient hơn.
65
+
66
+ **Không nên chuyển nếu:**
67
+ - Product chưa ổn định.
68
+ - Team nhỏ.
69
+ - Traffic chưa cao.
70
+ - Không có nhu cầu scale độc lập.
71
+
72
+ ---
73
+
74
+ **Tóm tắt:**
75
+ - **Monolithic:** Dễ bắt đầu, debug đơn giản, nhưng khó scale, deploy chậm, low resilience.
76
+ - **Microservices:** Scale linh hoạt, resilient, deploy độc lập, nhưng quản lý phức tạp, networking và observability khó.
77
+ - Lựa chọn kiến trúc phù hợp dựa trên quy mô team, workload và nhu cầu mở rộng.
@@ -0,0 +1,174 @@
1
+ # AWS Well-Architected Framework: 6 Pillars cho hệ thống Cloud tối ưu
2
+
3
+ AWS Well-Architected Framework giúp xây dựng, triển khai và vận hành các hệ thống Cloud một cách hiệu quả, bảo mật, bền vững và tối ưu chi phí. Framework gồm 6 Pillars chính:
4
+
5
+ ---
6
+
7
+ ## 1. Operational Excellence (Vận hành hiệu quả)
8
+
9
+ ### Nguyên tắc chính
10
+ - Giám sát (Observer) mọi thứ
11
+ - Tự động hóa (Automate)
12
+ - Ghi lại quy trình (Document)
13
+ - Cải tiến liên tục (Continuous improvement)
14
+
15
+ ### Best Practices
16
+ - IaC: CloudFormation, CDK
17
+ - Deployment: CI/CD (CodePipeline, CodeDeploy)
18
+ - Monitoring: CloudWatch logs, metrics, alarms
19
+ - Config + Audit: AWS Config, CloudTrail
20
+ - Game days: mô phỏng sự cố để test
21
+
22
+ ### Lỗi phổ biến
23
+ - Không log → không biết lỗi ở đâu
24
+ - Cấu hình thủ công thay vì IaC
25
+ - Chỉ monitor health check ELB → thiếu metrics ứng dụng
26
+ - Chạy cron script bằng EC2 thay vì EventBridge
27
+
28
+ ### Dịch vụ liên quan
29
+ CloudWatch, CloudTrail, AWS Config, Lambda, Systems Manager, CodePipeline, CodeDeploy
30
+
31
+ ---
32
+
33
+ ## 2. Security (Bảo mật)
34
+
35
+ ### Nguyên tắc chính
36
+ - Least privilege
37
+ - Encryption everywhere
38
+ - Identity first
39
+ - Detect & respond
40
+
41
+ ### Best Practices
42
+ - IAM boundaries, roles, MFA
43
+ - Encryption at rest (KMS) + in transit (TLS)
44
+ - Secrets Manager / Parameter Store
45
+ - Security Groups + NACL
46
+ - GuardDuty, Detective, Security Hub
47
+
48
+ ### Lỗi phổ biến
49
+ - Lưu password DB trong EC2 user-data
50
+ - Cho phép inbound 0.0.0.0/0 vào private resources
51
+ - S3 public read/write
52
+ - Không bật versioning
53
+ - Chọn KMS nhưng quên bật key rotation
54
+
55
+ ### Dịch vụ liên quan
56
+ IAM, KMS, Secrets Manager, ACM, WAF, Shield, GuardDuty, Inspector, Cognito
57
+
58
+ ---
59
+
60
+ ## 3. Reliability (Độ tin cậy)
61
+
62
+ ### Nguyên tắc chính
63
+ - Fault tolerance
64
+ - Automatic recovery
65
+ - Multi-AZ, Multi-Region
66
+ - Backup, DR, snapshots
67
+ - Test recovery
68
+
69
+ ### Best Practices
70
+ - Health checks (ALB, Route 53)
71
+ - Auto Scaling
72
+ - Multi-AZ cho RDS, EC2, ElastiCache
73
+ - S3 cross-region replication
74
+ - RDS snapshots, backup retention
75
+ - SQS để xử lý retry
76
+
77
+ ### Lỗi phổ biến
78
+ - Single-point-of-failure (DB 1 AZ, 1 EC2)
79
+ - Tự viết retry logic thay vì dùng SQS/Lambda
80
+ - Không cấu hình Route 53 failover
81
+ - Tắt Multi-AZ để tiết kiệm chi phí
82
+
83
+ ### Dịch vụ liên quan
84
+ Auto Scaling, Route 53 health checks, S3 versioning + replication, RDS Multi-AZ, DynamoDB global tables, SQS retry & DLQ
85
+
86
+ ---
87
+
88
+ ## 4. Performance Efficiency (Hiệu năng)
89
+
90
+ ### Nguyên tắc chính
91
+ - Chọn đúng công cụ (Right resource)
92
+ - Serverless first
93
+ - Optimize storage
94
+ - Caching, CDN
95
+ - Parallelization
96
+
97
+ ### Best Practices
98
+ - Compute: Lambda, Fargate, EC2 right-sizing
99
+ - Caching: CloudFront, ElastiCache
100
+ - Database: Aurora, DynamoDB
101
+ - Storage: S3, EBS, EFS
102
+ - Auto Scaling (horizontal > vertical scaling)
103
+
104
+ ### Lỗi phổ biến
105
+ - Chọn EC2 quá lớn → tốn tiền, không scale được
106
+ - Không dùng caching cho workload đọc nhiều
107
+ - Dùng RDS cho workload NoSQL
108
+ - Chạy batch processing bằng EC2 thay vì Lambda + SQS
109
+
110
+ ### Dịch vụ liên quan
111
+ Auto Scaling, CloudFront, DynamoDB, Aurora, Lambda, Fargate, ElastiCache
112
+
113
+ ---
114
+
115
+ ## 5. Cost Optimization (Tối ưu chi phí)
116
+
117
+ ### Nguyên tắc chính
118
+ - Avoid unnecessary resources
119
+ - Pay-per-use
120
+ - Measure and monitor cost
121
+ - Use right sizing
122
+ - Use Spot / Savings Plans
123
+
124
+ ### Best Practices
125
+ - EC2 Spot instances
126
+ - Savings Plans / Reserved Instances
127
+ - S3 lifecycle (Infrequent Access, Glacier)
128
+ - Auto Scaling để không chạy dư
129
+ - Lambda (pay-per-request)
130
+
131
+ ### Lỗi phổ biến
132
+ - EC2 chạy 24/7 khi không cần
133
+ - Không dùng S3 lifecycle policies
134
+ - Lưu log không giới hạn → CloudWatch cost cao
135
+ - Dùng provisioned capacity thay vì serverless
136
+
137
+ ### Dịch vụ liên quan
138
+ AWS Budgets, Cost Explorer, Compute Optimizer, S3 lifecycle, Savings Plans / RI
139
+
140
+ ---
141
+
142
+ ## 6. Sustainability (Bền vững)
143
+
144
+ ### Nguyên tắc chính
145
+ - Optimize resource usage
146
+ - Reduce compute waste
147
+ - Serverless = less idle resources
148
+ - Use efficient architectures
149
+
150
+ ### Best Practices
151
+ - Dùng ARM-based Graviton
152
+ - Tối ưu storage (giảm dữ liệu rác)
153
+ - Tối ưu network (gần vùng người dùng)
154
+ - Dùng managed services thay vì tự quản lý server
155
+
156
+ ### Lỗi phổ biến
157
+ - Over-provision resources
158
+ - Lưu dữ liệu không cần thiết
159
+ - Chạy workload xa khách hàng → tốn băng thông + năng lượng
160
+ - Dùng instance cũ/family không tối ưu
161
+
162
+ ### Dịch vụ liên quan
163
+ Lambda, Fargate, Graviton instances, CloudFront, S3 Intelligent-Tiering
164
+
165
+ ---
166
+
167
+ **Tóm tắt 6 Pillars của AWS Well-Architected Framework**
168
+
169
+ 1. Operational Excellence: Giám sát, tự động hóa, ghi log, CI/CD
170
+ 2. Security: Least privilege, encryption, giám sát, cảnh báo
171
+ 3. Reliability: Multi-AZ, backup, auto recovery, fault tolerance
172
+ 4. Performance Efficiency: Chọn đúng công cụ, caching, scale tự động
173
+ 5. Cost Optimization: Right-sizing, Spot, Savings Plans, Auto Scaling
174
+ 6. Sustainability: Giảm lãng phí tài nguyên, dùng serverless, tối ưu storage/network
@@ -0,0 +1,23 @@
1
+ User-agent: *
2
+ Allow: /
3
+
4
+ # Allow search engines, disallow AI training
5
+ Content-signal: search=yes, ai-train=no
6
+
7
+ # Block AI training bots
8
+ User-agent: GPTBot
9
+ Disallow: /
10
+
11
+ User-agent: Google-Extended
12
+ Disallow: /
13
+
14
+ User-agent: ClaudeBot
15
+ Disallow: /
16
+
17
+ User-agent: CCBot
18
+ Disallow: /
19
+
20
+ User-agent: Bytespider
21
+ Disallow: /
22
+
23
+ Sitemap: https://awsedu.io.vn/sitemap.xml
@@ -0,0 +1,11 @@
1
+ <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
2
+ <url>
3
+ <loc>https://awsedu.io.vn/</loc>
4
+ <priority>1.0</priority>
5
+ </url>
6
+
7
+ <url>
8
+ <loc>https://awsedu.io.vn/seo</loc>
9
+ <priority>0.8</priority>
10
+ </url>
11
+ </urlset>
@@ -0,0 +1,12 @@
1
+ import { mergeApplicationConfig, ApplicationConfig } from '@angular/core';
2
+ import { provideServerRendering, withRoutes } from '@angular/ssr';
3
+ import { appConfig } from './app.config';
4
+ import { serverRoutes } from './app.routes.server';
5
+
6
+ const serverConfig: ApplicationConfig = {
7
+ providers: [
8
+ provideServerRendering(withRoutes(serverRoutes))
9
+ ]
10
+ };
11
+
12
+ export const config = mergeApplicationConfig(appConfig, serverConfig);