Tôi sẽ chia sẻ kinh nghiệm làm việc như một chuyên gia công nghệ trong một vài lĩnh vực khác nhau ...
(Chú ý: đây là câu chuyện về Red Hat và cách tôi lớn lên chuyên nghiệp với nó)
Tôi bắt đầu làm việc với Linux một cách chuyên nghiệp vào năm 2000-2002. Điều này là trong quá trình áp dụng rộng rãi Red Hat và Red Hat Professional Edition (6.x, 7.x, 8.0) . Chúng có sẵn để tải về miễn phí cũng như các bộ đóng gói. Chúng có thể dễ dàng được tìm thấy trong các cửa hàng bán lẻ máy tính.
Đối với tôi, điều này có lợi ích của việc thu hút người có sở thích và người dùng gia đình với cùng một sản phẩm bắt đầu xuất hiện trong doanh nghiệp. Công việc của tôi tại thời điểm này là chuyển các hệ thống máy chủ của khách hàng từ Unices thương mại (HP-UX, AIX và SCO) sang nền tảng Red Hat.
Tiết kiệm chi phí là đáng kể! Thay thế các máy chủ HP-2000 PA-RISC $ 100k bằng máy chủ Intel Compaq ProLiant $ 40k là một chiến thắng tuyệt đối về chi phí và hiệu suất.
Vậy, tại sao Mũ Đỏ?
Red Hat là người đầu tiên đến thị trường này, có được sự hỗ trợ kinh doanh, nhà cung cấp và phần cứng quan trọng. Thấy các nhà cung cấp ứng dụng lớn sử dụng Red Hat làm nền tảng mục tiêu đã ký kết thỏa thuận. Người dùng có sở thích như tôi đã có thể chuyển các kỹ năng được mài giũa tại nhà vào môi trường làm việc của chúng tôi một cách dễ dàng. Cộng đồng ngày càng phát triển. Các ngăn xếp Slashdot , Freshmeat và LAMP cai trị! Đó là một thời gian tốt cho Linux.
Đến thời điểm này, tôi chịu trách nhiệm phát triển và đánh giá các bản phân phối Linux như một nền tảng cho một giải pháp phần mềm ERP độc quyền. Tôi mắc kẹt với Red Hat. Thường xuyên, tôi sẽ thử một bản phân phối khác ( Mandrake , SuSE , Debian , Gentoo ), nhưng sẽ gặp vấn đề với bao bì, hỗ trợ phần cứng (máy chủ hoặc thiết bị ngoại vi), cộng đồng (kích thước của) hoặc một số công cụ giải quyết khác.
Một ví dụ: Tôi đang sử dụng phần cứng Compaq / HP ProLiant được trang bị thẻ PCI-X mở rộng Digi serial và phần mềm fax sản xuất Esker VS Ifax . Hai cái sau chỉ có hỗ trợ trình điều khiển cho các hệ điều hành Red Hat. Trong một số trường hợp, phần mềm chỉ được phân phối ở dạng nhị phân hoặc RPM, không cho phép sử dụng dễ dàng trên các biến thể Linux khác.
Các vấn đề quan trọng trong Thế giới Công nghệ Thông tin
Không ai muốn trở thành người đề xuất giải pháp hoặc dự án bị mất mà cuối cùng bị mồ côi, vì vậy bạn kiên định với các lựa chọn an toàn. Tôi đã quản lý một chồng công nghệ cần thiết để làm việc đáng tin cậy và có nhiều lớp hỗ trợ. Chọn một phân phối khác nhau tại thời điểm đó sẽ có. đã. thiếu trách nhiệm.
Tuần trăng mật Red Hat kết thúc với tôi vào năm 2003 với việc ngừng các phiên bản chuyên nghiệp của phần mềm. Red Hat Enterprise Linux là sự thay thế và đi kèm với khá nhiều hành lý ... Chi phí (mô hình dựa trên thuê bao đắt tiền), khả năng truy cập (thu hẹp cơ sở người dùng và cộng đồng) và sự nhầm lẫn chung về tương lai ...
Tôi bắt đầu tìm kiếm các lựa chọn thay thế, đánh giá lại Gentoo, Debian và SuSE. Tôi không thể nhận được sự hỗ trợ phù hợp trên tất cả các thành phần của ngăn xếp công nghệ của chúng tôi. Tôi đã buộc phải gắn bó với hệ sinh thái Red Hat ... Do sự thay đổi chi phí hoang dã liên quan đến Red Hat Enterprise Linux, cuối cùng tôi đã chạy một Red Hat 8.0 được sửa đổi cao trong nhiều năm qua. Mãi cho đến khi các bản sao của RHEL trưởng thành ( Whitebox Linux , và sau đó, CentOS ), tôi đã chuẩn bị một bước đi thực sự so với tiêu chuẩn của mình.
Ưu điểm chính của các dẫn xuất Red Hat đã và đang nhị phân tương thích với các phiên bản RHEL thanh toán. Thậm chí có thể thực hiện chuyển đổi tại chỗ giữa RHEL và CentOS và ngược lại. Tôi tiếp tục làm việc với các hệ thống giống như RHEL cho đến khi tôi thực hiện bước chuyển tiếp sự nghiệp ...
Sau đó tôi thấy mình trong ngành giao dịch tài chính tần số cao , nơi tôi chịu trách nhiệm về kỹ thuật R & D và Linux cho các hệ thống giao dịch tự động quan trọng. Sự nhấn mạnh trong thế giới này là tốc độ , bằng phương pháp kiểm tra và điều chỉnh cẩn thận. Một lần nữa, hỗ trợ phần cứng là chìa khóa. Tôi muốn có card mạng cụ thể , phần cứng chuyên dụng, thư viện phần cứng hoặc ứng dụng máy chủ chỉ được chứng nhận cho các hệ thống giống như RHEL hoặc RHEL. Ngay cả trong trường hợp mọi thứ có thể được biên dịch cho các biến thể Linux khác, yếu tố cộng đồng vẫn phát sinh. Khi tôi đang ở thời điểm mà tôi cần nghiên cứu một vấn đề, thường thì đó là một vấn đề có thể bắt nguồn từ ghi chú hoặc nhận xét trong các báo cáo của Red Hat Bugzilla, hoặc đôi khi, tôi chỉ cần gửi một bản vá hoặc yêu cầu cho bản phát hành tiếp theo .
Khi tôi bắt đầu nghiên cứu về mạng có độ trễ thấp và điều chỉnh kernel, tôi bắt đầu phân tích các hạt nhân RHEL và hạt nhân RHEL MRG Realtime . Tôi nhận thấy có bao nhiêu công việc khi vào các bản phát hành ... hơn 200 bản vá cho hạt nhân vanilla kernel.org. Đọc các bình luận và cam kết ghi chú. Bạn có thể có những thứ nhỏ như sysctl
tham số được hiển thị hoặc mặc định lành mạnh hơn được áp dụng. Red Hat trả tiền cho mọi người để vá, kiểm tra và khắc phục những vấn đề này. Tôi đã không thấy cam kết tương tự từ các bản phân phối Linux khác ... Thêm một thực tế là nền tảng doanh nghiệp được đảm bảo có bảo mật thực sự, hỗ trợ sửa lỗi và backport trong nhiều năm .
Vì vậy, cuối cùng tôi đã chuyển sang một công ty tài chính khác gần như toàn bộ Gentoo trên máy chủ và máy tính để bàn ... Đó là một thảm họa đối với tôi. Đến từ thế giới Red Hat và CentOS, tôi đã gặp phải nhiều vấn đề về quản lý và ổn định với thiết lập Gentoo. Kiểm soát phiên bản là vấn đề lớn nhất, nhưng sự hỗ trợ cộng đồng ngày càng giảm và thiếu kiểm tra thực tế cũng là mối quan tâm. Tôi bắt đầu giới thiệu RHEL vào môi trường vì một số phần mềm bên thứ ba của chúng tôi yêu cầu ...
Nhưng có một vấn đề ... Các nhà phát triển của tôi đã quen với Gentoo và có các đường dẫn nâng cấp tương đối dễ dàng cho các thư viện và phiên bản ứng dụng cốt lõi. Họ không thể điều chỉnh để có các phiên bản chính cố định mà Red Hat Enterprise Linux chuẩn hóa. Quá trình phát triển và phát hành bị vướng mắc với các câu hỏi về lý do tại sao GLIBC 2.7 không thể được ghép vào RHEL 5.x hoặc tại sao một trình biên dịch hoặc phiên bản thư viện nhất định không có sẵn. Khi được thông báo rằng việc nâng cấp giữa các phiên bản chính của RHEL / CentOS về cơ bản cần phải xây dựng lại đầy đủ , họ đã mất rất nhiều niềm tin vào giải pháp.
Tại thời điểm này, tôi nhận ra rằng Red Hat đang di chuyển quá chậm đối với các nhà phát triển muốn đứng ở vị trí dẫn đầu. RHEL 6.x là một bản nâng cấp rất cần thiết và đáng hoan nghênh, nhưng chủ đề này trở nên rõ ràng hơn khi tôi bắt đầu phỏng vấn các công ty khởi nghiệp và các công ty đã đăng ký các nguyên tắc DevOps .
Ngày nay ... Ngày
càng có nhiều nhà phát triển và người dùng Linux đến từ các môi trường Linux không phải Red Hat, không phải SuSE, không phải doanh nghiệp.
- Họ đang sử dụng Ubuntu hoặc Debian ...
- Họ không phải đối phó với phần cứng trường học cũ hoặc hỗ trợ nhà cung cấp lớn.
- Họ đang viết các ứng dụng của riêng họ từ đầu (tự hỗ trợ).
- Ảo hóa và điện toán đám mây trừu tượng hóa lớp phần cứng, vì vậy lo lắng về trình điều khiển RAID thú vị, thiết bị ngoại vi PCI-X hoặc các tác nhân quản lý phân tán nhị phân thậm chí không có trên radar.
- Những người dùng này muốn các công cụ và vùng người dùng mà họ quen thuộc.
Vì vậy, có một cuộc xung đột ... Những người dùng này không hiểu tại sao họ bị hạn chế trên các phiên bản ứng dụng hoặc thư viện. Các quản trị viên trường cũ vẫn đang điều chỉnh theo mô hình mới . Các lập luận dường như bắt nguồn từ tôn giáo thực sự chỉ là các chức năng về cách mọi người phát triển các kỹ năng tương ứng của họ.
Tôi đã thấy một quảng cáo việc làm ngày hôm nay cho vị trí kỹ sư DevOps Linux rất cao có nội dung:
Phải thành thạo đến chuyên gia trong các bản phân phối Linux dựa trên Debian (Ubuntu và các biến thể đều ổn. Red Hat có thể qua được , nhưng không được ưa thích)
Vì vậy, tôi đoán nó hoạt động theo cả hai cách ... Tôi đã bỏ qua các cơ hội việc làm vì 800 máy chủ CentOS mà tôi đang quản lý dự kiến sẽ được chuyển đổi sang Ubuntu. Chắc chắn, Linux là Linux ... nhưng tôi không cảm thấy rằng mình hiệu quả đến mức có thể ... Tôi đã dò dẫm các bản cài đặt Debian và ước rằng một bản phân phối dựa trên RPM đang được sử dụng. Tôi đã có những tranh luận sôi nổi về giá trị của các nền tảng khác nhau (thường đặt Gentoo ở cuối danh sách).
Vậy điều gì phù hợp với môi trường CỦA BẠN? Nó phụ thuộc. Tôi đã từng ở các công ty nơi các kỹ sư hệ thống đưa ra quyết định, cũng như các tổ chức nơi các nhà phát triển là vua. Tôi nghĩ rằng sự sắp xếp tốt nhất là khi các nhà phát triển và những người hỗ trợ các hệ thống đồng ý về nền tảng. Nhưng bên ngoài đó, hãy nghĩ về sự hỗ trợ lâu dài, khả năng sử dụng, cộng đồng và những gì phù hợp với ngăn xếp ứng dụng của bạn theo cách phù hợp nhất.
Một nhà phát triển tài năng sẽ có thể làm việc trong một môi trường giống như RHEL hoặc giống như Debian. Và tốt, nền tảng phát triển nên phản ánh môi trường sản xuất. Bạn đi từ đó ...