Come sostenere (professionalmente) i motivi per cui scegliere le tecnologie open source in un grande progetto

6

So che il titolo è un po 'vago quindi cercherò di essere più preciso nello spiegare qual è la mia domanda reale (mi scuso in anticipo se si tratta di un duplicato).

Lavoro per una piccola azienda (8 persone) che lavora con Linux / PHP / MySQL per fornire varie soluzioni (CRM tra tutto) a diverse istituzioni finanziarie più grandi.

Il processo di vincere effettivamente i contratti è stato sempre doloroso e ho avuto il compito di spiegare perché usare MySQL e non MSSQL o PostgreSQL o Oracle 11g, perché usare PHP e non un linguaggio compilato o ASP.NET o Java e l'elenco potrebbe continuare .

E questo è il problema - non sono abbastanza abile con le soluzioni commerciali citate (database). Ho fatto un po 'di valore con i database citati, ma quello era un semplice test, come come creare vista in questo RDBMS opposto a MySQL, come fare un trigger qui, come dichiarare una stored procedure qui, come profilare una query - ma, non ho mai lavorato con nessuno dei database citati estesamente tanto quanto con MySQL.

D'altra parte, sono stato introdotto a MySQL all'inizio del 2000. solo per essere sempre più abile con esso, i suoi capricci e persino estenderlo attraverso le UDF o hackerare il codice sorgente per vedere come funzionano le cose dietro la scena - quindi, come mi piace pensare, so come funziona MySQL, cosa aspettarsi da esso e come aggiungere funzionalità che richiediamo.

Alcuni giorni fa abbiamo avviato le negoziazioni iniziali con il nostro prossimo cliente che ha bisogno di una soluzione su misura per la gestione di clienti e aziende. Hanno una propria squadra, tuttavia quelle persone non sono riuscite a fornire ciò di cui l'azienda ha realmente bisogno, ed è qui che entra la mia azienda. Naturalmente, la prima cosa che volevo sapere era quale tipo di tecnologia è stata utilizzata per costruire i sistemi attualmente in esecuzione e mantenere attiva l'azienda del cliente - e ho visto cose da Postgres per le app più piccole a MSSQL per il vero database dei clienti.

Naturalmente, dato che la società non è soddisfatta del proprio sistema / i attuale / i, ciò implica che qualcosa non funziona. Attualmente, non c'è modo di sincronizzare i dati tra la società principale e le sue filiali, quindi non esiste un database client unificato. È incredibilmente difficile tenere traccia delle spese, ancora una volta - a causa di sistemi diversi.

Ed ecco ciò di cui ho problemi - non appena ho menzionato la tecnologia che usiamo, il team di sviluppo della compagnia ha disapprovato e ci ha sminuito dicendo che le tecnologie open source sono insicure, buggy, incline all'hacking, lento e contrario a quelle commerciali (senza alcuna prova effettiva).

Solo per motivi di discussione, ho lavorato con dataset più grandi costruiti su MySQL (25TB +) che memorizza varie informazioni e sono stato in grado di tenere il passo con qualsiasi requisito che ho avuto finora quando si tratta di tempi di risposta e prestazioni di l'applicazione costruita su MySQL.

Tuttavia, dal momento che non ho esperienza sufficiente con altri database, non sono in grado di fornire fatti reali che rappresentano la tecnologia che uso è almeno alla pari (se non migliore, più economica!) delle soluzioni commerciali. Come difenderebbe la sua (mia) posizione di fronte a una persona tecnica che preferisce il software Microsoft rispetto a quello open source in un'azienda che impiega diverse decine di migliaia di persone con oltre 10 milioni di clienti? Sceglieresti MySQL per il database dietro un sistema che dovrebbe alimentare una così grande azienda? In caso contrario, cosa sceglieresti e perché?

Ci scusiamo per il muro di testo:)

    
posta Michael J.V. 23.03.2011 - 14:10
fonte

8 risposte

6

Ricorda che l'IT ha una grande responsabilità e tende a essere piuttosto prudente. Nelle loro menti (che sia giusto o no), l'IT deve proteggere la società da se stessa. Se la società vuole avere una topologia completamente aperta e nessuna DMZ per proteggere la rete interna dalla rete esterna, l'IT non farebbe il proprio lavoro se lasciasse che accadesse.

Il motivo per cui IT è così prudente è che sanno che quando la cazzata colpisce il fan, sarà il loro culo sulla linea. Vogliono sapere che ciò che stai proponendo è sicuro, e che non verranno tirati indietro per un battito verbale se il servizio che hai fornito cadrà per un giorno a causa del carico.

L'IT ha tecnologie carine, di cui si fidano. La fiducia è un fattore importante qui nell'attaccamento emotivo alle alternative. Quello che ti manca è la conoscenza delle alternative: cosa possono fare per te e come possono risolvere i tuoi problemi. Se hai intenzione di coinvolgere il dipartimento IT, devi incontrarli dove vivono. Si fidano della tecnologia X, ti fidi della tecnologia Y. Il tuo compito è scoprire cosa hanno fiducia nella tecnologia X e in che modo la tecnologia Y soddisfa queste preoccupazioni. Devi anche inserire gli argomenti di fondo. Se l'IT comprende come mantenere la tecnologia X, è una grande vittoria. Avranno bisogno di formazione per la tecnologia Y. Mostrare come sono potenzialmente simili può anche aiutarti.

Avrai bisogno di parlare con i fornitori di tecnologie concorrenti. Hai bisogno di scoprire come possono fare ciò che vuoi e quanto costerebbe. Armati di queste informazioni, puoi quindi andare al tuo cliente con le risposte alle loro domande. Anche armati di queste informazioni, si può dire loro che se siamo andati con Oracle o MSSQL il costo sarebbe 5x (o più) il costo di andare con MySQL -., Anche con i piani di supporto MySQL in atto

Infine, se si prende sul serio il lavoro, si potrebbe iniziare a guardare le tecnologie commerciali e capire come è possibile rendere qualcosa come il database intercambiabile. Non c'è niente di peggio che perdere clienti potenzialmente validi solo perché non sembri disposto a esaminare ciò che il cliente percepisce come una soluzione provata e vera.

    
risposta data 23.03.2011 - 15:14
fonte
3

Non puoi usare la ragione contro il pregiudizio (credenze basate su voci e non su fatti), e non puoi giudicare le persone per il desiderio di attenersi a ciò che sanno avere più o meno lavorato in passato.

Il meglio che puoi fare con un cliente di questo tipo è chiedere loro di permetterti di eseguire un progetto pilota per consentire loro di valutare le tecnologie proposte e la tua capacità di fornire. Potrebbe essere necessario farlo gratuitamente.

Se il cliente non tiene in debito conto il tuo impegno, allora il problema è oltre l'apprendimento delle tecnologie proprietarie che usano.

    
risposta data 23.03.2011 - 14:25
fonte
2

Hai provato a spiegare loro che MySql ora ha il supporto di Oracle e che possono acquistare supporto da Oracle se è questo che li preoccupa? Carica un carico di materiale da Internet per sostenere il tuo punto di vista.

Riguardo all'Open Source in generale, di cui Postgres fa parte tra l'altro, un buon caso che spesso faccio è che ha il supporto di un'intera comunità di utenti che sono quasi tutti sviluppatori.

In alternativa, hai preso in considerazione l'apprendimento di altre tecnologie? Potresti non essere così strong su SQL Server o altro, ma troverai una transizione molto semplice. La maggior parte dei concetti è la stessa. Alcune aziende sentono il bisogno di spendere soldi, per farle sentire di avere un prodotto migliore.

    
risposta data 23.03.2011 - 14:49
fonte
1

Il database conta davvero? SQL Server è un database eccellente che funzionerà bene come MySQL.

Cercherò di trovare una via di mezzo. Perché non utilizzare PHP con SQL Server? Aggiungere un po 'd'acqua al vino potrebbe farli accettare la piattaforma di programmazione, a mio avviso più importante.

    
risposta data 23.03.2011 - 18:05
fonte
0

Penso che almeno un seme per la prova di cui hai bisogno è nella tua domanda:

Just for argument's sake, I've worked with larger datasets built upon MySQL (25TB+) that stores various information and I've been able to keep up with any requirement I had so far when it comes to response times and performance of the application built upon MySQL. [emphasis added]

25TB è per molti standard di molti, anche se sono sicuro che c'è di più. Quanto spazio di archiviazione dei dati è probabile che questo cliente abbia bisogno? Se è inferiore, potresti essere in grado di puntare a questo progetto come esempio di scalabilità. Anche se richiedono dimensioni maggiori, puoi comunque utilizzarlo per dimostrare che, sì, questa è una tecnologia seria.

Modifica in risposta al commento: Forse qualcuno dell'altra azienda (o un'altra azienda per cui hai lavorato) sarebbe disposto a essere un riferimento? Saranno in grado di garantire la qualità della soluzione. Sarebbero anche in grado di rivelare più informazioni poiché sanno meglio cosa è proprietario e cosa potrebbe essere diffuso.

    
risposta data 23.03.2011 - 14:48
fonte
0

Sembra che siano accaniti fan di Microsoft, quindi guidarli verso una soluzione open source potrebbe essere complicato, ma non impossibile. Ecco alcuni pensieri.

  • Fornisci esempi di lavoro che hai fatto e statistiche su di loro. (cioè supporta ###, ### utenti, ### gb / tb o dati, con tempi di risposta rapidi.
  • Descriva tutti i costi relativi a ciascuna soluzione. Hardware, licenze, installazione, configurazione, formazione, costi continui, ecc.
  • Quale sarà il ROI? Se hai a che fare con manager che non sono tecnicamente esperti e il loro è un ROI significativo tra le soluzioni, per loro (la maggior parte) è un gioco da ragazzi. Inoltre, se la società è così grande, il fattore "risparmio" è qualcosa che li farà sembrare buoni per i loro capi.
  • Cerca di capire come funzionano le tue soluzioni. Se loro vengono da te, loro non li vogliono, allora vogliono la tua esperienza. Daglielo anche loro! Proveranno a mettere in discussione i tuoi metodi, ecc., Ma saranno forti. Questo è quello che fai per vivere!
  • Devo anche menzionare Windows vs Linux? Una soluzione open source (LAMP) vs una soluzione chiusa (MS / asp.net / mssql)
    • L'open source (può) ha molti più sviluppatori che lavorano su di esso
    • I problemi di open source sono risolti / corretti molto più rapidamente e in meno tempo (a volte "patch Tuesday" non è abbastanza veloce)
    • Il codice open source è stato revisionato da più persone. Più occhi su di esso significa che i problemi vengono in genere individuati più rapidamente e risolti prima

Una rapida ricerca su Google di "open source vs closed" o "MS vs Linux" ti aiuterà con tutti i fattori che ti servono.

Ancora una volta, non preoccuparti della squadra di sviluppatori che alza le sopracciglia. Non saresti stato chiamato se stavano facendo il loro lavoro correttamente!

Buona fortuna!

    
risposta data 23.03.2011 - 15:12
fonte
0

Quando vai contro la tecnologia attuale di qualcuno, troveranno qualsiasi scusa per giustificare ciò che stanno facendo. L'esempio che hai dato è una squadra che ora sta facendo scuse e leccandosi le ferite per il progetto fallito. Sì, sono piuttosto difensivi, quindi hanno scelto l'open source. Scommetto che se si tratta di un negozio Microsoft, avrebbero un motivo per non utilizzare Oracle e viceversa. È necessario concentrarsi sui decisori che hanno abbandonato l'app interna. Il loro staff non ama il tuo prodotto, dice loro di considerare la fonte.

Non sono convinto che il tuo open source sia un argomento meno costoso valido in tutti i casi. Se ho un gruppo di server Windows per altri motivi (condivisione di file / stampa, Exchange, altre app che utilizzano SQL Server), l'aggiunta di un'altra app non richiederà necessariamente licenze aggiuntive, hardware o esperienza. Se si aspettano una crescita esponenziale, potrebbe essere una storia diversa.

Dato che stai risparmiando sulle licenze software per il tuo prodotto, sei in grado di offrire altri servizi con lo stesso prezzo / simile? Hai un pacchetto di supporto migliore? Forniresti assistenza per gli sviluppatori, in modo che i tuoi clienti potessero personalizzare il sistema e integrarlo? Alcune aziende potrebbero volere che la capacità di crescere nello sviluppo interno possa farlo. Nessuna applicazione dovrebbe essere un'isola, in particolare CRM. È possibile fornire una soluzione ospitata che potrebbe essere successivamente installata in loco o essere una sorta di ibrido per facilitare lo staff di vendita esterno, i clienti e i business partner per connettersi alla versione ospitata?

    
risposta data 23.03.2011 - 15:24
fonte
0

Berin ha centrato l'unghia sulla testa. Uno non vende la tecnologia ai dirigenti IT - uno vende la pace della mente! L'IBM è rimasto il re della montagna per decenni perché aveva il miglior servizio e organizzazione di supporto nel settore (nessuno è mai stato licenziato per l'acquisto di apparecchiature e software IBM). Se uno dei loro prodotti prendesse una discarica all'una di notte, si potrebbe essere certi che un SE o CE IBM sarebbe in procinto di raggiungere il proprio sito in pochi minuti. Microsoft ha copiato il modello di business di IBM, in modo che potessero entrare nel mercato della "casa di vetro".

    
risposta data 23.03.2011 - 18:18
fonte

Leggi altre domande sui tag