Saat ini saya terlibat dalam startup, saya satu-satunya pengembang yang terlibat saat ini, dan yang lainnya menyerahkan semua keputusan teknologi kepada saya saat ini.
Untuk pekerjaan harian saya, saya bekerja di rumah peranti lunak yang menggunakan teknologi Microsoft setiap hari, kami menggunakan .NET, SqlServer, Windows Server, dll. Namun, saya menyadari bahwa sebagai startup kami perlu menekan biaya, dan setelah memiliki melihat sekilas pada biaya hosting untuk Windows Saya terkejut melihat beberapa harga untuk server khusus. Yang termurah yang saya temukan adalah £ 100 sebulan. Juga jika bisnis perlu ditingkatkan di masa depan dan kami akhirnya membutuhkan beberapa server, kami akhirnya dapat mengeluarkan £ 10's dari £ 000's setahun dalam lisensi SQL Server / Windows Server dll.
Saya kemudian melihat harga Linux hosting untuk dedicated server dan melihat harganya lebih rendah dari windows hosting. Satu tempat menawarkan mesin dengan 2 core dengan harga kurang dari £ 20 sebulan.
Ini membuat saya berpikir mungkin cara untuk pergi adalah open source di Linux.
Saat saya menulis banyak Javascript di tempat kerja (saya sedang mengerjakan satu aplikasi backbone halaman saat ini), saya pikir mungkin NodeJS dan kerangka kerja web seperti Express akan keren untuk digunakan. Saya kemudian berpikir bahwa alih-alih menggunakan SQL mengapa tidak menggunakan database NoSQL open source seperti MongoDB, yang memiliki dukungan besar pada NodeJS?
Satu-satunya kekhawatiran saya adalah bahwa beberapa pekerjaan yang akan dilakukan aplikasi akan secara dinamis membangun gambar dan berbagai hal terkait gambar lainnya, yaitu hal-hal yang cukup berat CPU - jadi saya berpikir mungkin menulis apa pun yang berat CPU dalam C ++ dan mengkonsumsinya sebagai modul di Node.
Itulah latar belakangnya - tetapi pada dasarnya Linux cocok untuk:
- Hosting situs NodeJS / Ekspres?
- Mengkompilasi modul simpul C ++?
- Menggunakan DB NoSQL seperti MongoDB?
Dan apakah itu ide yang baik untuk pindah ke teknologi yang tidak dikenal ini untuk menghemat uang?
3 PEMBARUAN BULAN
Saya telah mengerjakan ini selama beberapa bulan terakhir sekarang jadi saya pikir saya akan memberikan pembaruan jika ada yang tertarik.
Pada akhirnya saya memutuskan untuk tidak menggunakan tumpukan NodeJS & Linux karena alasan waktu yang sederhana. Saya melakukan startup ini di samping, jadi saya bekerja 9 jam sehari, kemudian pulang dan bekerja sampai terlambat pada startup. Saat bekerja dengan cara ini, saya jelas perlu seefisien mungkin dengan waktu saya, atau saya tidak akan pernah akhirnya mengirim produk.
Setelah menerima beberapa saran di utas ini, saya mengajukan permohonan untuk Microsoft BizSpark, dan diterima. Ini berarti saya sekarang memiliki akses ke lisensi Visual Studio, lisensi Windows Server dll, semuanya gratis. Itu luar biasa. Mudah-mudahan pada saat kita diharuskan untuk mulai membayar semua yang kita akan cukup membalikkan sehingga tidak menjadi masalah.
Jangan berpikir saya hanya menggunakan teknologi Microsoft, karena saya telah mencoba menggunakan hal-hal open source jika memungkinkan. Tempat utama yang saya lakukan ini adalah lapisan data saya, di mana saya memutuskan untuk menggunakan PostgreSQL dan MongoDB. Saya juga menggunakan BackboneJS di ujung depan saya.
Di bawah ini adalah ringkasan dari teknologi / kerangka kerja yang saya gunakan saat ini:
- Hal-hal DB standar: PostreSQL
- Pencatatan & Penyimpanan Data: MongoDB
- ORM: Kerangka Entitas 5
- Pustaka inti: .NET (C #)
- Kerangka Web: ASP.NET MVC3
- UI: Mesin tampilan silet / BackboneJS
sumber
Jawaban:
£ 100 / bulan? Berapa biaya anda ? Berapa biaya pelatihan Anda ?
Jika £ 100 / bulan tetapi Anda bisa mendapatkan aplikasi .NET dalam sebulan, sementara Anda membutuhkan setidaknya 3 hingga 6 bulan untuk menjalankan aplikasi node.js / C ++ Anda, gunakan .NET. Serius. Waktu Anda jauh lebih mahal daripada £ 100 / bulan kecil ini.
Idealnya, ya, Anda benar dalam analisis Anda. Apa yang Anda lupa adalah berapa lama waktu yang Anda butuhkan untuk membangun semua ini (yaitu bulan) terutama dalam teknologi yang tidak Anda ketahui.
Sekarang jangan salah paham, saya penggemar berat Node.js dan sejenisnya (lihat saja profil github saya ...). Saya telah menghabiskan lebih dari cukup waktu untuk mengetahui kapan menggunakannya. Menggunakannya ketika Anda tidak tahu tentang hal itu di lingkungan startup (di mana Anda perlu mengirim ) bukanlah solusi terbaik.
Juga, saya benar-benar tidak yakin apakah ini bisa berhasil, tetapi jangan lupakan Mono.
PS: mengetahui cara menggunakan jQuery adalah sedikit bantuan untuk node.js. Mengetahui javascript sangat membantu. Jangan membingungkan keduanya.
sumber
Seringkali itu layak untuk dipindahkan ke tumpukan open source, tetapi lebih cenderung didorong oleh kombinasi faktor:
Anda harus menyeimbangkan ini, tentu saja, dengan waktu yang diperlukan untuk mempelajari platform dan teknologi open source baru jika saat ini Anda memiliki sebagian besar keterampilan Microsoft.
Secara keseluruhan, ini panggilan akrab:
sumber
Biaya produk Microsoft mungkin tidak seburuk yang Anda pikirkan. Microsoft memiliki berbagai skema yang tersedia yang sangat mengurangi biaya perangkat lunak mereka. Sebagian besar ditujukan untuk perusahaan pengembang perangkat lunak, tetapi mungkin ada paket yang memenuhi kebutuhan Anda.
Contoh:
BizSpark - Perangkat Lunak MS Gratis Untuk Startup
TechNet - Perangkat Lunak MS Murah - sekitar $ 199 - $ 599 per tahun.
Mungkin layak untuk dilihat, Anda mungkin memenuhi syarat untuk beberapa penawaran.
sumber
Ini bukan hanya biaya server £ 100 / bulan itu, Anda akan memerlukan salinan Windows, Visual Studio, dll yang berlisensi dengan benar untuk bekerja dengannya. Ini bertambah banyak jika Anda melakukannya tanpa menggunakan pembajakan perangkat lunak. Dan begitu Anda mulai skala dan membutuhkan lebih banyak server, dan mereplikasi SQLServer, redundansi dan semua yang lain .. well, ingatlah MS tidak mendapatkan miliaran dolar dari divisi Server dan Tools mereka karena mereka memberikannya. Meskipun biaya waktu Anda saat Anda mencapai kecepatan akan lebih besar daripada menggunakan apa yang sudah Anda ketahui, dalam jangka panjang, manfaat biaya OSS akan jauh lebih besar daripada investasi awal Anda dalam waktu.
Pada intinya, walaupun Anda mungkin waspada untuk mencoba ini menggunakan teknologi asing, Anda harus menyadari bahwa Anda akan bekerja dengan teknologi baru sepanjang waktu. Menggunakan node.js tidak terlalu sulit, terutama jika Anda sudah tahu javascript, sehingga biaya tambahan Anda untuk menjadi sedikit lebih akrab dengannya akan diukur dalam hitungan hari daripada bulan. Ada banyak tutorial dan contoh yang akan membuat Anda bangun dan berjalan dengan kode prototipe dalam waktu singkat, dan kemungkinan Anda akan mencapai dinding penulisan ulang begitu startup Anda menjadi sukses tidak peduli bahasa apa yang Anda gunakan untuk memasukkan semua kode Anda.
Jadi, bagaimanapun, Linux sangat cocok untuk pengkodean C / C ++, Anda akan menemukan salah satu sistem yang paling populer untuk Linux, jika bukan yang paling populer. MongoDB adalah pilihan yang bagus juga, ternyata dukungan dari 10gen cukup bagus. Node.js juga baik, meskipun Anda mungkin akhirnya menulis sebagian besar server Anda di node, atau menggunakannya sebagai pembungkus pass-through sederhana ke kode C ++ Anda, tergantung pada seberapa nyaman Anda dengan salah satu bahasa tersebut.
Dan itu bersisik dengan baik. Saya akan menyarankan Anda mengawasi Postgresql karena sekarang memiliki jenis kolom JSON yang akan memberi Anda banyak manfaat dari DB NoSQL, tetapi memungkinkan Anda fitur DB relasional juga. Postgresql sangat solid, saya menggunakannya sebagai bagian dari sistem untuk layanan darurat sehingga Anda dapat mempercayainya untuk keandalan (waktu henti yang lebih sedikit daripada SQLServer pada proyek yang sama sebenarnya!)
Untuk IDE di Linux, Anda ingin gerhana. Sama seperti Visual Studio meskipun menginstal paket untuk CDT (alat C dev) sedikit lebih rumit.
Terakhir, bagus untuk mempelajari hal-hal baru, Anda mungkin sangat menikmati pengalaman Linux sehingga Anda tidak akan suka bekerja :)
sumber
Saya tidak benar-benar memiliki pendapat pada bagian server dari pertanyaan Anda, (simpul berfungsi dengan baik menurut saya, dengan asumsi Anda tahu javascript). Namun saya akan mengatakan bahwa database noSQL bekerja sangat baik dengan server linux. Saya saat ini menggunakan implementasi CouchDB, (replikasi whooo mudah!), Pada server linux dan benar-benar menyukainya. Sejauh mengkompilasi modul C ++, saya akan merekomendasikan mengikat pekerjaan intensif CPU dalam javascript. Setelah Anda membuatnya bekerja dan memutuskan lambat, lalu naik bukit modul C ++. Dalam pengalaman saya, memiliki manipulasi gambar yang dikodekan, node mungkin akhirnya bekerja dengan baik untuk kebutuhan cpu Anda.
sumber
"Pertama, buat itu. Lalu, buat yang benar. Lalu, buat yang bagus ."
Saya sarankan meluncurkan sedini mungkin, pada teknologi yang memungkinkan itu terjadi. Jika Anda khawatir tidak memiliki opsi di lain waktu, kode sedemikian rupa sehingga bertukar modul dan bermigrasi secara perlahan ke hal lain dimungkinkan. Ingatlah bahwa bisnis harus cukup populer untuk menjaminnya, dan Anda harus segera memiliki produk yang berfungsi.
sumber
Sebagai perusahaan pemula kecil, Anda belum memerlukan server khusus. Anda dapat memilih cloud, yang lebih murah dan sudah termasuk lisensi MS. Dan Anda akan menggunakan tumpukan yang sama seperti saat ini.
Ada banyak alasan untuk beralih ke platform Open Source, tetapi menghemat beberapa dolar di hosting bukan salah satunya.
Juga, perlu diingat bahwa SysOps untuk platform Unix / Linux biasanya dibayar lebih dari SysOps untuk Windows. Dengan demikian, "tabungan" Anda mungkin berakhir lebih mahal.
sumber
Anda benar-benar melihat pergeseran paradigma besar di sini dengan teknologi yang tidak dikenal. Saya sukses dengan mengkonversi aplikasi ASP.NET 2.0 dan menjalankannya di atas mono dengan perpustakaan pihak ke-3. http://www.ubiquityhosting.com/ menyediakan hosting mono murah. Baik MySql dan Postgres mendukung konektor ADO.NET yang menghemat banyak waktu pengembangan. Saya biasanya mengembangkan semua database saya di studio manajemen server sql kemudian membuat perubahan kecil pada output tugas skrip sql menghasilkan agar mereka bekerja di mysql \ postgres. Saya membayangkan itu akan bekerja dengan cara yang sama untuk ORM seperti NHibernate.
Adapun aplikasi C ++, Anda selalu dapat meng-host beberapa boxen sendiri jika pekerjaan backend cpu berat dan tidak bandwidth yang berat untuk menjaga biaya rendah dari menghindari server khusus. Mesin triple core dengan ram 2 hingga 4 GB murah dengan linux berjalan di atasnya.
Akhirnya yang terbaik adalah memfokuskan lebih banyak upaya pada fitur, UI \ UX, antarmuka grafis dan iklan yang akan menjual aplikasi Anda daripada tumpukan teknologi yang mendasarinya. Jika Anda mulai mendapatkan banyak lalu lintas segera, Anda selalu dapat pindah ke biru atau amazon untuk menangani beban dengan lebih baik.
sumber
Jika Anda mencapai skala yang membutuhkan uang sebanyak itu, maka secara teori penghasilan Anda akan cocok dengan pengeluaran itu dan Anda akan bisa mendapatkan penawaran yang lebih baik, dan meng-host barang-barang dengan perangkat keras Anda sendiri. Salah satu alasan kutipan Anda begitu tinggi, adalah karena perangkat keras Anda disewa, dan tidak membelinya serta menjadi hosting sendiri (cerca facebook, Amazon, Microsoft).
Pertanyaan pertama saya adalah "apa yang salah dengan perusahaan yang menawarkan harga semacam itu", dan berapa harga server linux di perusahaan yang sama dengan windows server? Saya tahu saya mengajukan pertanyaan dalam jawaban, tetapi pertanyaan itu sendiri, adalah jawabannya.
Satu-satunya saran saya adalah menggunakan apa yang Anda kenal. Gunakan program yang ada untuk membantu bisnis seperti milik Anda sukses, begitu Anda berhasil, Anda dapat menerapkan dan membuat perubahan APAPUN yang Anda inginkan. Jika Anda berhasil, dan Anda mampu membayar harga yang lebih tinggi, Anda mungkin memutuskan itu sebenarnya bukan masalah.
Seperti yang saya katakan, kekhawatiran Anda masuk akal, tetapi apakah Anda melihatnya dari skala yang benar, sudahkah Anda melihat proyeksi bisnis untuk membantu Anda memutuskan apa yang harus dilakukan? Saya sadar Anda sudah memutuskan (dalam waktu singkat) apa yang pada dasarnya akan Anda lakukan.
Coba saja lihat gambar yang lebih besar, Anda tidak akan membayar satu perusahaan pun yang menghasilkan uang untuk meng-host server Anda, Anda mungkin akan melakukannya sendiri.
sumber
Hampir 10 tahun yang lalu, saya berada dalam situasi yang sama. Namun, semua perangkat lunak Microsoft saya diserahkan kepada saya dan saya memiliki seorang kerabat yang adalah seorang manajer di sebuah toko Microsoft besar yang membantu saya dalam pengembangan. Satu tahun dan $ 50K dalam pengeluaran kemudian, Microsoft membuat perubahan.
Atas saran kerabat saya, kami beralih ke FreeBSD dan Linux dan, tiga bulan kemudian, membangun kembali semuanya tanpa menggunakan orang yang sama. Kami adalah bisnis dev web kecil yang berkembang sekarang dan tidak perlu membeli perangkat lunak (atau perangkat keras) sejak saat itu.
sumber