In This LifeTime: DevOps di livello aziendale con OutSystems e VSTS

Negli ultimi anni, ho visto OutSystems aiutare le grandi aziende a sviluppare le loro soluzioni per dispositivi mobili e web, dalla creazione di siti web pubblici alla distribuzione di app mobili interne.

OutSystems è una piattaforma low-code per lo sviluppo rapido di applicazioni (RAD) che puoi utilizzare per creare app aziendali. Pertanto, con OutSystems, gli sviluppatori e i team IT possono creare, distribuire, modificare e gestire applicazioni mobili e web personalizzate che funzionano senza problemi su tutti i dispositivi.

Alcuni scenari sono totalmente RAD

Ora, come sviluppatore, ho avuto s discussioni sempre sane sugli strumenti RAD e continuo a preferire la possibilità di scegliere tecnologia, linguaggi, modelli, IDE e, soprattutto, il ciclo DevOps e i suoi strumenti. Tuttavia, esistono più scenari in cui gli strumenti RAD sono la scelta migliore, soprattutto se possono mantenere ciò che promettono.

Quasi ogni grande impresa esegue ancora complesse applicazioni mission-critical su tecnologia legacy, la maggior parte delle quali ha ambienti eterogenei e coinvolge più team. Quindi, con una tale complessità, come fanno queste organizzazioni a iniettare innovazione per rimanere competitive? È qui che la velocità e la flessibilità di OutSystems brilla davvero, consentendo alle organizzazioni di integrare o sostituire le applicazioni legacy. Tuttavia, c’è una sfida a cui ho assistito: le grandi aziende hanno difficoltà a creare un ciclo DevOps comune tra le app create con OutSystems e le app che non lo erano.

La sfida DevOps

Ad esempio, ci sono progetti di grandi dimensioni in cui, in una singola versione, è necessario sincronizzare app aziendali legacy (in esecuzione sui server UNIX e Windows), API rest, back-end cloud, ecc. e OutSystems mobile e web applicazioni. Di conseguenza, sono necessari molto tempo, risorse e impegno, lussi che la maggior parte delle organizzazioni non può permettersi.

Ma lavoro con la piattaforma Visual Studio da molti anni e i recenti progressi hanno creato un’interessante proposta di valore in grado di risolvere la sfida della sincronizzazione:

Ed è per questo che ho scelto di aiutare con la creazione di un’estensione di Visual Studio da integrare con OutSystems.

OutSystems LifeTime incontra la piattaforma Visual Studio con una nuova API-tude

Non sono un esperto di OutSystems. Pertanto, prima di iniziare con questa estensione, ho ricercato la loro versione attuale. La piattaforma utilizza un approccio basato sul modello per configurare i livelli dell’app: interfaccia utente, modello di dati, servizi Web e API. Tuttavia, gli sviluppatori possono comunque incorporare il proprio codice o le proprie librerie personalizzate e comporli come parte del modello, oltre a JavaScript (e CSS) personalizzati per i front-end. Da qui il termine low-code.

Uno dei moduli di OutSystems è Lifetime, che gestisce il controllo delle versioni, le distribuzioni e gli ambienti. Recentemente, OutSystems ha esposto un’API a vita (definita da Swagger), che chiunque può utilizzare.

Quindi, ho utilizzato questa API per integrare OutSystems con VSTS / TFS e creare un’estensione che consente alle aziende di sincronizzare i loro cicli DevOps. Inoltre, la mia estensione si concentra su un endpoint di servizio in VSTS / TFS per la configurazione di OutSystems, un’attività di rilascio di OutSystems per contrassegnare le app OutSystems, distribuire app OutSystems o entrambe e una gestione ottimizzata delle versioni per VSTS / TFS e OutSystems Lifetime con:

Ho utilizzato TypeScript in Visual Studio Code per creare l’estensione, insieme ad alcuni miglioramenti di ES6. Pertanto, se ti piacciono le promesse e Async / Await, questo è un buon esempio.

Inoltre, ho deciso di renderlo open source e disponibile su Github, in modo che tutti possano collaborare, inviare feedback o registrare bug. Quindi, ecco come puoi installarlo, configurarlo e utilizzarlo.

Esplorazione dell’estensione VSTS

Per questa procedura dettagliata, sto usando una sottoscrizione VSTS e OutSystems è in esecuzione nella mia sottoscrizione di Azure. Sapevi che OutSystems è disponibile anche nel marketplace di Azure?

Installa l’estensione

L’installazione di qualsiasi estensione di Visual Studio è facile e veloce. Vai al marketplace di Visual Studio e cerca OutSystems integration oppure prova questo link diretto .

Quindi, installa l’estensione nella tua sottoscrizione VSTS.

Crea un endpoint del servizio

Per configurare OutSystems nella sottoscrizione VSTS, è necessario un endpoint del servizio. Ne ho creato uno inserendo le seguenti informazioni per la mia istanza OutSystems:

Nome : un nome per l’endpoint del servizio (ad esempio, myOutSystems ).
URL : l’endpoint dell’API di distribuzione a vita di OutSystems
StrictSSL : limita la comunicazione tra VSTS e OutSystems ai canali crittografati (SSL). Altamente consigliato!
ApiToken : il tuo token API OutSystems. Per ulteriori informazioni, consulta la documentazione sull’autenticazione dell’API REST di OutSystems.

Potrai verificare la tua connessione direttamente da questa finestra di dialogo facendo clic su Verifica connessione .

Crea piani di definizione delle versioni

Al termine del processo di configurazione, puoi iniziare a creare i piani di definizione delle versioni, comprese le app OutSystems. Puoi utilizzare un modello disponibile adatto a una delle tue app o iniziare con un processo vuoto .

<” Nota : nella mia istanza OutSystems ho tre ambienti configurati: Sviluppo , Test e Produzione .

Ho utilizzato OutSystems Service Studio, concentrandomi su due applicazioni: X01 Darts (web) e X0M Darts (Mobile).

Successivamente, assegna un nome al tuo primo ambiente e alla definizione del rilascio.

Quindi, vai al tuo primo ambiente e definisci le attività che il motore eseguirà. Aggiungi un’attività di rilascio OutSystems. Fai clic su OK .

Infine, specifica le informazioni sul processo di rilascio che vuoi che OutSystems LifeTime esegua.

Ad esempio, qui ho già specificato la connessione OutSystems, l’applicazione, l’origine del log delle modifiche e l’ambiente di destinazione.

FieldDescriptionOutSystems ConnectionList dei tuoi endpoint di servizio OutSystems configurati. Tag e Deploy Se desideri che l’applicazione venga etichettata e distribuita. ApplicationList delle applicazioni disponibili nella OutSystems Platform. Sto distribuendo l’app X01 Darts. Versioning automaticoL’estensione aggiornerà automaticamente la tua versione. I formati delle versioni sono supportati come [Maggiore]. [Minore]. [Patch] Registro delle modifiche Ogni versione può essere associata a un registro delle modifiche. In questo esempio, sto utilizzando la descrizione della versione di VSTS come registro delle modifiche alla versione. Note sulla distribuzioneÈ anche possibile aggiungere ulteriori note sulla distribuzione. Ambiente di origine Ambiente di origine OutSystems. Qui ho scelto l’ambiente di sviluppo. Target EnvironmentIl tuo ambiente OutSystems di destinazione. Qui ho scelto l’ambiente di test.

Un compito dei cloni

Ora puoi aggiungere nuove attività OutSystems per distribuire app OutSystems aggiuntive. In alternativa, puoi configurare la distribuzione di app non OutSystems con tutte le attività di rilascio necessarie per raggiungere i tuoi obiettivi. Ricorda: le attività di clonazione ti semplificheranno la vita.

Ad esempio, l’obiettivo qui è creare l’ambiente di produzione e distribuire le app dall’ambiente di test all’ambiente di produzione. È facile clonare gli ambienti. Pertanto, ho clonato l’ambiente di test e l’ho rinominato in produzione.

Aggiorna gli ambienti di origine e di destinazione

Successivamente, esegui tutte le attività di rilascio di OutSystems e aggiorna gli ambienti di origine e di destinazione:

A questo punto, c’è un concetto importante da considerare. Quando si distribuiscono app da ambienti di test e produzione OutSystems, non ci interessa taggare le applicazioni. Il tagging è necessario solo per le nuove versioni dallo sviluppo. Pertanto, quando si rilascia dal test alla produzione, si desidera rilasciare la stessa versione. Quindi, per configurarlo, deseleziona Tag and Deploy .

Crea una nuova versione

Successivamente, crea una nuova versione e guarda le attività di esecuzione. Ad esempio, qui puoi vedere l’esecuzione di tutte le attività di rilascio di OutSystems, anche il log di distribuzione da OutSystems. Di conseguenza, ottieni l’accesso a VSTS che ti consente di controllare i risultati recenti o passati senza tornare a OutSystems LifeTime.

Guarda dove ti porta la tua immaginazione

Ora, immagina di gestire le tue versioni delle applicazioni OutSystems insieme ad altre app locali e cloud. Se devi distribuire i tuoi siti Web ASP classici esistenti, servizi WCF, API REST Java, siti Web Python o API REST NodeJS, puoi farlo facilmente con VSTS. E queste app possono ora essere dipendenze dirette per qualsiasi applicazione mobile o web OutSystems. Non dovrai gestire pipeline di rilascio o strumenti diversi.

Ed ecco un ultimo suggerimento. Puoi testare build e rilasci in VSTS. E questi possono essere aggiunti come attività nella definizione del rilascio. Immagina che i tuoi test vengano eseguiti come parte delle tue build e dei tuoi rilasci, indirizzati alle applicazioni OutSystems e alle applicazioni non OutSystems. Dolce!

Conclusione

Credo che le imprese e i piccoli team di sviluppo possano trarre vantaggio da questa estensione. Crea un singolo ciclo DevOps comune tra le app OutSystems e le app non OutSystems.

Inoltre, aumenta la produttività degli sviluppatori accelerando la creazione e la gestione di un flusso di livello aziendale per lo sviluppo multicanale ed eterogeneo. Il tutto riducendo i costi operativi!

Questo è uno dei maggiori vantaggi dell’attuale piattaforma Visual Studio. Puoi integrare facilmente altri strumenti. Di conseguenza, migliori la vita degli sviluppatori e dei team operativi.

Guardando al futuro, mi aspetto che OutSystems esponga più API per consentire il monitoraggio dai repository, la pianificazione del lavoro (agile o mischia) e le build o il monitoraggio. Ma non aspettare, dai un’occhiata ora! La versione attuale copre già gli scenari più comuni. Inoltre, funziona nel cloud (agenti ospitati) e con agenti locali (Linux o Windows).

Originariamente pubblicato su www.outsystems.com l’11 ottobre 2017.