Nicolas Menciere, AWS Startup Solutions Architect, suggerisce ai fondatori di start up di non implementare la propria soluzione, ma utilizzare un Managed Service.
Un errore comune che si vede spesso commettere dai fondatori delle start up su AWS è quello di cercare di implementare la propria soluzione, quando invece potrebbe essere utilizzato un Managed Service. Quando si parla di AWS, un Managed Service è un servizio che viene creato, mantenuto e gestito dai nostri esperti altamente qualificati. Questa iniziativa è in contrasto con l’idea base in cui siete voi stessi ad attivare la soluzione sul vostro server, dove siete responsabili della gestione e delle operazioni in corso – una situazione che viene definita “Rolling your own“. Si vedono spesso gli sviluppatori utilizzare software e strumenti open source per creare localmente il loro proof of concept (prova di fattibilità).
Per le start up su AWS perché non utilizzare un Managed Service
Una volta che è il momento di lanciare la propria applicazione online o ridimensionarla, tuttavia, si ritrovano a dover eseguire il refactoring di parte della stessa per sfruttarne i servizi cloud. O a doverla mantenere così com’è, il che spesso comporta più lavoro operativo e costi più elevati. Prima di scegliere il tuo stack tecnologico, è consigliabile valutare la sua capacità di crescere con la tua attività. Non crediamo tu voglia creare un prodotto minimo funzionante, avere una spinta e poi dover ricreare la tua applicazione una volta che deve essere ridimensionata. Quindi è più che lecito porsi questo quesito: la struttura che possiedi, se avrai successo, funzionerà ancora sia tecnicamente che finanziariamente?
Scegliere l’approccio migliore
Quando si sceglie la struttura della propria applicazione, è giusto considerare i seguenti fattori. La ponderazione di questi può aiutarti a decidere se è meglio utilizzare i servizi gestiti o implementare tu stesso la tua soluzione.
Lavoro operativo.
Quanto tempo e lavoro sono necessari per mantenere il tuo stack? Pensa ad attività ripetitive come aggiornamenti di versione, patch di sicurezza, aggiornamenti hardware e distribuzioni software. Queste attività richiederanno una notevole quantità di tempo per te e il tuo team? Ricorda, il tempo non dedicato al lavoro operativo può essere speso per aggiungere valore al tuo prodotto.
Costi delle infrastrutture anticipati e su larga scala.
Quanto costerà alla tua azienda gestire gli stack nei diversi stadi della crescita? Questo è molto importante, poiché spesso definisce quanto capitale dovrai raccogliere e quanto può diventare redditizia la tua attività. Il denaro è al potere, quindi più snella è la tua azienda, meglio è. Gli investitori sono alla ricerca di società che sfruttino i servizi esistenti e si concentrino sulla creazione di valore
Cosa utilizzare per le start up su AWS
Se scegli uno stack specifico, quanto diventerà complesso nel tempo? Mantenere la complessità il più bassa possibile è fondamentale, così poi puoi muoverti più velocemente e ridurre i rischi. Più tecnologie, prodotti dei fornitori e software vengono incorporati nel tuo prodotto, più grande e specializzato dovrà essere il personale IT, aumentando potenzialmente i costi e il lavoro operativo complessivo.
Creazione di funzionalità VS Infastruttura.
L’utilizzo di un particolare servizio ti aiuta a creare funzionalità più velocemente per i tuoi clienti? L’adattamento del prodotto alle richieste del mercato spesso deriva dalla ripetizione delle varie funzioni, non dall’avere una struttura perfetta. Il nostro obiettivo in AWS è aiutarti a scrivere un codice che offra un valore ai tuoi utenti finali.
Agilità.
Quanto velocemente puoi implementare una nuova funzionalità e quanto velocemente puoi cambiarla se necessario? L’agilità è la principale proposta di valore del cloud e dei Managed Service. Grazie a loro, puoi apportare dei cambiamenti in modo rapido e innovarti più velocemente.
Affidabilità.
È necessario assicurarsi di avere il minor numero possibile di errori nell’applicazione, ma mantenere quel livello di costanza e affidabilità può essere difficile. Con i Managed Service, i nostri esperti altamente qualificati si concentrano sull’implementazione e sul funzionamento dei servizi, così da non doverci pensare tu stesso.
Disponibilità.
La tua applicazione deve essere sempre attiva e funzionante? Essere costantemente disponibili non è facile. Se il tuo data center, una zona di disponibilità o una regione non funziona, cosa succede alla tua applicazione? I Managed Service sono sempre disponibili di default e vengono gestiti da AWS e questo significa che tu non dovrai perderci tempo sopra.
Sicurezza.
Quanto sarà solida la tua posizione sulla sicurezza se crei il tuo servizio personalmente? Questo è un tema che dovrebbe avere una priorità assoluta nella tua azienda sin dal primo giorno e ovviamente, comporta diverse problematiche. Per poter mantenere un alto livello di sicurezza, spesso si crea un sovraccarico nel processo di sviluppo e questo può rallenta l’innovazione. In AWS, la sicurezza è la nostra priorità numero uno. Abbiamo team dedicati di ingegneri altamente qualificati che lavorano con i team di prodotto per garantire che i nostri Managed Service siano il più sicuri possibile.
Time to market.
Quanto velocemente puoi rilasciare nuove funzionalità? Utilizzare i Managed Service significa non dover dedicare tempo a creare qualcosa che già esiste e ciò ti permette, invece, di concentrarti interamente all’aggiunta di valore al tuo prodotto.
Portabilità.
Avrai bisogno di spostare l’applicazione in sede o su un altro Cloud Provider? In questo caso, potresti prendere in considerazione l’idea di implementare il tuo servizio. Tuttavia, potrai utilizzare diversi Managed Service come Amazon Elastic Kubernetes Service (Amazon EKS), che ti aiuta a gestire i container su AWS in modo da non dover essere tu stesso a coordinare il cluster Kubernetes. I container possono quindi essere facilmente trasferiti su un cluster Kubernetes di un’altra piattaforma.
Personalizzazione.
Hai bisogno di un alto livello di personalizzazione per soddisfare le tue esigenze aziendali? In tal caso, l’attivazione di un proprio servizio potrebbe essere vantaggiosa, poiché è possibile adattarlo esattamente alle proprie esigenze. Se la personalizzazione non è il tuo obiettivo primario, tuttavia, ti consigliamo di considerare l’utilizzo dei Managed Service.
Vantaggi dei Managed Service
Prima di iniziare a scrivere codici o distribuire software open source su un server, dovresti conoscere tutte le opzioni a tua disposizione. In modo da poter iniziare a creare nel modo giusto, muoverti velocemente per battere la concorrenza e realizzare un prodotto che cresca insieme alla tua attività. Ne vale la pena distaccarsi da una mentalità “Crea prima” e iniziare, invece, ad effettuare anticipatamente una ricerca per determinare cosa c’è sul mercato, prima di proseguire con il tuo progetto.
AWS fornisce Managed Service per la maggior parte dei casi di uso comune. Quindi, è probabile che tu possa avvalerti di una soluzione già esistente per la tua applicazione. Di norma, ti consigliamo di utilizzare un Managed Service se ce n’è uno disponibile che possa soddisfare le tue esigenze.
Per le start up su AWS sarebbe meglio utilizzare un Managed Service
I servizi gestiti da AWS forniscono anche un elevato livello di affidabilità e disponibilità. Perché dedichiamo una notevole quantità di tempo, energia e risorse alle prestazioni che offriamo. Sfruttare questi servizi, invece di implementarli da soli, può aiutarti a risparmiare una elevata quantità di lavoro pesante e inutile. Oltre a offrirti serenità e permetterti di concentrarti solo sulla creazione di valore per la tua azienda invece di occuparti del lavoro operativo. Il modello dei prezzi di AWS è inoltre progettato in modo da farti pagare solo ciò che usi, offrendoti molta libertà e flessibilità. Ciò ti consente di evitare, in anticipo, ingenti spese in conto capitale, che altrimenti potrebbero essere fatali per la tua start – up.
Vantaggi di Rolling your own
Come descritto in precedenza, ‘Rolling your own’ consente un livello più elevato di personalizzazione e controllo. Tuttavia, ti consigliamo di prendere in considerazione questa alternativa solo se fornisce evidenti vantaggi per il tuo core business. La progettazione e l’implementazione del proprio modello saranno in grado di produrre un continuo vantaggio competitivo? Anche le normative e la trasferibilità sono fattori da considerare, in quanto potrebbe essere necessario che l’applicazione utilizzi un software particolare o sia ospitata in loco o in una regione specifica del mondo.
Da considerare anche normative e trasferibilità
In questi casi, potresti voler controllare e gestire il tuo stack, e non fare troppo affidamento su provider esterni. Dovresti anche tenere conto delle conoscenze interne del tuo team, che possono accelerare lo sviluppo iniziale. Se un team ha molta esperienza con una struttura specifica, ad esempio, potrebbe essere più vantaggioso per te creare l’applicazione seguendo questo metodo. Tuttavia, è necessario non solo considerare lo step iniziale della costruzione. Ma anche tutti i costi a lungo termine provenienti sia dal lato del lavoro operativo che dalla manutenzione, poiché costituiranno la maggior parte dei costi totali.
Conclusione
Per iniziare col piede giusto e già in un punto di crescita, valuta un approccio cloud-native quando avvii il tuo progetto. Anche se non è possibile prevedere tutte i possibili scenari, pensa a dove potrà essere ospitata la tua applicazione, quali sono i Managed Service già a tua disposizione e come questa verrà gestita su larga scala. Quindi prendi in considerazione i linguaggi di programmazione, il framework, il software e gli strumenti necessari per crearlo. Sposare questo tipo di approccio ti aiuterà a prendere la giusta decisione in merito alla distribuzione iniziale.