Чи варто переходити з технології Microsoft на Linux, NodeJS та інші рамки з відкритим кодом, щоб заощадити гроші на стартап? [зачинено]


32

Зараз я беру участь у стартапі, я є єдиним розробником, який займається на даний момент, а інші хлопці поки залишають усі технічні рішення на мене.

Для своєї робочої дня я працюю в програмному будинку, який щодня використовує технологію Microsoft, ми використовуємо .NET, SqlServer, Windows Server і т.д. короткий погляд на вартість хостингу для Windows. Я був вражений, коли побачив деякі ціни на виділений сервер. Найдешевший я знайшов 100 фунтів на місяць. Крім того, якщо бізнесу в майбутньому необхідно масштабувати, і нам потрібні декілька серверів, ми можемо в кінцевому підсумку виграти 10 фунтів стерлінгів в розмірі 000 фунтів на рік у ліцензіях на SQL Server / Windows Server тощо.

Тоді я швидко ознайомився з ціною хостингу Linux для виділеного сервера і побачив, що ціна була waaaaaay нижче, ніж хостинг для Windows. Одне місце пропонувало машину з 2 ядрами менше 20 фунтів на місяць.

Це змусило мене думати, можливо, шлях до відкритого коду в Linux.

Оскільки я пишу багато Javascript на роботі (я зараз працюю над однією сторінкою на основі програми), я подумав, що, можливо, NodeJS та веб-фреймворк, як Express, було б крутим у використанні. Тоді я думав, що замість використання SQL, чому б не використовувати відкриту коду бази даних NoSQL на зразок MongoDB, яка має чудову підтримку NodeJS?

Мене єдине занепокоєння полягає в тому, що частина роботи, яку буде робити додаток, - це динамічно створювати зображення та різні інші речі, пов'язані із зображеннями, тобто речі, які є досить важкими для процесора - тому я думаю про те, щоб написати щось важке для процесора на C ++ і споживає його як модуль у Node.

Це є основою, але в основному Linux - це хороша відповідність для:

  1. Хостинг сайту NodeJS / Express?
  2. Компіляція модулів вузла C ++?
  3. Використовуєте БД NoSQL на зразок MongoDB?

І чи гарна ідея перейти до цих незнайомих технологій, щоб заощадити гроші?


3 МІСЯЦЬ ОНОВЛЕННЯ

Я працюю над цим протягом останніх кількох місяців, тому думав, що хочу оновити інформацію, якщо хтось зацікавиться.

Врешті-решт я вирішив проти використання стека NodeJS & Linux з простої причини часу. Я займаюся цим запуском збоку, тому працюю 9 годинних днів, потім їду додому і працюю до пізнього старту. Працюючи таким чином, я, очевидно, повинен бути максимально ефективним зі своїм часом, інакше я ніколи не закінчую доставку товару.

Після отримання деяких порад з цієї теми я подав заявку на Microsoft BizSpark, і був прийнятий. Це означає, що тепер у мене є доступ до ліцензії Visual Studio, ліцензії Windows Server тощо, і все це безкоштовно. Що є дивним. Сподіваємось, до того часу, коли ми вимагатимемо почати платити за все, що ми перекинемо достатньо, це зробить це не проблемою.

Не думаю, що я використовую лише техніку Microsoft, оскільки я намагався використовувати матеріали з відкритим кодом, де це можливо. Основне місце, що я зробив це, - це мій рівень даних, де я вирішив використовувати PostgreSQL та MongoDB. Я також використовую BackboneJS на передньому кінці.

Нижче наведено короткий опис технологій / рамок, якими я зараз користуюся:

  • Стандартні речі в DB: PostreSQL
  • Журнал і зберігання даних: MongoDB
  • ORM: Рамкова структура 5
  • Основні бібліотеки: .NET (C #)
  • Веб-рамка: ASP.NET MVC3
  • Користувальницький інтерфейс: двигун перегляду бризок / BackboneJS

3
Ви досліджували Mono? C # і більшість фреймворків, в Linux. Я не використовував це в гніві, це лише думка.
TarkaDaal

5
На початкових рівнях запуску нічого, що ви не можете безкоштовно отримати від Microsoft, що не відповідає вашим потребам. Після цього ви можете використовувати їх програму BizSpark для полегшення запуску, поки не отримаєте значного доходу. Навіть коли ви починаєте використовувати відкриті продукти, ви, можливо, в якийсь момент отримаєте такий вартісний продукт, як Oracle DB, або що завгодно, коли достатньо виросте.
Ріг

1
Я сьогодні фактично дивився на BizSpark, ви можете отримувати в основному все їх програмне забезпечення безкоштовно / поки ваш бізнес не заробляє 1 мільйон доларів на рік. Дійсно, дійсно, я думаю, якщо вона почне перевертати на 1 мільйон на рік кілька сотень фунтів на місяць на серверах буде чудовою проблемою!
сонник

2
@dormisher: Bizspark триває лише 3 роки. Тоді ви можете гарантувати, що MS поступить у двері, пропонуючи "переглянути свої ліцензійні потреби". microsoft.com/bizspark/faqs.aspx#16
gbjbaanb

1
@gbjbaanb, "Обчислювальна техніка є другою за величиною причиною парникових газів (поруч із авіакомпаніями)" ... Чи є у вас надійне джерело для цього сміття? Або ти просто повторюєш дурниці, які тобі сказав хтось інший? Більшість джерел, які я досліджував у минулому, ставлять автомобільний рух на №1.
пісок

Відповіді:


35

100 фунтів / місяць? Скільки ти коштуєш? Скільки буде коштувати ваше навчання ?

Якщо це 100 фунтів / місяць, але ви можете запустити додаток .NET за місяць, тоді як для запуску програми node.js / C ++ вам знадобиться принаймні від 3 до 6 місяців, перейдіть на .NET. Серйозно. Ваш час набагато дорожчий, ніж ці маленькі 100 фунтів / місяць.

В ідеалі, так, ви праві в своєму аналізі. Те, що ви забули, - це як довго буде потрібно, щоб ви все це будували (тобто місяці), особливо в технології, якої ви не знаєте.

Тепер не зрозумійте мене неправильно, я величезний шанувальник Node.js і подібних (просто дивіться мій профіль github ...). Я витратив більше ніж достатньо часу, щоб знати, коли його використовувати. Використовувати його, коли ви не знаєте про це в умовах запуску (куди вам потрібно відправити ), насправді не найкраще рішення.

Крім того, я дійсно не впевнений, чи могло це працювати, але не забувайте про Mono.

PS: вміння використовувати jQuery - це дуже мала допомога для node.js. Знання JavaScript - це велика допомога. Не плутати обох.


Я думав про те, скільки часу це займе у мене, і я розірваний між .NET і Node. Просто дуже важко дізнатися, скільки часу мені доведеться за допомогою Node. Ви бачите, що фактичний сайт в основному буде розміщений на клієнті, так що більшість бізнес-логіки буде фактично на клієнта. Отже, що стосується .NET або Node - це насправді не має значення. Я не думаю, що написання набору API на зворотному кінці в ASP.NET WebAPI проти Node не призведе до величезних змін. І я думаю, що якщо я використовую ORM поверх MongoDB, все, що я роблю насправді, це грати з JSON, нічого складного.
сонник

1
@dormisher Якщо це просто сервер REST, то так, я думаю, частина вузла не буде болем (а є кращі інструменти, то виражайте :-)). Для важкої частини процесора вам це очевидно потрібно робити на C ++. Залежить від того, як можна з цим впоратися.
Флоріан Маргайн


4
Я дуже хочу, щоб люди перестали говорити такі речі, як "Mono is .NET на Linux!" Це не так. Це факсимільне наближення. Її близькість, але є крива навчання. Плюс інструменти розробки не такі вишукані.
Ріг

4
"Більшість ділової логіки буде фактично на клієнті". Значить, більшість бізнес-логіки буде доступна в простому тексті для кожного, хто переглядає ваш сайт? Ви можете переосмислити це.
Адріан Дж. Морено

14

Часто варто перейти до стеку з відкритим кодом, але це, швидше за все, керується комбінацією факторів:

  • Вартість - так, ви заощадите гроші на ліцензуванні та хостингу. Але, мабуть, недостатньо, щоб скасувати рішення в більшості випадків. Якщо ви не можете собі дозволити або зібрати кілька тисяч доларів, то чи справді ви впевнені, що вам слід робити стартап незалежно від місця, на яке ви орієнтуєтесь? Ваш час коштує більше, ніж невелика кількість готівки.
  • Уникнення блокування платформи : важливо, якщо ви хочете мати гнучкість для збільшення масштабів, не покладаючись на одну платформу, керовану постачальником. Ви не хочете, щоб технологічна доля вашої компанії була пов'язана з примхою одного постачальника (особливо такого, як Microsoft, який не є найвідомішим за довготривалу послідовність його технологій).
  • Конкретні технології - світ з відкритим кодом має деякі вражаючі рішення, які ви можете віддати перевагу (всі інші рівні) порівняно з еквівалентами Microsoft. Подивіться, наприклад, на деяких Java-рішеннях великих даних, таких як Hadoop або Cassandra, наприклад ....
  • Продуктивність - деякі рішення з відкритим кодом є вражаючими, коли ви швидко зробите з ними швидкість - Ruby on Rails, Clojure тощо.
  • Спільнота - спільноти з відкритим кодом дуже корисні і зазвичай можуть допомогти вам вирішити безліч питань безкоштовно через форуми, Інтернет-документацію, кімнати IRC тощо.

Зрозуміло, що вам доведеться це збалансувати в порівнянні з часом, який знадобиться для вивчення нових платформ та технологій з відкритим кодом, якщо ви зараз маєте переважно навички Microsoft.

Загальний виклик:

  • Якщо у вас вже є набір навичок, то я, як правило, рекомендую пройти маршрут з відкритим кодом. Мій досвід полягає в тому, що це працює краще в довгостроковій перспективі.
  • Якщо у вас є лише навички Microsoft, то, я думаю, ви, ймовірно, захочете дотримуватися Microsoft виключно з тієї причини, що ви будете швидше вставати та працювати. Стартапам потрібно рухатись швидко, а вивчення абсолютно нового стека технологій не є зайвою проблемою, яку ви хочете мати на своїй тарілці.

3
Якщо ви переходите (як вони пропонують) на C ++, вони все ще матимуть платформу для замикання, просто іншу платформу ... А що стосується корисних спільнот, то найчастіше стандартна відповідь - ось джерело, зрозумійте самі "або" якщо ви пожертвуєте достатньою
мірою

8

Вартість продуктів Microsoft може бути не такою поганою, як ви думаєте. У Microsoft є різні схеми, які значно знижують витрати на їх програмне забезпечення. Більшість з них спрямовані на компанії з розробки програмного забезпечення, але може бути пакет, який відповідає вашим потребам.

Приклади:

BizSpark - безкоштовне програмне забезпечення MS для стартапів

TechNet - Дешеве програмне забезпечення MS - близько 199 - 599 $ на рік.

Можливо, варто заглянути, ви просто можете отримати право на деякі пропозиції.


3
Bizspark - 3 роки безкоштовних матеріалів. Technet / MSDN - безкоштовно, але не для виробництва. Тож, хоча ви можете розробити його, ви не можете розгорнути свій код, якщо не заплатите за всі повні ліцензії.
gbjbaanb

@gbjbaanb - Що не так з 3 роками безкоштовних речей? Technet / MSDN не є безкоштовним, це для розвитку, що вони роблять.
Рамхаунд

1
@Ramhound: відповідь запропонувала Technet для них, вони хотіли знати, скільки коштують виробничі ліцензії. Занадто багато людей думають, що підрозділ MSND або Technet надає їм безкоштовне програмне забезпечення (поки MS не перевіряє їх, що це є). ОП ніколи не просив ліцензій на розробку, лише SQLServer та Windows. 3 роки безкоштовних - це чудово, поки не настане 4 рік, і ви повинні розібратися, скільки саме до чого звикли.
gbjbaanb

Майкрософт запропонує ліцензування знижок через 3 роки, якщо ви не великий виробник грошей .. якщо ви заробляєте гроші ... доведеться платити податківцю
hanzolo

6

Це не лише вартість сервера в 100 фунтів / місяць, для роботи вам потрібна належна ліцензована копія Windows, Visual Studio тощо тощо. Вони значно збільшуються, якщо ви робите це, не вдаючись до програмного піратства. І як тільки ви почнете масштабувати і вимагати набагато більше серверів, а також копіювати SQLServer, надмірність і все інше .. ну, просто пам’ятайте, що MS не заробляє мільярди доларів від свого відділу серверів та інструментів, тому що вони віддають його. Хоча вартість вашого часу, поки ви швидко зробите, буде більшою, ніж використання того, що ви вже знаєте, в довгостроковій перспективі переваги вартості OSS значно перевершать ваші початкові інвестиції у часі.

В основному, хоча ви можете насторожено намагатися це випробувати за допомогою незнайомих технологій, ви повинні усвідомити, що ви все одно будете працювати з новою технікою. Використовувати node.js не особливо складно, особливо якщо ви вже знаєте JavaScript, тому ваші додаткові витрати на ознайомлення з ним будуть вимірюватися днями, а не місяцями. Існує безліч навчальних посібників та прикладів, які допоможуть вам запустити та працювати з прототипним кодом за найкоротший час, і, швидше за все, ви потрапите на стіну переписання, як тільки ваш запуск стане успішним, незалежно від того, на якій мові ви пишете весь свій код.

Так що в будь-якому випадку, Linux ідеально підходить для кодування C / C ++, ви знайдете його одну з найпопулярніших систем для Linux, якщо не найпопулярнішу. MongoDB теж чудовий вибір, мабуть, підтримка від 10gen досить гарна. Node.js теж хороший, хоча ви можете в кінцевому підсумку або записати більшість серверів у вузол, або використовувати його як просту обгортку для пропуску до вашого коду C ++, залежно від того, наскільки зручно вам користуватися будь-якою з цих мов.

І це добре масштабує. Я б запропонував вам слідкувати за Postgresql, оскільки тепер він має тип стовпця JSON, який дасть вам велику кількість переваг БД NoSQL, але також дозволить також використовувати реляційні функції БД. Postgresql непомітний, я використовував його як частину системи для екстрених служб, щоб ви могли довіряти йому надійності (менше простоїв, ніж SQLServer на тому ж проекті насправді!)

Для IDE в Linux потрібно затемнення. Так само, як і Visual Studio, хоча встановлення пакетів для CDT (інструментів C dev) трохи складніше.

Нарешті, корисно вивчати нові речі, ви можете насолоджуватися досвідом Linux настільки, що ненавидите працювати. :)


8
"Ви хочете затемнення. Так само, як і Visual Studio" я піднімаю там головний прапор BS. Eclipse навіть не на одному рівні Visual Studio. Її роки за ним. Може, десятиліття.
Ріг

4
Програмне забезпечення Microsoft безкоштовне для запуску. BizSpark . Стартапи не мають грошей. Вони повинні витрачати мінімальний час на навчання чи навчання. Після того, як ви "почнете масштабувати і вимагати завантаження більше серверів", і доведеться платити Microsoft, я сподіваюся, що ви будете отримувати значний дохід. Ви зможете собі це дозволити. Ви особисто, напевно, зараз будете в залі засідань або навіть у пляжному будинку на мільйон доларів, і ви делегуєте ці проблеми своїм ледарям. Не переживайте над довгостроковим масштабуванням. Турбуйтеся про отримання клієнтів та заробіток якнайшвидше.
MarkJ

4
@Rig Eclipse дуже хороший, він схожий на VS, налагодження як VS і має безліч функцій, як VS. Подібність закінчується, коли ви придивитесь уважніше, але я не знайшов великої різниці в щоденному кодуванні.
gbjbaanb

2
Я думаю, є причина, що більша частина Інтернету працює на Linux та OSS. Більшість стартапів також не продають Microsoft за $ 8 млрд. Таким чином, ви дійсно торгуєтеся на короткострокові вигоди (в чому я не переконаний, що це теж велика вартість) на довгострокові витрати, які будуть вживатися у ваші грошові потоки. Грошовий потік дуже важливий для стартапів.
gbjbaanb

3
@gbjbaanb Сказати, що Eclipse - це «як» візуальна студія - це сказати, що жаба - це як принц.
Ріг

4

Я не маю думки щодо серверної частини вашого питання, (вузол, на мій погляд, працює чудово, припускаючи, що ви знаєте JavaScript). Однак я скажу, що бази даних noSQL дуже добре працюють з серверами Linux. Зараз я використовую реалізацію CouchDB (просто реплікація whooo!), На сервері linux, і абсолютно люблю це. Що стосується компіляції модулів C ++, я б рекомендував пов'язувати процесорну інтенсивну роботу в JavaScript. Після того, як ви змусите його працювати і вирішити його повільно, тоді підніміться на пагорб модуля C ++. На моєму досвіді, маніпулюючи закодованим зображенням, вузол може закінчитися нормально для ваших потреб процесора.


1
Я маю на увазі, що єдина база даних, в яку я працюю, не працює добре з серверами Linux - це MS SQL Server.
TMN

2

"Спочатку зробіть це. Потім, зробіть це правильно. Потім, зробіть це добре ".

Я б запропонував запустити якомога раніше за технологією, яка робить це можливим. Якщо ви пізніше не маєте варіантів, кодуйте таким чином, що можлива заміна модулів та повільна перехід на щось інше. Пам’ятайте лише, що бізнес має набути достатньої популярності для того, щоб його отримати, і незабаром у вас є робочий продукт.


2

Як невеликий запуск, вам ще не потрібні спеціальні сервери. Ви можете вибрати хмару, яка дешевша і вже включає ліцензії MS. І ви б використовували той самий стек, що і зараз.

Є багато причин перейти на платформу Open Source, але заощадження кількох доларів на хостингу не одна з них.

Також майте на увазі, що платформа SysOps для Unix / Linux зазвичай платить більше, ніж SysOps для Windows. Таким чином ваша "економія" може в кінцевому рахунку коштувати вам дорожче.


1

Ви дійсно дивитесь на основні зрушення парадигми тут із незнайомими технологіями. Я мав добрий успіх у перетворенні програм ASP.NET 2.0 та запуску їх на вершині моно з сторонніми бібліотеками. http://www.ubiquityhosting.com/ забезпечує дешевий моно хостинг. І MySql, і Postgres підтримують роз'єми ADO.NET, що економить вам багато часу на розробку. Як правило, я розробляю всі мої бази даних в студії управління сервером sql, потім вношу незначні зміни у вихідний задачу створення скриптів sql, щоб змусити їх працювати в mysql \ postgres. Я думаю, це буде працювати аналогічно для ОРМ, як NHibernate.

Що стосується програми C ++, ви завжди можете влаштувати кілька боксерів самостійно, якщо робота в резервному режимі є важкою процесором і не є пропускною здатністю, щоб уникнути витрат на низькому рівні, щоб не уникати виділених серверів. Потрійні основні машини з 2 до 4 ГБ оперативної пам’яті дешеві, а Linux працює над ними.

Нарешті, найкраще зосередити більше зусиль на функціях, UI \ UX, графічному інтерфейсі та рекламі, які продаватимуть ваш додаток, а не базовий стек технологій. Якщо ви почнете отримувати велику кількість трафіку одразу, ви завжди можете переїхати в блакит або амазонку, щоб краще впоратися з вантажем.


1

Для своєї робочої дня я працюю в програмному будинку, який щодня використовує технологію Microsoft, ми використовуємо .NET, SqlServer, Windows Server і т.д. короткий огляд вартості хостингу для Windows. Я був вражений, коли побачив деякі ціни на виділений сервер. Найдешевший я знайшов 100 фунтів на місяць. Крім того, якщо бізнесу в майбутньому необхідно масштабувати, і нам потрібні декілька серверів, ми можемо в кінцевому підсумку виграти 10 фунтів стерлінгів в розмірі 000 фунтів на рік у ліцензіях на SQL Server / Windows Server тощо.

Якщо ви досягнете такого масштабу, який вимагає таких грошей, то теоретично ваш дохід буде відповідати цим витратам, і ви зможете отримати кращі пропозиції та розмістити речі зі своїм власним обладнанням. Однією з причин, коли ваші котирування є настільки високими, є те, що ви здаєте обладнання в оренду, а не купуєте його та не хостите самі (cerca facebook, Amazon, Microsoft).

Тоді я швидко ознайомився з ціною хостингу Linux для виділеного сервера і побачив, що ціна була waaaaaay нижче, ніж хостинг для Windows. Одне місце пропонувало машину з 2 ядрами менше 20 фунтів на місяць.

Перше моє запитання - "що не так з компанією, що пропонує такі ціни", і скільки коштував Linux сервер у тій же компанії, що і Windows сервер буде коштувати? Я знаю, що я задаю питання у відповідь, але саме питання - це відповідь.

Оскільки я пишу багато Javascript на роботі (я зараз працюю над однією сторінкою на основі програми), я подумав, що, можливо, NodeJS та веб-фреймворк, як Express, було б крутим у використанні. Тоді я думав, що замість використання SQL, чому б не використовувати відкриту коду бази даних NoSQL на зразок MongoDB, яка має чудову підтримку NodeJS?

Мене єдине занепокоєння полягає в тому, що частина роботи, яку буде робити додаток, - це динамічно створювати зображення та різні інші речі, пов'язані із зображеннями, тобто речі, які є досить важкими для процесора - тому я думаю про те, щоб написати щось важке для процесора на C ++ і споживає його як модуль у Node.

Моя єдина пропозиція - використовувати те, з чим ти знайомий. Використовуйте наявні програми, щоб допомогти таким підприємствам, як ваш, досягти успіху, як тільки ви досягнете цього успіху, ви зможете реалізувати та внести майже будь-які зміни, які хочете. Якщо у вас є такий успіх, і ви можете дозволити собі більш високі ціни, ви можете вирішити, що це насправді не є проблемою.

Як я казав, ваші турботи є здоровими, але ви дивитесь на це з правильної шкали, чи переглядали ви бізнес-прогнози, щоб допомогти вам вирішити, що робити? Я усвідомлюю, що ви вже вирішили (за короткий час), що в принципі збираєтесь робити.

Постарайтеся поглянути на більшу картину, ви не збираєтесь платити жодній компанії такі гроші, щоб розмістити ваші сервери, швидше за все, це зробите самі.


0

Майже 10 років тому я опинився в тій же ситуації. Однак все моє програмне забезпечення Microsoft було передано мені, і я мав родича, який був менеджером у великому магазині Microsoft, який допомагав мені розвиватися. Через рік і 50 тис. Доларів витрат пізніше Microsoft внесла зміни в .NET, які кинули все в цикл, і нам довелося починати заново (Довга історія. Не питайте.).

За порадою мого родича ми перейшли на FreeBSD та Linux і через три місяці відновили все практично нічого, використовуючи ті самі люди. Зараз ми процвітаємо у малому бізнесі веб-розробників і з тих пір не потрібно було купувати жодне програмне забезпечення (або апаратне забезпечення).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.