Com'è possibile cambiare stack per l'impostazione di un avvio [chiuso]

5

Attualmente sono impiegato in un'azienda per 2,5 anni e ho lavorato con lo .net stack per l'intera durata principalmente nel framework MVC. Io credo ho alcune idee interessanti per una startup, ma non sono sicuro se dovrei continuare in questo stack o passare ad altri stack come Ruby on Rails.

Il motivo per cui considero questo switch è dovuto all'infrastruttura necessaria per ospitare un'applicazione dot net e ridimensionarla correttamente rispetto all'impostazione di un sito di esecuzione live su un altro stack.

In questo momento ho una buona conoscenza del dominio in dot net, ma credo che non dovrebbe essere così difficile passare a un nuovo stack e adottare le migliori pratiche che ho raccolto negli ultimi due anni.

Fammi sapere se mi manca qualcosa nel puzzle e se sto prendendo la decisione giusta? Ci sono delle complicazioni nell'apprendere un nuovo stack e costruirci sopra?

Per favore guidami nella giusta direzione.

    
posta Baz1nga 15.02.2012 - 19:20
fonte

4 risposte

8

Per prima cosa, sfatiamo il mito. Costa assolutamente niente per iniziare sulla piattaforma Microsoft. Tramite il programma Bizspark , puoi ottenere un abbonamento MSDN Ultimate (incluso mensile Credito di utilizzo di Windows Azure ) per un massimo di 5 sviluppatori gratuiti per tre anni. Una volta che un prototipo è in esecuzione in Azure, è possibile certificarlo (gratuitamente) per la qualifica per Cloud Essentials programma. Questo ti dà Office 365 (con licenze Office per desktop) per un massimo di 250 utenti gratuitamente e Dynamics CRM gratuitamente.

La distribuzione in Windows Azure è facile come la distribuzione in un'installazione locale di IIS.

Attivo all'attività di migrazione delle piattaforme. SEMPRE rabbrividisco ogni volta che sento qualcuno che dice "Posso applicare ciò che ho imparato sul linguaggio X sulla lingua Y". Anche prendendo il tempo per imparare una nuova sintassi fuori dal quadro, ci vuole tempo per mettersi a proprio agio con una piattaforma e produttiva e tanto meno efficiente. Pensa a quanto hai imparato in .NET negli ultimi 2 anni e mezzo. Si può presumere che ci vorrà almeno il 75% di quel tempo per diventare efficiente in una nuova piattaforma. Invece potresti passare i prossimi anni ad approfondire .NET.

Non sto dicendo che non è una buona cosa imparare e guadagnare esposizione a nuove lingue / piattaforme (sto imparando personalmente Erlang perché ritengo che possa fornire molti benefici come supplemento per .NET). Ma ci sono già troppe variabili coinvolte nell'avvio di un'azienda. Non aggiungerne volontariamente uno.

    
risposta data 15.02.2012 - 20:37
fonte
5

Ci sono molte complicazioni con lo switching stack, ma non sono insormontabili. Ecco cosa penso (il mio lavoro giornaliero è .NET, tutto il resto è open source).

Costo

Questo è il motivo per cui la maggior parte delle persone desidera passare all'open source o almeno a .NET. Quasi sempre costa di più configurare un'infrastruttura server decente per ospitare .NET. Se si utilizza un'infrastruttura cloud standard, la maggior parte delle società di hosting addebiterà da 3 a 10 volte di più al mese per i piani di base.

Dove diventa difficile misurare i costi di sviluppo a lungo termine su uno stack che non conosci ancora rispetto al costo opportunità di sviluppo su uno che fai. Tuttavia, se sei come un sacco di bootstrap, non hai molti soldi da spendere per l'hosting del server, e deve essere il più economico possibile.

Ad esempio, ho speso circa $ 150 il mio primo anno in hosting e le spese per la larghezza di banda per 1 piccolo server mentre stavo lavorando per impostare la mia attività. Se avessi scelto di andare con un server Microsoft, sarebbe costato di più perché semplicemente non consentono un numero limitato di server. E, SQL Server è super costoso. Sarebbe costato quasi $ 2000. Un server Ubuntu comparabile può costare circa $ 500.

Molto dipende dalla tua capacità di adattarsi e imparare un nuovo stack. Non è facile, perché come startup è molto più che imparare un linguaggio di programmazione. Devi configurare i server, gestire l'infrastruttura, i database, tutto. Ci sono servizi là fuori che offrono Platform as a Service e possono estorcere molta di questa gestione per te, ma spesso sono più soldi. Dovrai determinare se ne vale la pena.

Trasferimento di conoscenze

Dici che speri di adottare le migliori pratiche che hai imparato da .NET e trasferirle in un altro stack. La mia esperienza è che oltre alle tattiche di altissimo livello, stai praticamente buttando via qualsiasi cosa tu sappia su .NET Web Dev quando passi a qualcos'altro. Ci sono troppi pezzi, culture diverse e approcci diversi per ottenere davvero tanto riutilizzo.

Questa non è una brutta cosa però. Dovresti davvero imparare altri stack, poiché metteranno alla prova qualsiasi cosa tu sappia attualmente e ti renderanno un programmatore migliore.

Sommario

La mia opinione è che se sei disposto a scambiare un inizio più lento per uno stack che è più facile da gestire e scalare, e ad un prezzo inferiore, dovresti scegliere uno stack alternativo. Altre persone potrebbero dire che i costi del software non sono realmente il grosso costo, ma a meno che tu non abbia un finanziamento, un sacco di soldi risparmiati o sei disposto a prendere in prestito molti soldi, questo non è proprio vero per niente. È costoso acquistare tutto il software e l'infrastruttura server in anticipo, e se non hai i soldi, non puoi pagare per questo.

    
risposta data 15.02.2012 - 19:49
fonte
1

Perché non provare e vedere?

passare una settimana a bussare a un prototipo veloce con rotaie, o simili, ti darà almeno qualche informazione su dove ci sono disallineamenti di impedenza, e ti darà una certa esperienza quando vuoi fare la cosa reale, almeno al livello di lingua / libreria

probabilmente non aiuterà molto a capire quali problemi potresti ottenere nel ridimensionamento, ma non c'è motivo di preoccuparsene fino a quando non sai se puoi convivere con essa su piccola scala

    
risposta data 15.02.2012 - 19:51
fonte
1

Stai preoccupando della cosa sbagliata.

Se vuoi ottenere qualcosa da terra, rimuovilo da terra nel modo più rapido possibile. Leggi su Prodotto minimo vitale .

Pensi che Facebook sia stato avviato con qualcosa di simile a questo? Ecco un suggerimento, non lo era. Hanno usato quello che sapevano e lo hanno costruito il più rapidamente possibile.

Siate più preoccupati di ottenere qualcosa che le persone useranno e funzioneranno e quando avrete bisogno di preoccuparvi di qualcosa del genere diventerà evidente e chiaro.

Facebook è stato riscritto più volte nella sua breve storia nel tempo di internet. Non si sono rinchiusi in uno "stack", la riscrittura non è uno spreco di risorse, le cose cambiano, l'essere in grado di adattarlo a un valore maggiore, a preoccuparsi di ridimensionarsi per qualcosa che non esiste, che è la mentalità sbagliata .

    
risposta data 15.02.2012 - 20:43
fonte

Leggi altre domande sui tag