- Công cụ miễn phí, mã nguồn mở để tự động hóa môi trường phát triển cho phát triển microservice dựa trên Kubernetes
- Tự động hóa luồng thay đổi mã nguồn → theo dõi tệp → build image → cập nhật triển khai, cho phép khởi động toàn bộ môi trường bằng lệnh
tilt up
- Dù lấy Kubernetes làm trung tâm, công cụ này cũng hỗ trợ workflow dựa trên docker-compose hoặc lệnh cục bộ
- Được Docker mua lại vào năm 2022, nhưng vẫn được duy trì và phát triển như một dự án mã nguồn mở độc lập
- Hướng tới mục tiêu quản lý tích hợp môi trường phát triển hiện đại để xử lý sự phức tạp của microservice
Tilt là gì
- Ứng dụng hiện đại không còn là một binary đơn lẻ, mà là cấu trúc trong đó nhiều service, cơ sở dữ liệu và máy chủ frontend tương tác với nhau qua HTTP
- Tilt là công cụ môi trường phát triển microservice giúp hiểu và quản lý toàn bộ các thành phần phức tạp đó cùng lúc
- Tự động hóa toàn bộ quá trình sửa tệp, build image và cập nhật máy chủ để tăng tốc độ phát triển
Đội ngũ nào nên dùng Tilt
- Phù hợp với các đội ngũ phát triển ứng dụng dựa trên microservice
- Đặc biệt hữu ích với những nhóm phải mở nhiều cửa sổ terminal để quản lý log máy chủ hoặc thiết lập môi trường phát triển bằng các shell script phức tạp
- Chỉ với một lệnh
tilt up, bất kỳ ai cũng có thể dễ dàng dựng cùng một môi trường phát triển
Vì sao lấy Kubernetes làm trung tâm
- Kubernetes cung cấp các khối thực thi máy chủ được chuẩn hóa như container, pod và service
- Khi dùng chuẩn này cả trong môi trường phát triển, có thể giảm khác biệt giữa môi trường vận hành và môi trường phát triển
- Ngoài Kubernetes, Tilt cũng hỗ trợ docker-compose và lệnh cục bộ, nhưng về lâu dài được kỳ vọng sẽ hội tụ quanh Kubernetes
Quá trình phát triển và tương lai của Tilt
- Tilt ban đầu là một startup độc lập, nhưng đã được Docker mua lại vào năm 2022
- Hiện vẫn được duy trì dưới dạng mã nguồn mở và đang được cải thiện với sự liên kết cùng Docker Compose và Docker Desktop
- Các dự án mới cũng đang được phát triển, nhằm mở rộng ý tưởng của Tilt ra hệ sinh thái nhà phát triển rộng hơn
Ý nghĩa của cái tên
- "Tilt" được lấy cảm hứng từ câu chuyện Don Quixote lao vào cối xay gió
- Tên ứng dụng demo là Servantes, nhắc tới Cervantes, tác giả của Don Quixote
1 bình luận
Ý kiến trên Hacker News
Thật thú vị khi thấy chủ đề này ở đây. Tôi đã dùng Tilt vài năm rồi, nhưng có cảm giác tốc độ phát triển của nó chậm lại sau khi được Docker mua lại
k8s_yamlphụ thuộc vào CRD, nên lệnhtilt uphay bị lỗi)tilt upchạy đượcCách chào hàng này làm tôi thấy hơi buồn cười
Luôn cần có sự đánh đổi giữa tốc độ và độ chính xác
docker-compose. Nó cho phép mock một số phụ thuộc để giữ tốc độ cao. Khi kiểm thử cục bộ đã qua thì ở các môi trường khác sẽ dùng KubernetesTôi nghĩ "môi trường phát triển" thực sự nên cho phép chạy kiểm thử trực tiếp bằng công cụ gốc của ngôn ngữ, ví dụ
cargo test,bundle exec rspec, v.v.Không thể không nhắc đến nix-shell: liên kết nix-shell
Nếu muốn xem Tilt trong thực tế, ở kho mã nguồn mở Chroma của chúng tôi, nó được dùng để chạy phiên bản phân tán của cơ sở dữ liệu cho development và CI. Rất hay - chỉ cần clone rồi chạy
tilt uplà hoạt độngThiết lập môi trường cục bộ chưa bao giờ là vấn đề
Tilt so với
skaffold devnhư thế nào? Chúng tôi dùng skaffold cho mục đích đó. Dùng để phát triển ngay trong clusterTôi đã thử Tilt một thời gian ngắn cách đây không lâu. Tôi đã dùng Tilt, Garden, có lẽ cả vài công cụ khác nữa, và cuối cùng chọn DevSpace
Về bản chất thì đây chẳng phải là development container sao?