Các anh cho em hỏi. Giả sử em muốn triển khai hệ thống OpenERP cho một doanh nghiệp, nhưng có nhiều cơ sở ơ nhiều địa điểm khác nhau, thì có những cách triển khai như thế nào ạ? Cách quản lý cơ sở dữ liệu trong đấy ra sao ạ?
6 Trả lời
Chào các ACE,
Nếu cần triển khai nhanh gọn, trong điều kiện tự thiết kế xây dựng, thì theo mình chỉ cần xây dựng 2 Server đóng vai trò master, slave. Nếu doanh nghiệp có kết nối internet, chọn Router có chức năng NAT là có thể public ra internet để triển khai cho các chi nhánh trực thuộc.
Chúc vui.
Đúng rồi. Phương án 3 này đảm bảo tính an toàn cũng như tính sẵn sàng cao nhất (High Availability).
Phương án 1 và 2, nếu viết ra thì cũng ngốn đến hàng trăm trang giấy.
Mô hình OpenERP system tổng quan thì có thể xem đính kèm
An toàn vì triển khai trên cloud với High Availability + Failover + Replication + Load Balancing.
Nói nôm na thì mỗi bit dữ liệu được lưu trữ trên nhiều thiết bị lưu trữ khác nhau để đảm bảo khi trục trặc xảy ra với một hay nhiều ổ cứng thì dữ liệu vẫn nguyên vẹn. Ngoài ra, hệ thống được cấu hình tự động chuyển đổi dự phòng để đảm bảo khi 1 hay nhiều hơn 1 server trong cụm (cluster) ngừng hoạt động thì hệ thống sẽ tự chuyển đổi sang server tiếp theo.
Ngoài ra, toàn bộ thông tin trên đường truyền đều được sử dụng lớp mã hóa SSL để tránh sự dòm ngó của tin tặc. Bạn nhìn lên ô địa chỉ của trình duyệt sẽ thấy ERPOnline sử dụng HTTPS chứ khong phải HTTP.
Nếu theo phương án 1 hoặc 2, bạn sẽ phải học cách xây dựng một hệ thống mạng (LAN và WAN), trong đó có một cụm servers nằm riêng ở một dải IP và những người dùng có thể truy cập được đến server đó thông qua IP hoặc tên miền nội bộ (nếu không muốn public hệ thống ERP của mình ra Internet).
Sau bước này, bạn sẽ cần học cách thiết lập một hệ thống PostgreSQL với tối thiểu 2 servers, và phải chạy ở chế độ replication để đảm bảo tính toàn vẹn dữ liệu trong trường hợp 1 trong 2 server hỏng.
Để đảm bảo High Availability (sẵn sàng cao) và Failover (Chuyển đổi dự phòng tự động) cho các PostgreSQL servers, bạn sẽ cần phải học các sử dụng một số tools thực hiện chức năng này, ví dụ: PGPool II.
OpenERP sẽ được cài trên ít nhất 2 server và kết nối đến PostgreSQL thông quan tool nói trên. Cụm server OpenERP này phải được thiết lập Load Balancing + High Availability + Failover. Có thể sử dụng HeartBeat và NginX để thực hiện các tính năng này. Nếu các tập tin đính kèm của user trong OpenERp được lưu trên PostgreSQL chứ không lưu trên file system của OpenERP servers thì chỉ cần NginX là đủ
Ngoài ra, cần phải có nguồn điện ổn định để nuôi đám server này. Với tình hình điện đóm ở VN thì chắc sẽ phải có một giàn UPS đủ để nuôi đám server này trong vòng ít nhất 24 giờ.
À, bạn cần thêm một vài đồng chí chuyên về system administration để chăm sóc đám server này nữa.
Có mấy phương án sau:
- Phương án 1: triển khai WAN nếu doanh nghiệp đã có WAN (chi phí cao) vì sẽ phải có kết nối WAN băng rộng để kết nối các chi nhánh và trụ sở chính.
- Phương án 2: publish ERP Server lên Internet (chi phí trung bình) nhưng nhiều rủi ro bị tấn công. Cách này sẽ cần một system admin tay nghề cao và am hiểu về security.
- Phương án 3: sử dụng nền tảng điện toán đám mây ERPOnline (chi phí thấp nhất, rủi ro thấp nhất)