Autore: Redazione ImpresaCity
Nello sviluppo delle app, il modello cloud è sempre più vincente, ma quali tecniche, tecnologie e strumenti di sviluppo innovativi si vanno affermando?
La crescita dell’adozione del cloud negli ultimi anni ha accelerato e reso più semplice la disponibilità di tecniche, tecnologie e strumenti di sviluppo innovativi. AWS per esempio mette a disposizione ben tre servizi che rendono facilmente accessibili strumenti come i container: Amazon Elastic Kubernetes Service (EKS), per l’utilizzo di Kubernetes in modalità gestita da AWS; il servizio di container proprietario di AWS che va sotto il nome di Amazon Elastic Container Service (Amazon ECS); e infine una modalità per accedere a entrambi in maniera completamente serverless mediante il servizio AWS Fargate. Questo dà la scelta dell'approccio migliore per i casi d'uso specifici. Molti utilizzano due o addirittura tutte e tre queste offerte container in modo da poter scegliere lo strumento giusto a seconda del diverso caso d’uso.
L’altro importante focus di AWS è nella disponibilità di tecnologie per l’elaborazione di codice in modalità serverless: il servizio AWS Lambda, per esempio, si integra perfettamente con oltre 200 servizi AWS; da questi ultimi si può richiamare il codice sviluppato dai clienti come se fossero semplici applicazioni SaaS (ovvero senza doversi preoccupare dell’infrastruttura sulla quale questo codice va in esecuzione). Pertanto c'è molta flessibilità in ciò che si può creare, grazie alla semplicità, scalabilità e convenienza nell'esecuzione di codice in modalità on-demand. Oggi, oltre un milione di clienti attivi utilizzano AWS Lambda ogni mese. Di conseguenza, AWS Lambda elabora centinaia di miliardi richieste al giorno.
Infine AWS offre servizi che permettono di mettere in atto con semplicità le pratiche DevOps in ogni tipo di azienda. Questi strumenti semplificano l’automazione dei rilasci, la gestione di ambienti complessi e assicurano agli sviluppatori il massimo controllo possibile sulle catene di rilascio. Gli strumenti per sviluppatori AWS aiutano a memorizzare in modo sicuro il codice sorgente delle applicazioni e le versioni successive; inoltre consentono di creare, testare e distribuire le applicazioni in AWS o nell'ambiente locale. Si può iniziare con AWS CodePipeline per creare un flusso di lavoro di CI/CD, che impieghi AWS CodeBuild, AWS CodeDeploy e altri strumenti, o anche ciascuno di questi servizi separatamente.
Quali le sfide principali che le aziende clienti si trovano ad affrontare nell’ambito dello sviluppo delle applicazioni e come vengono soddisfatte?
In AWS abbiamo una costante relazione con i clienti, e dall’ascolto delle loro esperienze emergono alcuni elementi comuni che vengono considerati sfide comuni. E questi includono il time to market, l’affidabilità e la sicurezza, il controllo dei costi, l’abilità di scalare quando necessario, la possibilità di integrazioni tra applicazioni legacy e nuove, e contestualmente di accedere alle ultime innovazioni e alle tecnologie emergenti. Partendo dalle esigenze del cliente, di volta in volta lavoriamo per indirizzarli sulle soluzioni più adatte al loro caso.
Per esempio, se la necessità è modernizzare le applicazioni esistenti e a crearne di nuove, i servizi serverless semplificano l’obiettivo sollevando il cliente dalla gestione diretta dell l'infrastruttura. Strumenti come AWS Lambda, Amazon API Gateway, AWS Fargate facilitano e velocizzano lo sviluppo di applicazioni. Come già accennato, forniamo inoltre strumenti avanzati di Continuous Integration e Continuous Delivery per automatizzare build, test e rilasci frequenti del codice. AWS X-Ray invece monitora le applicazioni per identificare e risolvere rapidamente eventuali problemi di varia natura. Infine, con Amazon EC2 possiamo fornire qualsiasi tipo di capacità computazionale on-demand, permettendo di scalare verticalmente e orizzontalmente le applicazioni in modo flessibile a seconda del carico di lavoro, ottimizzando i costi.