O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Containerized Liferay

241 visualizações

Publicada em

How Ariadne enables Banco do Brasil to speed up innovation with DevOps.

Publicada em: Internet
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Containerized Liferay

  1. 1. #LRIS17 | @AriadneSrl Containerized Liferay How Ariadne enables Banco do Brasil to speed up innovation with DevOps Filippo Frignocca, Pm e Software Architect, Ariadne Marcello Torriani, CTO Ariadne
  2. 2. #LRIS17 | @AriadneSrl “Innovation enabler” Ariadne da 23 anni si propone come abilitatore tecnologico per le aziende. Con Ariadne Digital estende questa vocazione al di là della tecnologia includendo metodologie e processi di design, offrendosi quindi come abilitatori di innovazione.
  3. 3. #LRIS17 | @AriadneSrl 1 2 3 Container • DevOps • Microservices Serverless • Managed Workload • Microservices Artificial Intelligence • Smart services/apps Ariadne: linee di innovazione tecnologica …con Liferay 
  4. 4. #LRIS17 | @AriadneSrl Un cliente “illuminato” Banco do Brasil ci ha dato la possibilità di esprimere tutta la nostra capacità. (Stamattina abbiamo già parlato della parte di design) L’innovazione è stato un mantra pervasivo nella sua conduzione e quindi non poteva non toccare lo sviluppo e l’esercizio imponendo l’adozione di tecniche di DevOps. #LRIS17 | @AriadneSrl
  5. 5. #LRIS17 | @AriadneSrl Banco do Brasil • una delle maggiori banche del Brasile, fondata nel 1808, una delle banche più antiche del continente americano. • espansione della presenza internazionale con più di 44 sedi al di fuori del Brasile, suddivise in “branches” • Più di 100.000 dipendenti nel mondo. • 132°posto nella lista Forbes delle aziende pubblice mondiali, con 29 miliardi di dollari di “Market Cap”.
  6. 6. #LRIS17 | @AriadneSrl Intranet EMEA • BBAG – Raggruppamento EMEA dell’istituto con 6 branches in Europa. • Sede principale in Austria (Vienna). • Circa 200 dipendenti nelle varie sedi. • Progetto per la intranet di gruppo con sezioni dedicate alle singole branches.
  7. 7. #LRIS17 | @AriadneSrl Esigenza di innovazione • Novità – Fare cose (relativamente) nuove • Metodo – Con modalità innovative • Velocità – Potendo “vedere” rapidamente l’avanzamento dei passi fatti – Organizzandosi per inserire rapidamente cose nuove
  8. 8. #LRIS17 | @AriadneSrl DEVOPS
  9. 9. #LRIS17 | @AriadneSrl Metodologia DevOps DevOps (development + operations) è una metodologia di sviluppo del software che punta alla comunicazione, collaborazione e integrazione tra sviluppatori e addetti alle operations. DevOps vuole rispondere all'interdipendenza tra sviluppo software e IT operations, puntando ad aiutare un'organizzazione a sviluppare in modo più rapido ed efficiente prodotti e servizi software.
  10. 10. #LRIS17 | @AriadneSrl Banco do Brasil – Innovation Lab • Infrastruttura in Brasile per le nuove tecnologie. • Accesso in VPN via Google Authenticator • Forte orientamento al DevOps • Standardizzazione delle procedure di deploy
  11. 11. #LRIS17 | @AriadneSrl CONTAINER
  12. 12. #LRIS17 | @AriadneSrl Containers vs Macchine Virtuali Un Deployment semplificato impacchettando un’applicazione in un singolo componente distribuibile e configurabile con una sola linea di comando, la tecnologia a container permette di semplificare il deployment di qualsiasi applicazione, senza doversi preoccupare della configurazione dell’ambiente di runtime; Una disponibilità rapida virtualizzando ed astraendo solo il sistema operativo e le componenti necessarie all’esecuzione dell’applicazione, invece che l’intera macchina, l’intero package si avvia in un ventesimo di secondo, rispetto ai tempi di avvio di una VM; Un controllo più granulare i container consentono agli operatori e agli sviluppatori di suddividere ulteriormente le risorse computazionali in microservizi, garantendo così un controllo superiore sull’eseguibilità delle applicazioni e un miglioramento delle prestazioni dell’intero sistema.
  13. 13. #LRIS17 | @AriadneSrl OK, ma con Liferay? • Un container è una ulteriore infrastruttura che non aggiunge “valore” a Liferay • Anzi ”complica” le cose: ci sono già un sacco di container: – Application Server – Portlet, … (OSGI per la 7) • Abbiamo già le VM • Per lo sviluppatore è davvero meglio? Devo riavviare sempre il container ad ogni modifica?
  14. 14. #LRIS17 | @AriadneSrl La nostra esperienza • Iniziale gap per il setup dei container • Procedure di CI/CD automatizzate • A regime l’overhead del rilascio in ambiente UAT risulta azzerato. • Pipeline facili da configurare in dipendenza del branch • Container gestiti da appositi “runner” • Minimo overhead anche lato sviluppo (ma in sviluppo non abbiamo i container… vero?)
  15. 15. #LRIS17 | @AriadneSrl Alcune “chicche” • Progetto “LIFERAYCTL” https://github.com/azzazzel/liferay-docker-images • Immagini aggiornate su docker hub https://hub.docker.com/r/mdelapenya/liferay-portal/ • Facile creare i propri Dockerfile • Bisogna fare attenzione ai proxy! • La stessa immagine docker può essere eseguita con configurazioni differenti
  16. 16. #LRIS17 | @AriadneSrl METTIAMO TUTTO INSIEME
  17. 17. #LRIS17 | @AriadneSrl Ambiente di DevOps realizzato • Liferay SDK + Liferay Developer Studio • GitLab come repository GIT per il versionamento • Progetto Docker per la gestione del CI/CD • Container per Portale e Indice di ricerca ElasticSearch • Configurazione della Pipeline di Build/Deploy su GitLab • Gestione dei log del container su ElasticSearch • Piattaforma di monitoraggio su Kibana
  18. 18. #LRIS17 | @AriadneSrl Schema di architettura Develop environment
  19. 19. #LRIS17 | @AriadneSrl Altre “chicche” • Se non si ha accesso al Runner si ha poco controllo (ma forse non è poi un male…) • La lettura dei log su Kibana, inizialmente è un po’ criptico • Buona l’interfaccia per seguire le pipeline in GitLab • Il db può essere anche lui un container (provato) • Un po’ complicato implementare la procedura di ripristino di un backup (DL + DB)
  20. 20. #LRIS17 | @AriadneSrl STATO ATTUALE E LESSON LEARNED
  21. 21. #LRIS17 | @AriadneSrl DevOps?
  22. 22. #LRIS17 | @AriadneSrl Cosa ci portiamo a casa • la possibilità di “versionare” anche l’environment • definizione semplice della pipeline di rilascio • velocità di rilascio • non è adatto all’ambiente di sviluppo (a meno che…) • bisogna fare molta attenzione allo storage  hot deploy
  23. 23. #LRIS17 | @AriadneSrl E DOPO?
  24. 24. #LRIS17 | @AriadneSrl Evoluzioni • Liferay 7 / DXP / Cluster / DB container • Container Orchestration (Kubernetes vs. Openshift) • Adozione del modello DevOps in altri progetti
  25. 25. #LRIS17 | @AriadneSrl Liferay 7 in container • Container generati sulla base delle immagini di docker hub  semplici da creare e funzionanti già GA5 (CE) • L’estensione DXP non ancora testata, ma 6.2 EE semplice da configurare, passando la licenza nella configurazione del container. • Già presente guida per creare un “docker compose” per Liferay 7 CE GA5 in Cluster (https://www.dontesta.it/en/2017/11/02/liferay-7-the-cluster-is-back-and- how-to-get-it/)
  26. 26. #LRIS17 | @AriadneSrl Container Platform • Kubernetes • Openshift • Fabric8
  27. 27. #LRIS17 | @AriadneSrl Banco do Brasil • Orchestrazione dei container in produzione • Adozione di OpenShift • Utilizzo degli strumenti DevOps integrati nella suite
  28. 28. #LRIS17 | @AriadneSrl Altri progetti • I nuovi progetti da estate 2017 sono implementati utilizzando queste tecniche di CI/CD (verso DevOps) • Stiamo sperimentando il setup per la DXP • E’ stato utilizzato Kubernetes come “orchestratore”
  29. 29. #LRIS17 | @AriadneSrl La tecnica/metodologia/cultura DevOps è un importante abilitatore di innovazione. Farci trovare pronti ha pagato, consentendoci di accompagnare con successo un cliente “illuminato” creando valore sia per lui che per noi.
  30. 30. #LRIS17 | @AriadneSrl Filippo Frignocca Pm e Software Architect, Ariadne Marcello Torriani CTO, Ariadne
  31. 31. #LRIS17 | @AriadneSrl

×