Il backup prospera nell'era del cloud, ma le bobine di nastro non vengono dimenticate. Chatta con Veeam

Il backup prospera nell'era del cloud, ma le bobine di nastro non vengono dimenticate. Chatta con Veeam

Alexander Baranov lavora in Veeam come direttore della ricerca e sviluppo e vive tra i due paesi. Trascorre metà del suo tempo a Praga, l'altra metà a San Pietroburgo. Queste città ospitano i più grandi uffici di sviluppo Veeam.

Nel 2006 era una start-up di due imprenditori russi, associati a software di backup per macchine virtuali (da qui anche il nome V[ee][a]M, una macchina virtuale). Oggi è una gigantesca multinazionale con più di quattromila dipendenti in tutto il mondo.

Alexander ci ha raccontato com'è lavorare in un'azienda del genere e quanto sia difficile entrarci. Di seguito il suo monologo.

Tradizionalmente, parleremo della valutazione dell'azienda su My Circle: Veeam Software ricevuta dai suoi dipendenti voto medio 4,4. È apprezzato per un buon pacchetto sociale, un'atmosfera di lavoro confortevole nel team, per compiti interessanti e per il fatto che l'azienda rende il mondo un posto migliore.


Il backup prospera nell'era del cloud, ma le bobine di nastro non vengono dimenticate. Chatta con Veeam

Quali prodotti sviluppa Veeam

Prodotti che forniscono tolleranza ai guasti per l'infrastruttura IT. Fortunatamente, nel tempo, l'hardware è diventato abbastanza affidabile e i cloud forniscono tolleranza ai guasti. Ma l'errore umano persiste ancora oggi.

Ad esempio, il classico problema di incompatibilità degli aggiornamenti con l'infrastruttura dell'organizzazione. L'amministratore ha implementato un aggiornamento non verificato o è avvenuto automaticamente e, per questo motivo, il funzionamento dei server aziendali è stato interrotto. Un altro esempio: qualcuno ha apportato modifiche a un progetto condiviso o a una serie di documenti che ritiene appropriati. Successivamente è stato scoperto un problema ed è stato necessario ripristinare lo stato di una settimana fa. A volte tali cambiamenti non sono nemmeno associati ad azioni umane consapevoli: relativamente di recente, i virus cryptolocker hanno guadagnato popolarità. Un utente porta un'unità flash con contenuti dubbi su un computer di lavoro o visita un sito con gatti e, di conseguenza, i computer sulla rete vengono infettati.

In una situazione in cui il brutto è già accaduto, diamo l'opportunità di annullare le modifiche. Se le modifiche sono solo pianificate, ti permettiamo di verificarne l'impatto in un'infrastruttura isolata, ricreata da un backup del data center.

Spesso i backup fungono da "testimoni silenziosi" degli audit di un'organizzazione. Le aziende pubbliche devono conformarsi alle autorità di regolamentazione esterne (come il Sarbanes-Oxley Act) e per una buona ragione. Nel 2008 lo stato dell'economia mondiale è stato scosso dal fatto che alcuni partecipanti al mercato finanziario, grosso modo, hanno falsificato i risultati delle loro attività. Questa valanga e l'economia affondò. Da allora, le autorità di regolamentazione hanno monitorato più da vicino i processi nelle aziende pubbliche. La capacità di ripristinare lo stato dell'infrastruttura IT, del sistema di posta, del sistema di gestione dei documenti per i periodi di rendicontazione è uno dei requisiti dei revisori.

Microsoft, Amazon, Google e altri fornitori di servizi cloud dispongono di soluzioni native che eseguono il backup delle risorse all'interno del cloud. Ma le loro decisioni sono "cose ​​in sé". Il problema è che le grandi aziende nella maggior parte dei casi hanno un'infrastruttura IT ibrida: parte di essa è nel cloud, parte è a terra. Il cloud di solito ospita progetti Web e applicazioni rivolte ai clienti. Le applicazioni e i server che memorizzano informazioni sensibili o dati personali si trovano più spesso sul campo.

Inoltre, le organizzazioni utilizzano diversi cloud per crearne uno ibrido per ridurre al minimo i rischi. Quando un'azienda multinazionale ha costruito un cloud ibrido, ha bisogno di un unico e comune sistema di tolleranza ai guasti per l'intera infrastruttura.

Il backup prospera nell'era del cloud, ma le bobine di nastro non vengono dimenticate. Chatta con Veeam

Quanto è difficile sviluppare tali prodotti

Emergono costantemente nuove tecnologie che richiedono studio, adattamento ed esperienza. Quando siamo apparsi per la prima volta ed eravamo una startup, poche persone consideravano seriamente la virtualizzazione. C'erano applicazioni per il backup dei data center fisici. I data center virtualizzati erano visti come giocattoli.

Abbiamo iniziato a supportare i backup compatibili con la virtualizzazione sin dall'inizio, quando la tecnologia era utilizzata solo dagli appassionati. E poi c'è stata la sua crescita esplosiva e il riconoscimento come standard. Ora vediamo altre aree che aspettano lo stesso salto di qualità, e stiamo cercando di essere sull'onda. La capacità di tenere il naso sottovento è cucita da qualche parte nel DNA dell'azienda.

Ora l'azienda ha già vissuto i giorni di una startup. Ora, per molti grandi clienti, la stabilità e l'affidabilità sono importanti e prendere una decisione sulla tolleranza ai guasti può richiedere diversi anni. C'è adattamento, verifica dei prodotti, conformità a numerosi requisiti. Si scopre una situazione divertente: da un lato, è necessario garantire l'affidabilità e la fiducia nei prodotti e, dall'altro, rimanere moderni.

Ma il nuovo è sempre associato a un certo livello di ignoranza della tecnologia, del mercato o di entrambi.

Ad esempio, dopo diversi anni di lavoro, ci siamo resi conto che era necessario utilizzare le funzionalità di archiviazione integrate dei sistemi di archiviazione dei dati per velocizzare i backup. È così che è nata un'intera direzione di integrazione con i produttori di ferro. Ad oggi, i partner Veeam in questo programma sono tutti i maggiori attori di questo mercato: HP, NetApp, Dell EMC, Fujitsu, ecc.

Abbiamo anche pensato che la virtualizzazione avrebbe sostituito i server classici. Ma la vita ha dimostrato che rimane l'ultimo 10% dei server fisici, virtualizzazione che non è possibile o non ha senso. E devono anche essere sottoposti a backup. Ecco come è apparso Veeam Agent for Windows/Linux.

Un tempo, abbiamo pensato che fosse giunto il momento per Unix di prendere il suo posto nel museo e ci siamo rifiutati di supportarlo. Ma non appena siamo andati da clienti con una lunga storia, ci siamo resi conto che Unix è più vivo di tutti gli esseri viventi. Eppure hanno scritto una decisione per lui.

La stessa storia era con le unità a nastro. Abbiamo pensato: "chi ne ha bisogno nel mondo moderno?" Quindi abbiamo lavorato su funzionalità come il ripristino granulare dei dati o il backup incrementale con una copia completa sintetica e questo semplicemente non può essere eseguito su nastro, è necessario un disco. Quindi si è scoperto che le unità a nastro funzionano come uno dei mezzi per fornire backup immutabili necessari per l'archiviazione a lungo termine, quindi dopo 5 anni a venire, prendi un nastro dallo scaffale ed esegui un controllo. Bene, e le dimensioni dei clienti - abbiamo iniziato con quelli piccoli - e nessuno usa i nastri lì. E poi siamo cresciuti con clienti che ci hanno detto che non avrebbero acquistato un prodotto senza nastri.

Il backup prospera nell'era del cloud, ma le bobine di nastro non vengono dimenticate. Chatta con Veeam

Quali tecnologie vengono utilizzate in Veeam

Per le attività relative alla logica aziendale, utilizziamo .NET. Abbiamo iniziato con esso e continuiamo a ottimizzare. Ora usiamo .NET Core in una serie di soluzioni. Quando la startup si è formata per la prima volta, c'erano diversi sostenitori di questo stack nel team. È buono in termini di scrittura della logica aziendale, velocità di sviluppo e praticità degli strumenti. Allora non era la decisione più popolare, ma ora è chiaro che quei sostenitori avevano ragione.

Allo stesso tempo, scriviamo sotto Unix, Linux, lavoriamo con l'hardware, questo richiede l'uso di altre soluzioni. Parti di sistema relative alle informazioni sui dati che memorizziamo nel backup, algoritmi di ricerca dei dati, algoritmi relativi al funzionamento dell'hardware: tutto questo è scritto in C ++.

Il backup prospera nell'era del cloud, ma le bobine di nastro non vengono dimenticate. Chatta con Veeam

Come sono distribuiti i dipendenti nel mondo

Ora l'azienda impiega circa quattromila persone. Circa un migliaio di loro sono in Russia. L'azienda ha due grandi gruppi. La prima si occupa dello sviluppo e del supporto tecnico dei prodotti. La seconda rende i prodotti visibili all'esterno: le vendite e il marketing sono di sua competenza. Il rapporto tra i gruppi è di circa trenta a settanta.

Abbiamo una trentina di uffici in tutto il mondo. Le vendite sono più ampiamente distribuite, ma anche lo sviluppo non è in ritardo. Alcuni prodotti vengono lavorati contemporaneamente in diversi uffici, in parte a San Pietroburgo, in parte a Praga. Alcuni sono sviluppati in uno solo, ad esempio, un prodotto che fornisce un backup fisico di Linux è sviluppato a Praga. C'è un prodotto su cui si sta lavorando solo in Canada.

Facciamo sviluppo distribuito per soddisfare le esigenze dei clienti. I grandi clienti si sentono più sicuri quando lo sviluppo si trova nella stessa regione in cui funziona il prodotto.

Abbiamo già un ufficio molto grande nella Repubblica Ceca e l'anno prossimo abbiamo in programma di aprirne un altro a Praga, per 500 sviluppatori e tester. Coloro che si sono trasferiti nella capitale della Repubblica Ceca nella "prima ondata" sono felici di condividere la loro esperienza e trucchi di vita con tutti coloro che sono interessati all'opportunità di lavorare in Europa su Habré. In Russia, l'ufficio si trova a San Pietroburgo, parte dei progetti interni sono realizzati a Izhevsk e il supporto è in parte a Mosca. In generale, diverse centinaia di persone in tutto il mondo sono impegnate nel supporto tecnico. Ci sono specialisti di diversi livelli di formazione tecnica e specializzazione. Il livello più alto sono le persone che sono in grado di comprendere il prodotto a livello di codice sorgente e lavorano nello stesso ufficio dello sviluppo.

Il backup prospera nell'era del cloud, ma le bobine di nastro non vengono dimenticate. Chatta con Veeam

Come sono strutturati i processi

Circa una volta all'anno abbiamo rilasci importanti con nuove funzionalità e ogni due o tre mesi abbiamo aggiornamenti con correzioni di bug e miglioramenti che soddisfano i requisiti urgenti del mercato o le modifiche alla piattaforma. Ai requisiti vengono assegnate priorità, da minori a critiche, senza le quali un rilascio è impossibile. Questi ultimi sono chiamati "epopee".

Esiste un triangolo classico: qualità, quantità di risorse, tempistica (nella gente comune, "rapido, efficiente, economico, scegline due"). Non possiamo fare cose brutte, la qualità deve essere sempre alta. Anche le risorse sono limitate, anche se stiamo cercando di espanderci continuamente. Molta più flessibilità nella gestione del tempo, ma spesso è fissa. Pertanto, l'unica cosa che possiamo variare è la quantità di funzionalità nella versione.

Le epiche, di norma, cercano di mantenere non più del 30-40% del ciclo di rilascio previsto. Il resto lo possiamo tagliare, trasferire, perfezionare, modificare. Questo è il nostro spazio di manovra.

Viene creato un team temporaneo per ogni requisito della versione. Possono essere tre persone e cinquanta, a seconda della complessità. Aderiamo a una metodologia di sviluppo flessibile, una volta alla settimana organizziamo revisioni e discussioni del lavoro completato e imminente su ciascuna funzionalità.

Metà del tempo del ciclo di rilascio viene speso per lo sviluppo, metà per finire il prodotto. Ma abbiamo un detto: "il debito tecnico di un progetto fallito è zero". Pertanto, è più importante realizzare un prodotto che funzioni e sia richiesto piuttosto che leccare all'infinito il codice. Se il prodotto è popolare, vale già la pena svilupparlo ulteriormente e adattarlo ai cambiamenti futuri.

Il backup prospera nell'era del cloud, ma le bobine di nastro non vengono dimenticate. Chatta con Veeam

In che modo Veeam sta assumendo sviluppatori

L'algoritmo di selezione è multistadio. Il primo livello è una conversazione tra il candidato e il reclutatore sui desideri della persona stessa. In questa fase, stiamo cercando di capire se siamo adatti al candidato. Per noi è importante essere interessanti come azienda, perché coinvolgere una persona in un progetto è un piacere costoso.

Se c'è interesse, al secondo livello offriamo un compito di prova per capire quanto sia rilevante l'esperienza del candidato e cosa può dimostrare come specialista. Ad esempio, ti chiediamo di creare un compressore di file. Questo è un compito standard e mostra come una persona si relaziona al codice, a quale cultura e stile aderisce, quali soluzioni usa.

In un'attività di test, di solito tutto è perfettamente visibile. Una persona che è appena diventata alfabetizzata e ha scritto una lettera per la prima volta è notevolmente diversa da una persona che scrive sempre lettere.

Successivamente, abbiamo un'intervista. Di solito viene eseguito da tre capisquadra contemporaneamente, in modo che tutto sia il più obiettivo possibile. Inoltre, aiuta a reclutare persone tecnicamente compatibili che hanno all'incirca gli stessi metodi e approcci allo sviluppo, anche se finiscono per lavorare in team diversi.

Durante la settimana, conduciamo diversi colloqui per un posto vacante aperto e decidiamo con chi continueremo a lavorare.

Spesso i ragazzi vengono da noi e dicono che cercano lavoro, perché non hanno un posto dove trasferirsi in quello attuale: puoi solo aspettare una promozione insieme al pensionamento del capo. Abbiamo una dinamica leggermente diversa. Dodici anni fa, Veeam era una startup con dieci dipendenti. Ora è un'azienda con diverse migliaia di dipendenti.

La gente arriva qui come in un fiume turbolento. Nuove direzioni appaiono costantemente, gli sviluppatori ordinari di ieri diventano team leader. Le persone stanno crescendo tecnicamente, crescendo amministrativamente. Se stai sviluppando una piccola funzionalità, ma vuoi svilupparla, allora metà della battaglia è già fatta. Il supporto sarà a tutti i livelli, dal capogruppo ai titolari dell'azienda. Non sai come fare qualcosa di amministrativo: ci sono corsi, formatori interni, colleghi esperti. Non c'è abbastanza esperienza di sviluppo: esiste un progetto Veeam Academy. Quindi siamo aperti a tutti, sia professionisti che principianti.

Il progetto Veeam Academy è una serata gratuita offline C# intensiva per programmatori principianti con la prospettiva di un impiego presso Veeam Software per i migliori studenti. L'obiettivo del progetto è quello di colmare il divario tra la quantità di conoscenze e abilità pratiche del laureato medio e la quantità di conoscenze necessarie per interessare un buon datore di lavoro. Per tre mesi i ragazzi studiano in pratica i principi dell'OOP, si immergono nelle caratteristiche di C# e studiano il vano motore di .Net. Oltre a lezioni, test, laboratori e progetti personali, i ragazzi sviluppano il loro progetto comune secondo tutte le regole delle aziende reali. L'argomento del progetto è sconosciuto in anticipo: viene scelto insieme a tutti nei primi giorni dopo l'inizio del corso. Nell'ultimo flusso, è diventata la banca virtuale.
Le iscrizioni sono ora aperte nuovo filo.

Fonte: habr.com

Aggiungi un commento