Tối ưu Hóa Phát Triển và Vận Hành Hạ Tầng như Mã với Amazon Q và Thoth
Giới thiệu
Trong mỗi giai đoạn chuyển đổi số, những phương pháp mới được giới thiệu nhằm phát triển và triển khai các giải pháp hiệu quả hơn. Từ những công cụ kịch bản như Ansible và Chef, đến những đổi mới như Terraform, CDK, Pulumi, và hiện tại là các hệ thống tự động và trí tuệ nhân tạo (AI), các phương pháp này không ngừng phát triển. Một số thực hành có thể trở nên lỗi thời, trong khi những chiến lược mới xuất hiện, thách thức các kỹ sư phải thích ứng, đổi mới và thúc đẩy tiến bộ trong việc tạo ra và duy trì giải pháp.
Các chuyên gia DevOps thường xuyên nâng cấp Hạ Tầng như Mã (IaC); việc duy trì sự phụ thuộc hạ tầng sạch sẽ ở quy mô lớn có thể gặp khó khăn, nhưng nhiều quy trình hiện đã được tự động hóa. Khung Thoth giúp đơn giản hóa việc quản lý sự phụ thuộc, tự động hóa việc tạo mẫu và tích hợp liền mạch với các quy trình công việc hiện có, giảm bớt công sức thủ công và tối thiểu hóa lỗi trong các dự án hạ tầng quy mô lớn, xây dựng và quản lý các mẫu IaC được tạo ra với các công cụ như Terraform hoặc Tofu, tận dụng các lớp bọc như Terragrunt và Terramate.
Hãy cùng tôi tìm hiểu cách mà các tác vụ thông thường có thể được tăng tốc tự động bằng cách sử dụng các phương pháp truyền thống và hiện đại với những tác nhân tùy chỉnh như Amazon Q.
Phát triển Hạ Tầng
Mọi thứ đang không ngừng phát triển; các tác vụ như lập trình đang được định nghĩa lại bởi các công cụ từ trợ lý phát triển đến AI tự động, tiến gần hơn đến phát triển hoàn toàn tự động. Sớm thôi, việc viết mã có thể trở nên lỗi thời như việc sử dụng bàn tính, nhưng tương tác của con người vẫn quan trọng và cần thiết cho việc tư duy phản biện, quyết định kiến trúc, cải tiến liên tục và định hướng kinh doanh. Là một kiến trúc sư đám mây, nhà phát triển hoặc kỹ sư, việc xác định thành phần hạ tầng với sự cân nhắc kỹ lưỡng về thiết kế ứng dụng và các mô hình vận hành là rất cần thiết. Tuân thủ các thực hành tốt nhất phù hợp với khung kiến trúc tốt và các hướng dẫn nội bộ là cần thiết để đảm bảo hiệu suất và độ tin cậy tối ưu.
Làm thế nào để thực hiện điều này với ít công sức, thời gian và nguồn lực?
Các công ty thường sử dụng các nền tảng phát triển nội bộ với các bản thiết kế và khởi động nhanh để giảm bớt công việc, giảm độ cong của đường học, và cho phép tự phục vụ thông qua các con đường đã thiết lập. Các nhà phát triển cần tương tác qua các giao diện đúng. Các tác nhân AI hiện đang phục vụ như các giao diện trực quan, phơi bày khả năng của nền tảng qua MCP và cho phép các tác nhân tùy chỉnh cho từng tác vụ trong SDLC.
Hãy bắt đầu với mã. 👽
Bắt đầu bằng cách tạo một tác nhân tùy chỉnh với Amazon Q cho IaC, bao gồm bối cảnh nền tảng qua MCP và một CLI tùy chỉnh. Cách tiếp cận này quản lý các tác vụ như thành phần hạ tầng, tuân thủ, quét và báo cáo, trong khi duy trì các thực hành truyền thống như các thực hành tốt nhất của git.
Hệ thống giao diện trực tiếp với các dịch vụ AWS thông qua AWS SDK và tận dụng OpenTofu để cung cấp hạ tầng, đảm bảo việc triển khai nhất quán và có thể tái tạo trên nhiều môi trường khác nhau.
Bạn có thể thêm bất kỳ dịch vụ MCP bổ sung nào trong danh sách nhưng hãy cẩn thận kiểm tra nguồn:
AWS MCP Servers
Giới thiệu về AWS MCP Servers
Một bộ các máy chủ MCP chuyên dụng giúp bạn tận dụng tối đa AWS, ở bất kỳ đâu bạn sử dụng MCP.
Nội dung chính
- Tìm hiểu về Model Context Protocol (MCP) và cách nó hoạt động với AWS MCP Servers
- Hỗ trợ loại bỏ Server Sent Events
- Tại sao lại chọn AWS MCP Servers?
- Máy chủ MCP có sẵn: Cài đặt nhanh
- 🚀 Bắt đầu với AWS
- Tìm kiếm theo những gì bạn đang xây dựng
- 📚 Truy cập tài liệu chính thức của AWS theo thời gian thực
- 🏗️ Hạ tầng & Triển khai
- Hạ Tầng như Mã
- Nền tảng Container
- Không máy chủ & Hàm
- Hỗ trợ
- 🤖 AI & Học Máy
- 📊 Dữ liệu & Phân Tích
- SQL & Cơ sở dữ liệu NoSQL
- Tìm kiếm & Phân tích
- Lưu trữ & Hiệu suất
- 🛠️ Công cụ Phát Triển & Hỗ Trợ
- 📡 Tích hợp & Nhắn tin
- 💰 Chi phí & Vận hành
- 🧬 Chăm sóc sức khỏe & Khoa học sự sống
- Tìm kiếm theo cách bạn đang làm việc
- 👨💻 Vibe Lập trình & Phát triển
- Quy trình làm việc phát triển cốt lõi
- Hạ Tầng như Mã
- Phát triển ứng dụng
- Phát triển Container & Không máy chủ
- Kiểm thử
- 👨💻 Vibe Lập trình & Phát triển
Các yêu cầu
- WSL hoặc Ubuntu 24.04
- Python >= 3.12
- Thothctl >= 0.5.3
- OpenTofu >= 1.10.6
- Terragrunt >= 0.88.0
Chuẩn bị môi trường địa phương
Khởi tạo môi trường của bạn với các công cụ cần thiết theo các bước sau:
a. Tải xuống và cài đặt thothctl từ kho chính thức pypi.
bash
pipx install thothctl
b. Cài đặt tác nhân amazon Q và Amazon Q cho IDE của bạn, terragrunt, tofu, uv, pipx và các công cụ khác, hoặc chỉ chạy môi trường devtocontainers.
bash
thothctl init environment # môi trường cho chế độ tương tác
Chọn các công cụ theo các phiên bản được khuyến nghị. Nếu bạn đã có các công cụ cài đặt, vui lòng chạy.
bash
thothctl check environment
Tạo tác nhân tùy chỉnh Amazon Q (thoth agent)
Vui lòng tạo AWS Builder Id
a. Sử dụng thothctl để khởi tạo dự án với mẫu scaffold hoặc sao chép kho lưu trữ.
Các tệp cấu hình tác nhân tùy chỉnh được lưu trữ dưới dạng tệp JSON trong các thư mục cụ thể:
Tác nhân tùy chỉnh ở cấp dự án .amazonq/cli-agents/{agent-name}.json chỉ khả dụng trong thư mục dự án cụ thể và các thư mục con của nó.
CLI Phát triển Amazon Q tìm kiếm một tác nhân tùy chỉnh theo thứ tự ưu tiên đã định nghĩa:
- Tác nhân tùy chỉnh cục bộ trước - Kiểm tra các tác nhân tùy chỉnh trong thư mục làm việc hiện tại
- Tác nhân tùy chỉnh toàn cục sau - Nếu không tìm thấy tác nhân tùy chỉnh, sẽ quay lại tác nhân tùy chỉnh trong thư mục chính của bạn
- Mặc định xây dựng - Sử dụng tác nhân mặc định nếu không tìm thấy tác nhân tùy chỉnh
Cấu hình tác nhân
Dưới đây là cấu hình tác nhân cơ bản:
json
{
"name": "thoth",
"description": "Tác nhân chuyên gia IaC và GitOps THOTH cho các triển khai IaC",
"mcpServers": {
"thothctl": {
"command": "thothctl",
"args": ["mcp", "server", "--stdio"]
},
"git": {
"command": "uvx",
"args": ["mcp-server-git"],
"timeout": 30000
},
"terraform": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"hashicorp/terraform-mcp-server"
]
}
},
"tools": [
"fs_read",
"fs_write",
"execute_bash",
"use_aws",
"@git",
"@thothctl",
"@terraform"
],
"allowedTools": [
"fs_read",
"use_aws",
"@git/git_status",
"@git/git_log",
"@git/git_diff"
],
"toolAliases": {
"@git/git_status": "status",
"@git/git_log": "log",
"@git/git_diff": "diff"
},
"resources": [
"file://README.md",
"file://LICENSE",
"file://.thothcf.toml",
"file://root.hcl",
"file://common/common.hcl",
"file://common/variables.tf",
"file://.tflint.hcl",
"file://.pre-commit-config.yaml",
"file://.gitignore",
"file://stacks/**/*.hcl",
"file://stacks/**/*.tf",
"file://docs/**/*.md"
]
}
Bắt đầu tương tác với tác nhân
Cuối cùng, bắt đầu một cuộc trò chuyện với tác nhân trong thư mục dự án và tạo một số stacks:
bash
➜ q chat --agent thoth
✓ terraform được tải trong 1.05 s
✓ git được tải trong 1.81 s
✓ awslabs.aws-diagram-mcp-server được tải trong 2.02 s
✓ thothctl được tải trong 2.12 s
Kết luận
Cảm ơn bạn đã đọc và chia sẻ! 🤠
Các bài viết tiếp theo sẽ cung cấp thêm nhiều ví dụ và giải thích cách kết hợp AI truyền thống và tự động để đạt được kết quả tối ưu. 🥸
Câu hỏi thường gặp
1. Thoth Framework là gì?
Thoth Framework là một công cụ giúp quản lý sự phụ thuộc hạ tầng, tự động hóa việc tạo mẫu và tích hợp với các quy trình công việc hiện có.
2. Amazon Q hỗ trợ những gì trong phát triển hạ tầng?
Amazon Q cho phép tạo các tác nhân tùy chỉnh để quản lý các tác vụ liên quan đến hạ tầng như tuân thủ, quét và báo cáo.
3. Làm thế nào để bắt đầu với Thoth Framework?
Bạn có thể bắt đầu bằng cách cài đặt thothctl và tạo môi trường làm việc theo hướng dẫn trong bài viết.
4. Có cần kiến thức lập trình để sử dụng Thoth Framework không?
Có, bạn cần có kiến thức về lập trình và các công cụ hạ tầng như Terraform để sử dụng hiệu quả.
5. Ai có thể sử dụng Amazon Q?
Amazon Q là dành cho mọi nhà phát triển, kỹ sư và kiến trúc sư hạ tầng đang tìm kiếm sự tự động hóa trong quy trình phát triển hạ tầng.