Consigli su Cloud, devOps, sicurezza e Blockchain
L'obiettivo di questo articolo è quello di riassumerti 4 aree collegate al mondo della programmazione in cui ci sono opportunità lavorative: il Cloud, devOps, l'ambito della sicurezza e le Blockchain. Magari una di queste aree ti potrebbe interessare, quindi te le andrò a spiegare in maniera molto veloce anche perché di base non sono aree che a me personalmente interessano o di cui io personalmente mi occupo.
Cloud
Iniziamo dalla prima: Cloud. Sicuramente già sai che cos’è il cloud e l’avrai già sentito nominare. Pensa a Google Drive, ad iCloud di Apple, Dropbox e così via. Tutto ciò è il Cloud per il pubblico. Noi invece vogliamo parlare di Cloud per il lavoro, legato tendenzialmente alla programmazione, allo sviluppo di siti internet, al back-end di applicazioni mobile e così via. In generale il cloud si può ricollegare alla maggior parte di tutti questi progetti.
Essenzialmente per Cloud riferito al mondo del lavoro della programmazione si parla di una sorta di mix tra un sistemista e una persona che definisce quella che è l’infrastruttura del progetto, un architetto.
Essenzialmente è una persona che ha delle competenze che gli consentono di dire se:
- per un nostro sito internet può funzionare un determinato servizio
- in che continente è distribuito
- cosa serve avere da un punto di vista del server e dal punto di vista del nostro sistema per supportare questo tipo di utenti e questa mole di visitatori
- dove dobbiamo collocare i server
- quanti duplicati dobbiamo avere del nostro database e così via.
In realtà il discorso è molto complesso e ti vorrei citare due tecnologie che sono molto in voga e che sono richieste.
AWS – Amazon Web Services
AWS cioè Amazon Web Services, perché non so se lo sai ma Amazon è anche un servizio molto famoso è molto usato per quanto riguarda i servizi di Cloud per le aziende.
Vuol dire che puoi andare sul sito AWS, registrare un account e iniziare ad utilizzare i loro servizi. Tra l’altro danno anche dei servizi gratuiti, potenzialmente puoi utilizzare il server di Amazon in maniera gratuita, ovviamente in maniera limitata per un anno. Amazon ti mette più di 90 servizi a disposizione.
Oltre al web server, che ovviamente è alla base, ha tantissime altre cose per la parte database ad esempio. Puoi avere un database interno al cloud che va ad utilizzare delle tecnologie leggermente diverse che invece potresti avere dalla parte di machine learning.
Amazon infatti ha vari livelli di API che puoi andare a richiamare e integrare nei tuoi progetti. Ecco perché è il più richiesto sul mercato, anche in Italia. Inoltre ci sono delle specializzazioni interne al sito di Amazon stesso dove potenzialmente puoi studiare e dare un esame. Di solito questi esami sono a pagamento, non sono poi così costosi. Una volta superato l’esame, ti viene attestata un certo livello di conoscenza di quelli che sono i servizi di Amazon. Considera che ci sono veramente tantissime specializzazioni che si dividono in base a quello che è il tuo obiettivo: ci sarà la specializzazione per gli sviluppatori back-end, la specializzazione per la figura dell’architetto, ecc…
Azure di Microsoft
Azure, servizio utilizzato in ambito Cloud della Microsoft. Tendenzialmente è simile a AWS di Amazon solo che è della Microsoft. Questo vuol dire che è più legato a tutte quelle che sono le tecnologie Microsoft. Ci sono infatti molte grandi che sono partner Microsoft e ovviamente quando arriva un cliente molto importante l’azienda andrà a sviluppare il back-end e il sito cercando di utilizzare il più possibile quelle che sono le tecnologie Microsoft. Quindi quando a quei determinati tipi di clienti servirà il cloud, ovviamente non andranno mica ad utilizzare AWS ma bensì andranno ad utilizzare Azure. Puoi registrarti gratuitamente e potrai usufruire anche qui di un anno di servizi gratuiti, se non di più. Comunque sia puoi già utilizzare potenzialmente quelli che sono i servizi Cloud in maniera totalmente gratuita.
Altri servizi Cloud
Esistono anche altri servizi Cloud. Giusto per citarne alcuni troviamo il cloud di Google (Google Cloud Platform). Qui in Italia non è molto richiesto da quello che ho visto. Da quello che ho visto ti posso dire che è leggermente più costoso e quindi comunque sia AWS viene tendenzialmente preferito.
Altro servizio è IBM Bluemix. Questo servizio mi pare che abbia una quota di mercato del 3%, quindi è veramente poco utilizzato.
Sicurezza
Parliamo rapidamente anche di sicurezza. L’area relativa alla sicurezza è un qualcosa di molto ampio, nel senso che ci sono tantissime sfaccettature diverse relative alla sicurezza:
- Sicurezza delle reti
- Sicurezza software
- Sicurezza hardware
- Ethical hacking
Per di più ci sono tante sottocategorie relative alla sicurezza, molto diverse l’una dall’altra che richiedono competenze diverse l’una dall’altra. Gli unici consigli che ti posso dare in merito a questo ambito sono essenzialmente:
- Se vuoi entrare in quest’ambito devi verificare se ci sono aziende interessate ad assumere in questo ambito e che si trovano nella tua zona o vicino a te in generale.
- Scegli un settore specifico e specializzati solo su quel settore. La sicurezza non è richiesta tantissimo, diciamo che è una nicchia.
DevOps
La figura devOps è un po’ particolare, è nata di recente e sta arrivando in maniera graduale in Italia. Per semplificare, devOps non è una effettiva figura lavorativa ma comunque è una figura professionale relativa alla metodologia di gestione di un progetto. Il devOps è una sorta di ibrido tra un programmatore e di un sistemista. Essenzialmente il devOps applica determinate metodologie di organizzazione del lavoro all’interno di un team. Potenzialmente quindi può modificare il team stesso, la sua organizzazione, il lavoro e così via.
Per velocizzare il più possibile tutta la fase di sviluppo e controllo del codice, (fase di scrittura, testing, deployment, monitoring del progetto e del software) viene utilizzata la figura del devOps da un punto di vista organizzativo in azienda e tra team di comunicazione ma anche con l’utilizzo di tool.
I tool possibili da utilizzare cambiano in maniera rapida, anche da un anno all’altro. Puoi fare una ricerca su Google digitando devOps tool. Te ne posso citare alcuni come per esempio Continuous Integration Tool o Continuous Delivery Tool, DevOps Docker o DevOps Kubernetes.
Ripeto, sono veramente tanti e vari, in base alle esigenze dei progetti. Non voglio dilungarmi troppo, come ti dicevo non è una figura professionale, è proprio una filosofia, un metodo di lavoro e di organizzazione interna del team e del lavoro in generale.
Possiamo riassumere dicendo che è una cosa molto elaborata che unisce varie discipline diverse.
Blockchain
Questo è un argomento molto particolare. Sicuramente l’hai già sentito nominare, solitamente viene collegato alle cosiddette criptovalute cioè ad esempio i Bitcoin. Tuttavia criptovalute e blockchain sono due cose distinte, quindi trattale separatamente. Infatti la blockchain può essere utilizzata in progetti talmente diversi dalle criptovalute e la possiamo inserire all’interno di back-end, di applicazioni mobile, la possiamo inserire praticamente ovunque. È un tipo di tecnologia che viene utilizzata anche in contesti molto diversi delle criptovalute. Una cosa interessante che ti voglio dire è che qualche anno fa si parlava veramente tanto di blockchain, oggi se ne parla leggermente meno. Comunque sia ho notato un dato interessante. Nell’ultimo sondaggio di Stack Overflow, un sito per programmatori cosedove rispondono veramente tantissimi programmatordistinte i sparsi in tutto il mondo, una domanda era proprio relativa alla blockchain e chiedeva:
Tu, sviluppatore nei tuoi progetti o nei suoi lavori, hai utilizzato o hai intenzione di utilizzare la blockchain?
Più del 80/90% delle persone ha risposto “Assolutamente no”.
Questa in realtà è una cosa molto significativa perché la tecnologia blockchain, la tecnologia delle Smart Contract che comunque è collegata è richiesta nel mercato del lavoro. Certo le richieste sono poche la richiesta c’è. Ma gli sviluppatori, da quelli che sono i sondaggi, effettivamente non sembrano quasi per niente interessati a questo tipo di tecnologia.
Io personalmente l’ho studiata assieme al mio team di sviluppatori. Infatti con il mio team ogni tot di mesi scegliamo insieme un determinato progetto e cerchiamo di svilupparlo nel tempo libero. Una volta abbiamo voluto approfondire il mondo della blockchain e bitcoins. Abbiamo anche interpellato un esperto in materia, ma questa area della programmazione non mi interessa molto e ho preferito focalizzarmi su altro.
Quindi tutto questo per dire che non mi meraviglio che l’80/90% degli sviluppatori abbia dato una risposta negativa al sondaggio di Stack Overflow. Le richieste comunque ci sono, anche se sono poche.
Possiamo quindi inserire la Blockchain in quelle che sono le nicchie di mercato.
Conclusioni
Se in questo articolo hai trovato qualche spunto interessante ti consiglio vivamente di continuare ad informarti, su internet si trovano una marea di contenuti sia gratuiti, sia a pagamento su tutte le aree di cui ti ho parlato!
Se vuoi anche approfondire la programmazione ti consiglio di dare un'occhiata al nostro corso Java, e ovviamente, a prescindere dal settore che sceglierai, valgono sempre le mie tre solite raccomandazioni ovvero: se vuoi fare questa roba qua il tuo nuovo mestiere allora devi investire tempo, soldi ed energie.
Non pensare di diventare un professionista di un qualsiasi di questi settori senza investire queste tre cose!
Bene!
Direi che abbiamo quasi finito questa MEGA panoramica, questo era il penultimo articolo quindi ci manca solo l'ultimo argomento: Unire la programmazione al mondo Digitale.