Tôi hiện đang tham gia vào một công ty khởi nghiệp, tôi là nhà phát triển duy nhất tham gia vào lúc này và những người khác đang để lại tất cả các quyết định công nghệ cho tôi vào lúc này.
Đối với công việc hàng ngày của tôi, tôi làm việc tại một nhà phần mềm sử dụng công nghệ Microsoft hàng ngày, chúng tôi sử dụng .NET, SqlServer, Windows Server, v.v. Tuy nhiên, tôi nhận thấy rằng khi khởi nghiệp, chúng tôi cần giảm chi phí và sau khi có Một cái nhìn ngắn gọn về chi phí lưu trữ cho Windows Tôi đã bị sốc khi thấy một số giá cho một máy chủ chuyên dụng. Giá rẻ nhất tôi tìm thấy là 100 bảng một tháng. Ngoài ra, nếu doanh nghiệp cần mở rộng quy mô trong tương lai và cuối cùng chúng tôi cần nhiều máy chủ, chúng tôi có thể sẽ loại bỏ £ 10 của £ 000 một năm trong giấy phép SQL Server / Windows Server, v.v.
Sau đó tôi đã xem nhanh giá lưu trữ Linux cho một máy chủ chuyên dụng và thấy giá thấp hơn so với lưu trữ windows. Một nơi đã cung cấp một máy có 2 lõi với giá dưới 20 bảng mỗi tháng.
Điều này khiến tôi nghĩ có lẽ con đường để đi là nguồn mở trên Linux.
Khi tôi viết rất nhiều Javascript tại nơi làm việc (hiện tại tôi đang làm việc trên một ứng dụng xương sống duy nhất), tôi nghĩ có lẽ NodeJS và một khung web như Express sẽ rất tuyệt khi sử dụng. Sau đó tôi đã nghĩ rằng thay vì sử dụng SQL, tại sao không sử dụng cơ sở dữ liệu NoQuery mã nguồn mở như MongoDB, có hỗ trợ tuyệt vời trên NodeJS?
Mối quan tâm duy nhất của tôi là một số công việc mà ứng dụng sẽ làm là xây dựng động các hình ảnh và nhiều thứ khác liên quan đến hình ảnh, tức là những thứ khá nặng CPU - vì vậy tôi nghĩ có thể viết bất cứ thứ gì nặng về CPU trong C ++ và tiêu thụ nó như một mô-đun trong Node.
Đó là nền tảng - nhưng về cơ bản, Linux là một kết hợp tốt cho:
- Lưu trữ một trang web NodeJS / Express?
- Biên dịch mô-đun nút C ++?
- Sử dụng DB NoQuery như MongoDB?
Và có nên chuyển sang những công nghệ xa lạ này để tiết kiệm tiền không?
CẬP NHẬT 3 THÁNG
Tôi đã làm việc này trong vài tháng qua vì vậy tôi nghĩ rằng tôi sẽ cập nhật trong trường hợp có ai quan tâm.
Cuối cùng, tôi quyết định không sử dụng ngăn xếp NodeJS & Linux vì lý do đơn giản là thời gian. Tôi đang làm công việc khởi nghiệp này ở bên, vì vậy tôi đang làm việc 9 giờ, sau đó về nhà và làm việc cho đến khi khởi động muộn. Trong khi làm việc theo cách này rõ ràng tôi cần phải hiệu quả với thời gian của mình nhất có thể, hoặc tôi sẽ không bao giờ kết thúc việc vận chuyển sản phẩm.
Sau khi thực hiện một số lời khuyên về chủ đề này, tôi đã đăng ký Microsoft BizSpark và được chấp nhận. Điều này có nghĩa là bây giờ tôi có quyền truy cập vào giấy phép Visual Studio, giấy phép Windows Server, v.v., tất cả đều miễn phí. Đó là tuyệt vời. Hy vọng đến lúc chúng tôi được yêu cầu bắt đầu trả tiền cho tất cả mọi thứ, chúng tôi sẽ chuyển qua đủ để điều đó không thành vấn đề.
Tuy nhiên, đừng nghĩ rằng tôi chỉ sử dụng công nghệ của Microsoft, vì tôi đã cố gắng sử dụng các công cụ nguồn mở nếu có thể. Nơi chính tôi đã thực hiện điều này là lớp dữ liệu của tôi, nơi tôi đã quyết định sử dụng PostgreSQL và MongoDB. Tôi cũng đang sử dụng BackboneJS ở mặt trước của mình.
Dưới đây là tóm tắt về công nghệ / khung mà tôi hiện đang sử dụng:
- Công cụ DB tiêu chuẩn: PostreSQL
- Ghi nhật ký và lưu trữ dữ liệu: MongoDB
- ORM: Khung thực thể 5
- Thư viện lõi: .NET (C #)
- Khung web: ASP.NET MVC3
- UI: Công cụ xem dao cạo / BackboneJS