"Cơ sở dữ liệu của chúng tôi sẽ không mở rộng được".
Cơ sở dữ liệu:
- 40GB dữ liệu tổng cộng
- 12 truy vấn mỗi giây
- 0 chỉ mục trên các cột truy vấn
- N+1 truy vấn ở khắp nơi
- 200ms thời gian truy vấn trung bình
Giải pháp:
- Chia thành 12 cơ sở dữ liệu
- Thêm bản sao đọc
- Triển khai lớp bộ nhớ đệm
- Chuyển sang NoSQL "web scale"
Giải pháp thực tế:
- Thêm 3 chỉ mục
- Sửa các truy vấn N+1
- 5ms thời gian truy vấn
- $40/tháng cho Postgres
Bạn không có vấn đề mở rộng.
Bạn có vấn đề về năng lực.
Thông báo tuyển dụng: "Kỹ sư DevOps"
Công việc thực tế:
- Triển khai thủ công các tệp WAR lên Tomcat
- SSH vào máy chủ để kiểm tra nhật ký
- Khởi động lại dịch vụ khi chúng bị sập
- Cập nhật quy tắc tường lửa qua vé
- Không có hạ tầng như mã
- Không có CI/CD
- Không có đám mây
Bạn không đang tuyển dụng một Kỹ sư DevOps.
Bạn đang tuyển dụng một quản trị viên hệ thống biết Docker tồn tại.
Hãy thành thật về vai trò này.
Quản trị viên hệ thống rất quý giá. Ngừng giả vờ rằng bạn đang làm DevOps khi bạn không phải.
Dockerfile của bạn:
- Từ ubuntu:latest
- Cài đặt 47 gói
- Chạy với quyền root
- Kích thước hình ảnh 2.3GB
- Thời gian xây dựng lại mất 15 phút
- Quét bảo mật cho thấy 89 lỗ hổng
Ứng dụng của bạn:
- Một script Python
- 3 phụ thuộc
- Có thể chạy trên Alpine trong một hình ảnh 50MB
Bạn không sử dụng container.
Bạn đang xây dựng VM với Dockerfiles.
Đây là những gì xảy ra khi mọi người học Docker từ các bài viết ngẫu nhiên trên Medium.