Không có gì là miễn phí cả
devops
39
tips
21
White

Rice viết ngày 17/03/2021

Mình có cái tật rất xấu. Đấy là hay cố gắng tìm hướng giải quyết cho người khác.

Chuyện là ở công ty hồi đó mọi người đang cố gắng dockerize một monolithic project viết bằng C, được xây dựng cách đây hàng chục năm về trước. Vì chương trình được xây dựng quá lâu, thời đó mọi người chưa có khái niệm đầy đủ giữa state, cache, data, code etc. Việc trong code có chứa data là chuyện rất thường xuyên. Nên dù có biết first rule của containerization là không chứa state data trong container. Thì cũng không thực hiện nổi, vì thực sự quá khó.

alt text

Final image nặng cỡ ~ 10 GB và có rất nhiều step manual setting vào container. Hoàn toàn dùng container như một mini VM. Đồng nghiệp than với mình. Mình hồi đó vẫn chưa từng gặp bất kì vấn đề nào khó với container, nghĩ cái gì cũng containize được. Đề nghị bạn để đó cho mình. Bạn làm việc khác đi. Bạn sau một hồi suy nghĩ thì đồng ý. Lúc đó mình cần đạt được 2 mục đích: Shrink image lại và setup CI-CD cho nó.

Việc này tricky ở chỗ software này lại dùng một số thứ của một license software khác, và phải active qua một interact shell (Shell cũng rất củ chuối. Interact với cả Ctrl Key etc). Vì để upgrade được license "automatically". Mình dùng expect của linux.

(Với bạn nào không biết thì expect là một tool script dành cho "interactive programs or scripts that require user interaction." - Tìm hiểu thêm ở đây.)

Vật lộn mất một tuần mới shrink lại còn ~ 8GB. Thật sự mình cũng không tìm được cách nào tốt hơn cả. Vì giờ muốn thì cách duy nhất là rewrite lại toàn bộ, break down service và chia images thay vì build một gigantic image. (Setup between builder - runner docker).

alt text

Cuối cùng vẫn dùng image đó, thêm được mỗi bước set license. Bạn cũng không nói gì. Nhưng mình biết bạn không vui. Một thời gian sau công ty mẹ provide vẫn phần mềm license đó, nhưng được viết bằng java và seperate package. Mọi chuyện dễ thở hơn. Nhưng có vẻ hình ảnh của mình đã bị ảnh hưởng, bạn cũng không nói gì với mình về project đó nữa.

Mình nghĩ trong cuộc sống, khi ai đó tâm sự với mình, đôi khi chỉ cần có mặt, ngồi xuống và lắng nghe cho tử tế là đủ. Việc cho lời khuyên cần rất nhiều sự tế nhị. Mình không sống hộ cho ai được. Có lẽ nếu mình không xung phong giúp bạn, bạn đã có thời gian suy ngẫm và làm được tốt hơn. Nên đó là lỗi của mình. Mình nghĩ nhiệt tình là tốt, nhưng không đủ, phải biết quý trọng lời nói của bản thân.

Vì không có gì là miễn phí cả.

Somewhere, xx-xx-20xx

Rice

Bình luận


White
{{ comment.user.name }}
Bỏ hay Hay
{{comment.like_count}}
Male avatar
{{ comment_error }}
Hủy
   

Hiển thị thử

Chỉnh sửa

White

Rice

17 bài viết.
46 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
White
17 8
Sản phẩm sau khi làm http://coffeetube.herokuapp.com/ Yêu cầu Nói chung thì giờ download nhạc từ youtube thì nó có vô số cách rồi. Nhưng tự mình...
Rice viết hơn 2 năm trước
17 8
White
9 5
Trước giờ logic code của mình vẫn luôn dễ dãi như gái làng chơi nên đôi khi nó đã support thêm cho mình cái đức tính càng lúc càng không (thèm) kiê...
Rice viết hơn 2 năm trước
9 5
White
7 7
Description Mình là một thằng thích đọc sách. Nhưng lúc nào cũng bận (lười) nên cũng mấy tháng rồi chưa hoàn thành được quyển sách nào. Mình đa số...
Rice viết hơn 2 năm trước
7 7
Bài viết liên quan
White
3 2
Giới thiệu Loay hoay cài Intellij trên CentOS 7 với Gnome, gặp 2 vấn đề thú vị nên viết lại cho bạn nào gặp phải thì nhanh chóng giải quyết được v...
Bùi Hồng Hà viết 5 năm trước
3 2
White
2 4
Vậy là mình lại thất nghiệp. Sau thời gian trial 3 tháng, công ty đã quyết định không gia hạn thêm hợp đồng cho mình. Và mình lại thất nghiệp. Lại ...
Rice viết 3 tháng trước
2 4
{{like_count}}

kipalog

{{ comment_count }}

bình luận

{{liked ? "Đã kipalog" : "Kipalog"}}


White
{{userFollowed ? 'Following' : 'Follow'}}
17 bài viết.
46 người follow

 Đầu mục bài viết

Vẫn còn nữa! x

Kipalog vẫn còn rất nhiều bài viết hay và chủ đề thú vị chờ bạn khám phá!