Mạn đàm về tư duy thiết kế hệ thống - copy from Nguyễn Minh Tâm, nhóm quản trị bảo mật hệ thống

Copy của anh Nguyễn Minh Tâm - Nhóm quản trị bảo mật hệ thống
Gần đây khi tham gia một vài diễn đàn, tôi cóp nhặt được vài vấn đề nổi cộm từ những câu chuyện thiết kế hệ thống của các thành viên. Xin liệt kê ra vài ý để các bạn tham khảo cũng như chia sẻ một vài suy nghĩ về tư duy thiết kế hệ thống, kỳ vọng phần nào các bạn có được vài điểm để so sánh, đối chiếu cho dù có thể tư tưởng ấy xung đột hay cọ xát với tư tưởng của các bạn. Nhưng cứ thử đọc và suy ngẫm biết đâu đấy bạn lại thấy nó cần.
Có khá nhiều bạn quản trị viên còn đang sở hữu tư tưởng nặng vấn đề technic, như là đứng trước 1 bài toán gì đó các bạn ấy xới tung mổ xẻ các vấn đề đậm chất kỹ thuật, mọi biện luận, mọi cách suy nghĩ đậm chất mắt thấy tai nghe tường tận về các vấn đề kỹ thuật. Kỹ thuật thì 2x2 bắt buộc phải = 4 chứ không phải thứ gì khác. Cụm từ "Kỹ thuật" thường trực là xương sống bám víu cho những keyword tương tác với google. Đương nhiên làm kỹ thuật thì phải follow kỹ thuật đúng không các bạn. Nhưng tôi muốn cho các bạn thấy vài điểm bất hợp lý nếu không muốn nói là sai lầm trong tư tưởng thiết kế và quản trị của vài bạn:
1. Luôn giải quyết sự việc theo tư tưởng thuần kỹ thuật : Khi được giao một dự án về thiết kế hệ thống chẳng hạn, 1 kỹ thuật thuần sẽ hục mặt vào định hình vài mục tiêu và đi test thử nghiệm các chi tiết kỹ thuật liên quan như là cài server, test function.... Thế rồi nhanh chóng ngập mặt trong đống bug cần fix lỗi khi cài cắm quản trị, đầu óc rối tinh với 1 mớ các vấn đề cần giải quyết, cần tìm phương án kiểu made by me, lùng nhùng trong mớ comment trên diễn đàn mỗi khi cảm thấy bế tắc, ngày quên ăn đêm quên ngủ để thức cùng mớ bug, trong khi ông chủ đang ăn ngủ điều độ phởn phơ với vợ hoặc bồ thì các bạn đang làm việc 1 cách kiệt quệ.
2. Luôn thích thể hiện cái tôi trong công việc bằng cách dí cái dấu ấn cá nhân vào hệ thống. Đơn cử như việc thấy nhiều bạn thích ôm về mình những công việc như thiết kế mail server dùng riêng, web dùng riêng blah blah, như một cách để thể hiện đẳng cấp với đồng nghiệp hoặc tỏ ra là người có năng lực quán xuyến đối với sếp, và cả thỏa mãn đam mê được mắt thấy tai nghe tay làm. Hồi mới vào nghề tôi cũng thế. Lâu dần qua nhiều dự án, cứ mải miết chạy theo đống bug và lòi mắt ra cày cuốc để fix cho bằng xong, ngụp lặn trong mớ bùng nhùng ấy làm tôi thấy phát ngán. Bạn tin không, chỉ cần fix hết đống bug từ phía user đã mất xừ 8 tiếng mỗi ngày.
3. Thiết kế hệ thống 1 cách cẩu thả và tạm bợ : Vài đồng chí thích thể hiện value về mặt công nghệ bằng cách cài đặt Virtual Infra cho cả doanh nghiệp chỉ trong.... 1 server phần cứng duy nhất. Theo tôi đây là cách tự sát rất nhanh cho cả quản trị viên lẫn doanh nghiệp sử dụng anh ấy. Vài bạn có thể là cho tôi màu mè cổ hủ trong khi tôi chê bơi thì các bạn vẫn cổ vũ nhiệt tình công nghệ hiện đại đang lớn mạnh. Tôi luôn có quan điểm mở về mặt công nghệ, vì thế tôi hiểu công nghệ cũng như con dao 2 lưỡi nếu như sử dụng không hợp lý.
4. Tư tưởng thiết kế manh mún và thiếu hợp nhất : Việc thiết kế hệ thống manh mún thường có khởi nguồn đầu tiên từ các bạn QTV ở doanh nghiệp nhỏ. Vì nguồn lực eo hẹp hoặc quy mô không đủ lớn để đường đường chính chính nghĩ đến những giải pháp chuyên nghiệp và chi phí lớn. Vậy là mãi lom dom trong đống giải pháp chắp vá tạm bợ, rồi lại quay cuồng đi giải quyết đống bug trong mớ hổ lốn đấy. Vậy là hết thời gian nghĩ thứ to lớn. Một ý nữa tôi muốn nhấn mạnh về tầm nhìn chung của 1 bộ phận chủ doanh nghiệp là khá ngắn hạn. Nếu như không thấy rõ hiểm họa mười mươi trước mắt thì chả tội gì xuất tiền trong túi, nước đến đâu bắc cầu đến đấy, cứ có thịt chó đi thì sẽ nghĩ phương án có mắm tôm còn chưa có gì thì đừng có bàn vội vì nó ... xa quá :))). Ở trong môi trường như thế không sớm thì muộn bạn cũng thành kẻ bất lực !
5. Đừng ảo tưởng sức mạnh về khả năng của bản thân hay đội nhóm : Khi làm việc với các team hỗ trợ 10 vạn người, mỗi khi có vấn đề, các bạn tôi rất hay có suy nghĩ tìm kiếm nguồn lực trong tuyển. Việc đó là tốt những cũng rất là dở đối với những dự án cấp thiết. Chẳng hạn mỗi khi có phát sinh 1 issue lớn là họ cậy có resource deverloper hùng hậu, ngay lập tức tổ chức 1 ban đặc nhiệm tác chiến để build 1 sản phẩm cây nhà lá vườn nào đó phục vụ quy trình điều hành công ty. Không ai nghi ngờ khả năng của đội đặc nhiệm, vấn đề là sau bao nhiêu năm chúng tôi mới có sản phẩm để dùng ?
- Tạm thế thôi đã nhỉ, giờ mình quay vào đưa ra vài suy nghĩ về 5 vấn đề kể trên xem thế nào nhé !
Vấn đề 1 : Việc phải đối mặt với các bug kỹ thuật là điều bình thường như cân đường hộp sữa mà bất cứ ai cũng phải trải qua. Tôi cũng không ngoại lệ. Ngày xưa cũng bới tung các tài liệu kỹ thuật, các forum trong và ngoài nước. Giờ vẫn thế những ít hơn nhiều rồi. Không phải vì pro hơn biết nhiều hơn, mà vì cách thức tìm kiếm đã thay đổi. Thay vì ép mình tìm phương án kỹ thuật hay tranh cãi, nhồi sọ các vấn đề technic để giải quyết, hãy ép mình tìm đối tác làm thay chuyện đó. Xu hướng giờ thay đổi nhiều rồi, đó chính là lý do các thầu phụ đang mọc lên như nấm. Họ mới là những người cần phải thức thâu đêm cho hạnh phúc của chúng ta vì họ sống bằng nghề tư vấn giải pháp. Chúng ta lúc ấy phải chấp nhận " ngu" hơn 1 tý về mặt chi tiết kỹ thuật, nhưng bù lại thì "khôn" hơn về mặt tổng quan chiến lược. Lời khuyên này không dành cho các bạn mới chập chững vào nghề hoặc những bạn có ý định đầu quân vào các công ty làm giải pháp, bởi 2 đối tượng này là 2 đối tượng sống chết bằng skill nên không xét.
Vấn đề 2 : Cái gì làm được thì làm, không ôm nổi thì đẩy ra outsource cho nó làm, mình đứng quản lý dự án, giám sát nhà thầu. Đừng tham vọng bản sắc cá nhân trong hệ thống làm gì khi phải đánh đổi hàng tá vấn đề technic. Nên nhớ, các cty cung cấp giải pháp, sản phẩm của họ đã hoàn chình ở mức tương đối rồi, nên tập thói quen đứng trên vai người khổng lồ như là google, microsoft thay vì cái gì cugnx bắt tay giải quyết tất cả. Chúng ta là người không phải supperman để cái gì cũng làm được. Bạn có chắc giải pháp bạn tự kiếm đâu đó tốt hơn các công ty chuyên nghiệp ?
Vấn đề 3 : Các cụ dạy, liệu cơm mà gắp mắm. Khi thiết kế hệ thống phải bám vào tình hình thực tiễn của công ty. Đừng có thấy thiên hạ có gì thì mình cũng cố ghép vào 1 tý cho nó có. Rủi ro hệ thống là điều rất đáng đặt lên bàn cân đối với người quản trị. Nên bỏ ngay tư tưởng " cứ làm đi chết cái biết liền" rất là thiển cận của 1 bộ phận người Việt.
Vấn đề 4 : Điều gì khiến bạn múa may quay cuồng trong đống bầy nhầy của công việc đến mức không thoát ra được. Là đống bug phát sinh từ hệ thống lởm khởm đã nuốt hết toàn bộ thời gian "sống hành chính" của bạn thì đào đâu ra thời gian để nghĩ về từ update hay upgrade. Issue phát sinh từ hệ thống không đồng bộ hoặc thiết kế sai lầm. Nhân đây chia sẻ với các bạn 1 ví dụ về việc áp dụng single-sign-on tại cty của tôi để bạn hiểu, automatic và đồng bộ hệ thống giảm thiếu chi phí quản trị mức độ thế nào.
Công ty tôi hiện có hơn 10 vạn người ở cả 3 miền và các quốc gia, nếu 1 nhân sự khi apply vào công ty, bạn nghĩ xem sẽ phải setup bao nhiêu account cho các service liên quan đến người ấy như là email, chat, video conference, desktop, chấm công, kiểm soát cửa, check timesheet...... Chúng tôi đã nghĩ đến Single- Sign- On như là 1 tiêu chuẩn chung khi yêu cầu các partner thiết kế hay phối hợp hệ thống. Chúng tôi mua Windows, mua Lync, phát triển ERP để có thể ăn khớp được với nhau tạo ra 1 kênh duy nhất. Chỉ với 1 vài thao tác đơn giản là 1 nhân sự được khởi tạo ở tất cả các module với quyền hạn người đó thuộc về. Hay việc triển khai bất cứ vấn đề kỹ thuật nào đó đến các máy trạm, chúng tôi viết script và bắt hệ thống triển khai tự động thay vì yêu cầu helpdesk đến tận nơi. Hoặc tiến tới chúng tôi ko cấp phát vm bằng tay nữa mà tạo wizard cho nhân viên tự phục vụ. Các bạn hỏi quản trị 100 user có khó không ư ? có lẽ là khó, nhưng với 10 vạn user thì lại dễ. Khoe khoang sizing ư ? các bạn nhầm rồi, tôi đang nhấn mạnh vào tư tưởng và tầm nhìn khi thiết kế hệ thống.
Vấn đề 5 : ngay cả khi công ty tôi lớn vẫn không tránh khỏi sự ảo tưởng sức mạnh ở local resourcing và tư tưởng tiết kiệm là phải tiết kiệm ngay của lãnh đạo. Động tý lại bắt quân ra làm. Đơn cử như cần 1 module quản lý gì đó lại xua quân ra làm trong vài tháng hay 1 năm. Có lẽ đã từng chớm kinh doanh trước đây nên tôi bị ảnh hưởng tư tưởng theo kiểu, cái gì không làm được ngay và luôn thì đừng tự làm mà nên bỏ tiền ra mua. Tôi thấy rằng thay vì đội lính ở công ty tôi bỏ ra vài tháng hay 1 năm để viết được sản phẩm lưu hành nội bộ, sao không đi thuê bên ngoài gia công vì đằng nào công ty cũng phải bỏ tiền nuôi lương từng ấy con người thì sao không dùng số tiền đó đi mua, còn đám nhân sự ấy thì dồn ra ngoài chiến tuyến đi giải quyết issue cho các khách hàng để kiếm nguồn tiền khác về ? Hơn nữa nếu đi mua tôi có ngay 1 sản phẩm để dùng, còn tự build thì bao giờ xong, nếu có xong thì có chắc là chạy được ngon lành hay không ? => vấn đề nằm chỗ đấy.
Ngày nay có 1 điều là lạ rằng khi đi phỏng vấn, người ta bắt đầu không hỏi bạn có biết AD không, AD dùng làm gì, Exchange là mail hay là web server.... Biểu tượng cảm xúc grin Người ta bắt đầu hỏi là doanh nghiệp của anh có tầm 200 người thì theo em nên dùng google hay Exchange. Không bàn đến cách bạn trả lời thế nào, có lẽ với bạn nào ít kinh nghiệm chuyên môn thì quả là trúng mánh. Nhưng tôi đang nói ý khác của vấn đề là, việc định hình xu hướng CNTT cho doanh nghiệp đang dần trở nên quan trọng hơn là bạn biết được bao nhiêu về chi tiết kỹ thuật. Để quyết định được 1 xu hướng CNTT cho doanh nghiệp ngoài việc bạn nắm rõ tổng quan technic, phải biết phân tích đánh giá các giải pháp và quan trọng hơn là phải thoát xác ra khỏi tư tưởng kỹ thuật thuần túy. Làm quản lý cần phải cân đo đong đếm nhiều thứ khác ngoài kỹ thuật nhưng tựu chung là vẫn phải để hệ thống đáp ứng được các tiêu chí : hợp lý chi phí, tính sẵn sàng cao, khả năng mềm dẻo dễ mở rộng, hợp nhất hệ thống và tính tiện ích.
Kết lại là : được ngày nghỉ nên chém gió mua vui 1 tẹo, dạo này làm việc nhiều nên văn bị ngu đi không hề nhẹ, các bạn đọc thông cảm cho nhé !!! Biểu tượng cảm xúc grin

Nhận xét

Bài đăng phổ biến từ blog này

Sử dụng server để định tuyến mạng - Routing server

Virtual Networking - Ảo hóa mạng

Trình quản lý user và Group trên máy cục bộ (Local user and group)

[vmware workstation] Ngăn máy ảo tự động pause

Cài đặt, cấu hình cơ bản CentOS 7 Minimal

Cách bật card mạng eth0 khi cài đặt Centos 7 Minimal trên VMWARE WORKSTATION

Xây dựng hệ thống monitoring tập trung với PRTG (Phần 1 - Cài đặt)

Căn bản về Storage

Mô hình OSI 7 lớp

Các cấu hình trong khi cấu hình Elastix SIP Trunk (Elastix SIP Trunk Configuration Guide)