Monitoring & Management
AWS OpsWorks
Configuration Management, Chef/Puppet, Stacks, Layers
Tổng quan
AWS OpsWorks là dịch vụ configuration management cho phép quản lý servers bằng Chef hoặc Puppet.
Chef vs Puppet
| Tool | Language | Files |
|---|---|---|
| Chef | Ruby DSL | Recipes, Cookbooks |
| Puppet | Puppet DSL | Manifests, Modules |
Cả hai đều làm cùng việc: Định nghĩa infrastructure as code để tự động configure servers.
3 Loại OpsWorks
| Loại | Chef/Puppet | Managed by | Best for |
|---|---|---|---|
| Stacks | Chef (embedded) | AWS | Legacy apps, simple use cases |
| Chef Automate | Full Chef | AWS | Teams đã dùng Chef |
| Puppet Enterprise | Full Puppet | AWS | Teams đã dùng Puppet |
OpsWorks Stacks
Kiến trúc
Các thành phần
| Component | Mô tả |
|---|---|
| Stack | Container cho toàn bộ application |
| Layer | Nhóm instances có cùng purpose (web, app, db) |
| Instance | EC2 instances trong layer |
| App | Code được deploy lên instances |
| Recipes | Chef scripts định nghĩa configuration |
Lifecycle Events
OpsWorks Stacks tự động chạy recipes tại các events:
| Event | Khi nào | Ví dụ |
|---|---|---|
| Setup | Instance khởi động lần đầu | Install packages |
| Configure | Instance join/leave stack | Update config files |
| Deploy | Deploy app | Pull code, restart service |
| Undeploy | Remove app | Clean up files |
| Shutdown | Instance stopping | Graceful shutdown |
OpsWorks for Chef Automate
OpsWorks for Puppet Enterprise
So sánh các Configuration Management Tools
| Tool | Language | Model | AWS Service |
|---|---|---|---|
| Chef | Ruby | Pull (agent) | OpsWorks Stacks, OpsWorks for Chef |
| Puppet | Puppet DSL | Pull (agent) | OpsWorks for Puppet |
| Ansible | YAML | Push (agentless) | ❌ Không có managed service |
| SSM | JSON/YAML | Push | AWS Systems Manager |
OpsWorks vs Các AWS Services khác
| Service | Purpose | Use When |
|---|---|---|
| OpsWorks | Configuration management (Chef/Puppet) | Đã có Chef/Puppet code |
| Elastic Beanstalk | Deploy apps (managed platform) | Muốn đơn giản, không cần Chef/Puppet |
| CloudFormation | Provision infrastructure | Infrastructure as Code |
| Systems Manager | Manage & patch servers | Native AWS, không cần Chef/Puppet |
| CodeDeploy | Deploy applications | CI/CD pipelines |
Khi nào dùng OpsWorks?
| Scenario | Service |
|---|---|
| Đã có Chef cookbooks sẵn | OpsWorks ✅ |
| Đã có Puppet manifests sẵn | OpsWorks ✅ |
| Muốn migrate từ on-prem Chef/Puppet | OpsWorks ✅ |
| Mới bắt đầu, muốn đơn giản | Elastic Beanstalk hoặc SSM |
| Muốn AWS native | Systems Manager |
Use Cases
| Use Case | Mô tả |
|---|---|
| Migrate Chef/Puppet | Move existing Chef/Puppet to AWS |
| Hybrid infrastructure | Manage EC2 + on-premises |
| Compliance | Enforce consistent configs |
| Application deployment | Deploy multi-tier apps |
Exam Tips
[!IMPORTANT] Các điểm quan trọng cho AWS Certification:
1. Nhớ keywords
| Keyword | Service |
|---|---|
| Chef, Recipes, Cookbooks | OpsWorks |
| Puppet, Manifests | OpsWorks |
| Configuration management | OpsWorks |
2. 3 Flavors
| Type | Quick description |
|---|---|
| Stacks | Legacy, embedded Chef |
| Chef Automate | Full managed Chef server |
| Puppet Enterprise | Full managed Puppet master |
3. So sánh nhanh
| Câu hỏi | Đáp án |
|---|---|
| Có sẵn Chef cookbooks? | OpsWorks |
| Có sẵn Puppet manifests? | OpsWorks |
| Muốn managed Chef server? | OpsWorks for Chef Automate |
| Chưa có Chef/Puppet, muốn đơn giản? | Elastic Beanstalk hoặc SSM |
| Provision infrastructure? | CloudFormation |
4. Important notes
- OpsWorks supports on-premises servers (hybrid)
- OpsWorks Stacks is legacy - AWS recommends newer services
- OpsWorks = Configuration | CloudFormation = Provisioning