Moving from Monolithic to Microservice Architecture: an OSS based stack deployed in Production - Simone Cellini, Simone Gaddeo, Daniele Mannarino - Codemotion Rome 2017
Realizzare un’unica piattaforma che garantisce Omni-channel, Zero-downtime, Functional-decomposition e Auto-scaling è possibile? Vi raccontiamo un caso reale di come, utilizzando Zuul, Eureka, SpringBoot, Docker abbiamo realizzato i desideri del cliente e attuato questa trasformazione.
Molto spesso in tutta la gestione della vita del software si pensa al database come una cosa mistica, scritto nella pietra, con sue regole e tempi. Questo talk vuole portare un pò di chiarezza su come le nuove tecnologie ma soprattutto le nuove metodologie come il DevOps, permettono di gestire il database come se fosse una componente viva dell'applicazione, versionabile e manutendibile. Con l'aiuto di due prodotti opensource come Liquibase e Flyway a confronto per avere le idee chiare da subito, su come utilizzarlo in casa.
Azure functions deep dive - Giorgio Di Nardo - Codemotion Rome 2017Codemotion
DomusDotNet, DotNetCode & dotNET{podcast} Meetup - Serverless Computing
Giorgio Di Nardo, Luca Congiu
Il Serverless Computing è l'ultima frontiera della rivoluzione "cloud" della programmazione ed enfatizza ulteriormente la produttività caratteristica delle offerte PaaS. Azure Functions è la soluzione di Serverless Computing integrata in Azure, con cui poter raggiungere rapidamente l'obiettivo di organizzare la propria applicazione a microservizi, o di integrarsi in maniera flessibile con applicazioni esterne, senza preoccuparsi dell'infrastruttura sottostante. Azure Functions Deep Dive - Giorgio Di Nardo ASP.NET Core with Azure Functions - Luca Congiu
Xamarin: Shared Library and Portable Class Library - Aristide Di Francesco - ...Codemotion
A key component of the creation of cross-platform applications to be able to share code among several specific projects and platform dependent. Each different platform can only use the class libraries that have been developed for that specific platform. In Xamarin there are two main approaches to the sharing code: Using Shared Asset Projects (Shared Library) and the Portable Class Library (PCL) Projects. In this session we will see how and when to use the shared library, or the PCL library and we will try to answer the question: Shared or PCL?
Molte aziende hanno costruito negli anni sistemi informatici complessi che gestiscono i processi interni e i processi di gestione i clienti/fornitori. Con il cambiamento delle abitudini dei consumatori quello che una volta si faceva intermediato da un agente, commesso o addetto che usava il sistema gestionale per rispondere alla richiesta del cliente ora si fa in modalità self service semplicemente con uno smartphone, il cliente si aspetta di essere autonomo nel rapporto con l’azienda. L’esperienza che ci si aspetta come consumatore è quella che si vive usando piattaforma native digitali come ad esempio Netflix e Spotify. Il problema è che la maggior parte delle aziende non è partita nativamente digitale e non è possibile azzerare tutto e ripartire da capo senza correre rischi di business continuity importanti che vedono milioni di clienti coinvolti e impatti significativi a livello economico in caso di down. Se non è possibile ripartire da zero, quindi come fare? Una risposta è un approccio graduale di evoluzione architetturale e tecnologica dove Kubernetes, e il suo ecosistema, giocano un ruolo chiave. In questa presentazione vedremo i tre principi cardine sulla quale si basa questa strategia: API as a Product; architetture evolutive; fast data con pattern CQRS; che si uniscono per creare una strategia di Modernizzazione delle Applicazioni utilizzando i componenti dell’ecosistema del landscape CNCF (https://landscape.cncf.io). Da qui capiremo quali siano i benefici nel breve, medio e lungo termine e quali passi iniziare a fare per avviare questa strategia.
Molto spesso in tutta la gestione della vita del software si pensa al database come una cosa mistica, scritto nella pietra, con sue regole e tempi. Questo talk vuole portare un pò di chiarezza su come le nuove tecnologie ma soprattutto le nuove metodologie come il DevOps, permettono di gestire il database come se fosse una componente viva dell'applicazione, versionabile e manutendibile. Con l'aiuto di due prodotti opensource come Liquibase e Flyway a confronto per avere le idee chiare da subito, su come utilizzarlo in casa.
Azure functions deep dive - Giorgio Di Nardo - Codemotion Rome 2017Codemotion
DomusDotNet, DotNetCode & dotNET{podcast} Meetup - Serverless Computing
Giorgio Di Nardo, Luca Congiu
Il Serverless Computing è l'ultima frontiera della rivoluzione "cloud" della programmazione ed enfatizza ulteriormente la produttività caratteristica delle offerte PaaS. Azure Functions è la soluzione di Serverless Computing integrata in Azure, con cui poter raggiungere rapidamente l'obiettivo di organizzare la propria applicazione a microservizi, o di integrarsi in maniera flessibile con applicazioni esterne, senza preoccuparsi dell'infrastruttura sottostante. Azure Functions Deep Dive - Giorgio Di Nardo ASP.NET Core with Azure Functions - Luca Congiu
Xamarin: Shared Library and Portable Class Library - Aristide Di Francesco - ...Codemotion
A key component of the creation of cross-platform applications to be able to share code among several specific projects and platform dependent. Each different platform can only use the class libraries that have been developed for that specific platform. In Xamarin there are two main approaches to the sharing code: Using Shared Asset Projects (Shared Library) and the Portable Class Library (PCL) Projects. In this session we will see how and when to use the shared library, or the PCL library and we will try to answer the question: Shared or PCL?
Molte aziende hanno costruito negli anni sistemi informatici complessi che gestiscono i processi interni e i processi di gestione i clienti/fornitori. Con il cambiamento delle abitudini dei consumatori quello che una volta si faceva intermediato da un agente, commesso o addetto che usava il sistema gestionale per rispondere alla richiesta del cliente ora si fa in modalità self service semplicemente con uno smartphone, il cliente si aspetta di essere autonomo nel rapporto con l’azienda. L’esperienza che ci si aspetta come consumatore è quella che si vive usando piattaforma native digitali come ad esempio Netflix e Spotify. Il problema è che la maggior parte delle aziende non è partita nativamente digitale e non è possibile azzerare tutto e ripartire da capo senza correre rischi di business continuity importanti che vedono milioni di clienti coinvolti e impatti significativi a livello economico in caso di down. Se non è possibile ripartire da zero, quindi come fare? Una risposta è un approccio graduale di evoluzione architetturale e tecnologica dove Kubernetes, e il suo ecosistema, giocano un ruolo chiave. In questa presentazione vedremo i tre principi cardine sulla quale si basa questa strategia: API as a Product; architetture evolutive; fast data con pattern CQRS; che si uniscono per creare una strategia di Modernizzazione delle Applicazioni utilizzando i componenti dell’ecosistema del landscape CNCF (https://landscape.cncf.io). Da qui capiremo quali siano i benefici nel breve, medio e lungo termine e quali passi iniziare a fare per avviare questa strategia.
Windows azure - abbattere tempi e costi di sviluppoAndrea Dottor
In questa sessione vedremo come utilizzare Windows Azure per velocizzare e semplificare la realizzazione di applicazioni ASP.NET. Dallo sviluppo al deploy, passando per lo storage...andremo in dettaglio su varie funzionalità che ci faranno apprezzare ancora più la piattaforma Windows Azure.
Anche lo sviluppo del software ha un impatto importante sul clima e sull’ambiente.
Qualche esempio?
I Bitcoin producono tra 22 e 22.9 milioni di tonnellate di anidride carbonica all’anno
Minecraft, il videogioco più giocato al mondo, ha prodotto nella sua vita 600 milioni di kg di CO2
Gli sviluppatori che hanno realizzato questi software non pensavano di avere un impatto così importante sul clima mondiale.
Ora, però, è il momento di pensarci per il futuro.
Per questo ho realizzato kube-green, un progetto OSS su GitHub che ha l’obiettivo di ridurre la carbon footprint di applicativi Cloud Native.
In questo talk vedremo come funziona, una live demo e la sua roadmap per avere un mondo sempre più pulito e un software funzionante e scalabile.
Nat come esporre servizi https senza esporre l'applicazioneGiuliano Latini
Review degli strumenti a disposizione e loro contestualizzazione per erogare servizi tramite il protocollo HTTP reso sicuro (HTTPS) utilizzando il servizio Internet Let's Encripts e confronto tra gli approcci tecnologici applicabili a Apache, Nginx e Traefik.
Meetup Azure DevOps
Introduzione ad Azure DevOps e panoramica sulle principali funzionalità per il CI ed il CD del proprio software
Speaker: Simone Natalini
In ASP.NET Core 3.0 è stato introdotto il supporto a gRPC, una framework altamente performante per fare Remote Procedure Call (RPC). Leggero e molto efficiente, supportato da molti linguaggi, supporto ad una comunicazione bidirezionale, riduzione del consumo di banda...solo questi solo alcuni dei vantaggi che descrivono gRPC, e che durante la sessione cercheremo di capire se siano reali o meno.
Fatto sta che è una tecnologia assolutamente da conoscere e sfruttare nello sviluppo di app moderno, e non solamente in ambito web.
Codice: https://github.com/andreadottor/XE.Dottor.gRPC
Evento: https://www.xedotnet.org/eventi/grpc-and-c-optimising-night/
- MicroServices, le dimensioni non contano
- Wildfly Swarm, Spring Boot & Vertx.io: il nuovo che avanza
- Microservices con JBoss EAP 7: innovare in continuità
- Microregole per grandi progetti con il BRMS
- Integrazione e microservizi: come un cammello può passare dalla cruna di un ago
- API Management con 3Scale nell’era dei microservizi
Real Time Monitoring and Analitycs : Customer Experience in ProductionCodemotion
"Real Time Monitoring and Analitycs : Customer Experience in Production" by Simone Cellini, Simone Gaddeo
Come aiutare un cliente a evolvere il proprio Business da "Reactive" a "Proactive" convincendolo ad utilizzare tecnologie avanzate? In questo talk vi raccontiamo su un caso reale come abbiamo fatto. Utilizzando Kafka, ElastichSearch, Kibana, Java NIO & Concurrent API siamo riusciti a monitorare lo Stack Applicativo che eroga business, ad analizzarne i comportamenti e a garantire una "Availability" 24x7. Buona Visione
FAST è una raccolta di tecnologie, basate su Web Components e su Web Standards moderni, che ci aiuta ad affrontare in modo efficiente alcune delle sfide più comuni nella progettazione e nello sviluppo di siti ed applicazioni Web.”
FAST ci aiuta a creare interfacce si adattano facilmente a qualunque Design System e che possono essere utilizzate con qualsiasi framework!
Di progetti fatti con Arduino se ne sono visti tanti, e tanti se ne continuano a vedere. Se ne vedono un po' meno con Netduino, il microcontrollore che gira con il .NET Micro Framework. In questa sessione vedremo come il nostro giocattolino può diventare un dispositivo di input per il nostro computer. Costruiremo un semplice circuito, e useremo Netduino per raccogliere i dati dall'ambiente esterno e inviarli ad un'applicazione Windows Store.
Descrizione e confronto tra le architetture di acquisizione e analisi delle metriche realizzate usando Prometheus Grafana InfluxDB e Telegraf con l'architettura della soluzione Azure Matrics per monitorare un'infrastruttura realizzata usando il servizio Azure AKS.
Mobile Development: una introduzione per Web Developerssparkfabrik
Dal native coding agli attuali framework per lo sviluppo mobile: Ionic e React Native la fanno da padroni. Quali sono le caratteristiche peculiari e perché utilizzarli?
Il nostro Lead Developer Edoardo Dusi ne parla diffusamente per poi planare in chiusura su una comparativa tra le due soluzioni. Ah, abbiamo dedicato un piccolo spazio anche a Flutter, il framework multipiattaforma di Google (con 110k+ star su Github!) per creare apps e interfacce native composte da widget realizzati ad hoc e renderizzati da un motore interno ad altissime prestazioni.
Un'Infrastruttura di Sviluppo Web Enterprise Distribuita Basata su Modelli Pa...Natale Vinto
My Master Degree in Computer Engineering Dissertation about delivering an open source extendible hybrid cloud solution for Platform-as-a-Service with Openshift, integrated in an Infrastructure-as-a-Service deployment with Openstack Grizzly RDO
Nell’intervento Stefano Olivotto di Crédit Agricole Italia ha illustrato la sua esperienza nell’adozione di uno strumento di API management e di un processo di gestione delle API, con una particolare focalizzazione su metodologia di adozione, sulle principali sfide indirizzate e un verticale sul livello di automazione raggiunto mediante l’adozione di tecniche di DevOps.
Per maggiori informazioni scrivi a sales@profesia.it
MySQL Day Milano 2017 - Dalla replica a InnoDB Cluster: l’HA secondo MySQLPar-Tec S.p.A.
In occasione del MySQL Day 2017 di Milano il TechAdvisor Michelangelo Uberti ha fornito una panoramica delle soluzioni native di alta disponibilità di MySQL.
I punti trattati durante la presentazione sono:
- Presentazione dell’offerta Par-Tec dedicata a MySQL Enterprise
- High Availability: cause, esigenze, aspettative
- Funzionamento, benefici e limiti dei principali approcci:
- Replica tradizionale
- MySQL Cluster
- MySQL Group Replication
- La novità: MySQL InnoDB Cluster
Per saperne di più, scaricate le slide e guardate il video della presentazione del nostro TechAdvisor su https://www.par-tec.it/dalla-replica-a-innodb-cluster-l-ha-secondo-mysql-milano
Windows azure - abbattere tempi e costi di sviluppoAndrea Dottor
In questa sessione vedremo come utilizzare Windows Azure per velocizzare e semplificare la realizzazione di applicazioni ASP.NET. Dallo sviluppo al deploy, passando per lo storage...andremo in dettaglio su varie funzionalità che ci faranno apprezzare ancora più la piattaforma Windows Azure.
Anche lo sviluppo del software ha un impatto importante sul clima e sull’ambiente.
Qualche esempio?
I Bitcoin producono tra 22 e 22.9 milioni di tonnellate di anidride carbonica all’anno
Minecraft, il videogioco più giocato al mondo, ha prodotto nella sua vita 600 milioni di kg di CO2
Gli sviluppatori che hanno realizzato questi software non pensavano di avere un impatto così importante sul clima mondiale.
Ora, però, è il momento di pensarci per il futuro.
Per questo ho realizzato kube-green, un progetto OSS su GitHub che ha l’obiettivo di ridurre la carbon footprint di applicativi Cloud Native.
In questo talk vedremo come funziona, una live demo e la sua roadmap per avere un mondo sempre più pulito e un software funzionante e scalabile.
Nat come esporre servizi https senza esporre l'applicazioneGiuliano Latini
Review degli strumenti a disposizione e loro contestualizzazione per erogare servizi tramite il protocollo HTTP reso sicuro (HTTPS) utilizzando il servizio Internet Let's Encripts e confronto tra gli approcci tecnologici applicabili a Apache, Nginx e Traefik.
Meetup Azure DevOps
Introduzione ad Azure DevOps e panoramica sulle principali funzionalità per il CI ed il CD del proprio software
Speaker: Simone Natalini
In ASP.NET Core 3.0 è stato introdotto il supporto a gRPC, una framework altamente performante per fare Remote Procedure Call (RPC). Leggero e molto efficiente, supportato da molti linguaggi, supporto ad una comunicazione bidirezionale, riduzione del consumo di banda...solo questi solo alcuni dei vantaggi che descrivono gRPC, e che durante la sessione cercheremo di capire se siano reali o meno.
Fatto sta che è una tecnologia assolutamente da conoscere e sfruttare nello sviluppo di app moderno, e non solamente in ambito web.
Codice: https://github.com/andreadottor/XE.Dottor.gRPC
Evento: https://www.xedotnet.org/eventi/grpc-and-c-optimising-night/
- MicroServices, le dimensioni non contano
- Wildfly Swarm, Spring Boot & Vertx.io: il nuovo che avanza
- Microservices con JBoss EAP 7: innovare in continuità
- Microregole per grandi progetti con il BRMS
- Integrazione e microservizi: come un cammello può passare dalla cruna di un ago
- API Management con 3Scale nell’era dei microservizi
Real Time Monitoring and Analitycs : Customer Experience in ProductionCodemotion
"Real Time Monitoring and Analitycs : Customer Experience in Production" by Simone Cellini, Simone Gaddeo
Come aiutare un cliente a evolvere il proprio Business da "Reactive" a "Proactive" convincendolo ad utilizzare tecnologie avanzate? In questo talk vi raccontiamo su un caso reale come abbiamo fatto. Utilizzando Kafka, ElastichSearch, Kibana, Java NIO & Concurrent API siamo riusciti a monitorare lo Stack Applicativo che eroga business, ad analizzarne i comportamenti e a garantire una "Availability" 24x7. Buona Visione
FAST è una raccolta di tecnologie, basate su Web Components e su Web Standards moderni, che ci aiuta ad affrontare in modo efficiente alcune delle sfide più comuni nella progettazione e nello sviluppo di siti ed applicazioni Web.”
FAST ci aiuta a creare interfacce si adattano facilmente a qualunque Design System e che possono essere utilizzate con qualsiasi framework!
Di progetti fatti con Arduino se ne sono visti tanti, e tanti se ne continuano a vedere. Se ne vedono un po' meno con Netduino, il microcontrollore che gira con il .NET Micro Framework. In questa sessione vedremo come il nostro giocattolino può diventare un dispositivo di input per il nostro computer. Costruiremo un semplice circuito, e useremo Netduino per raccogliere i dati dall'ambiente esterno e inviarli ad un'applicazione Windows Store.
Descrizione e confronto tra le architetture di acquisizione e analisi delle metriche realizzate usando Prometheus Grafana InfluxDB e Telegraf con l'architettura della soluzione Azure Matrics per monitorare un'infrastruttura realizzata usando il servizio Azure AKS.
Mobile Development: una introduzione per Web Developerssparkfabrik
Dal native coding agli attuali framework per lo sviluppo mobile: Ionic e React Native la fanno da padroni. Quali sono le caratteristiche peculiari e perché utilizzarli?
Il nostro Lead Developer Edoardo Dusi ne parla diffusamente per poi planare in chiusura su una comparativa tra le due soluzioni. Ah, abbiamo dedicato un piccolo spazio anche a Flutter, il framework multipiattaforma di Google (con 110k+ star su Github!) per creare apps e interfacce native composte da widget realizzati ad hoc e renderizzati da un motore interno ad altissime prestazioni.
Un'Infrastruttura di Sviluppo Web Enterprise Distribuita Basata su Modelli Pa...Natale Vinto
My Master Degree in Computer Engineering Dissertation about delivering an open source extendible hybrid cloud solution for Platform-as-a-Service with Openshift, integrated in an Infrastructure-as-a-Service deployment with Openstack Grizzly RDO
Un'Infrastruttura di Sviluppo Web Enterprise Distribuita Basata su Modelli Pa...
Similar to Moving from Monolithic to Microservice Architecture: an OSS based stack deployed in Production - Simone Cellini, Simone Gaddeo, Daniele Mannarino - Codemotion Rome 2017
Nell’intervento Stefano Olivotto di Crédit Agricole Italia ha illustrato la sua esperienza nell’adozione di uno strumento di API management e di un processo di gestione delle API, con una particolare focalizzazione su metodologia di adozione, sulle principali sfide indirizzate e un verticale sul livello di automazione raggiunto mediante l’adozione di tecniche di DevOps.
Per maggiori informazioni scrivi a sales@profesia.it
MySQL Day Milano 2017 - Dalla replica a InnoDB Cluster: l’HA secondo MySQLPar-Tec S.p.A.
In occasione del MySQL Day 2017 di Milano il TechAdvisor Michelangelo Uberti ha fornito una panoramica delle soluzioni native di alta disponibilità di MySQL.
I punti trattati durante la presentazione sono:
- Presentazione dell’offerta Par-Tec dedicata a MySQL Enterprise
- High Availability: cause, esigenze, aspettative
- Funzionamento, benefici e limiti dei principali approcci:
- Replica tradizionale
- MySQL Cluster
- MySQL Group Replication
- La novità: MySQL InnoDB Cluster
Per saperne di più, scaricate le slide e guardate il video della presentazione del nostro TechAdvisor su https://www.par-tec.it/dalla-replica-a-innodb-cluster-l-ha-secondo-mysql-milano
MySQL Day Milano 2018 - Le architetture a microserviziPar-Tec S.p.A.
In occasione del MySQL Day 2018 di Milano il TechAdvisor Michelangelo Uberti ha fornito una panoramica sui concetti chiave, sui benefici e sulle opportunità offerte dalle architetture a microservizi.
I punti trattati durante la presentazione sono:
- Presentazione dell’offerta Par-Tec dedicata a MySQL Enterprise Edition
- Dai monoliti ai microservizi
- Un esempio concreto: Netflix
- Architetture a microservizi: vantaggi e punti di attenzione
- Dalla virtualizzazione ai container
- Containerizzazione: vantaggi e punti di attenzione
- Come superare i limiti dei container
- Introduzione al paradigma DevOps
Per saperne di più, scaricate le slide e guardate il video della presentazione del nostro TechAdvisor su https://www.par-tec.it/le-architetture-a-microservizi
Webinar 23 giugno 2022 - Advanced Cluster Security: come si mette davvero al ...Par-Tec S.p.A.
Il nostro DevOps Engineer Gabriele Torregrossa insieme alla Solution Architect Eleonora Peruch di Red Hat, moderati dal giornalista Francesco Pignatelli, hanno mostrato come Red Hat ACS può aiutare a difendersi dalle minacce informatiche, riducendo al minimo i costi ed il rischio operativo delle tue applicazioni.
I temi trattati da Gabriele sono stati:
- RHACS Insights
- Conformità agli standard di settore
- Valutazione dei rischi per la sicurezza
- Gestione delle politiche di rete
- Gestione delle vulnerabilità
- Risposta alle violazioni
- Sistema centralizzato di ricerca
- Integrazione con SSO
- Gestione della salute del cluster
- Integrazione per allarmi e backup
Per saperne di più, scaricate le slide e guardate la registrazione del webinar su https://www.par-tec.it/advanced-cluster-security-come-si-mette-davvero-al-sicuro-il-cloud
MySQL Tech Tour 2015 - Soluzioni di alta disponibilità con MySQLPar-Tec S.p.A.
Il TechAdvisor Michelangelo Uberti fornisce una panoramica generale inerente le soluzioni di alta disponibilità con MySQL.
I punti trattati durante la presentazione sono:
- Presentazione dell’offerta Par-Tec dedicata a MySQL Enterprise
- Cause, effetti e reali esigenze di HA
- Funzionamento, benefici e limiti dei principali approcci:
- Replica di database
- Cluster attivo/passivo
- Cluster attivo/attivo: shared-nothing
Per saperne di più, scaricate le slide e guardate il video della presentazione del nostro TechAdvisor su http://www.par-tec.it/soluzioni-di-alta-disponibilita-con-mysql
BABEL PRESENTA: OPSVIEW
Opsview e i TechAdvisor Babel -unico partner Opsview in Italia- vi presentano le novità tecniche e pratiche della versione 4 di Opsview Enterprise, uno strumento innovativo per gestire e monitorare facilmente infrastrutture IT distribuite..
L’evento ha avuto luogo il 16 maggio 2012, a Cinecitta’ Studios, Roma.
Opsview: www.opsview.com
Babel: www.babel.it
Open Source Day 2015 - DBaaS con Docker: un caso di studioPar-Tec S.p.A.
Il TechAdvisor Michelangelo Uberti spiega come realizzare un servizio di Database-as-a-Service basato su MySQL e Docker.
I punti trattati durante la presentazione sono:
- DB-as-a-Service: la semplicità del concept
- I possibili approcci
- Architettura di alto livello
- Focus sul Management Agent
- Orchestration at work
- Da cgroups a Docker
- Le sfide principali
- Quale futuro?
Per saperne di più, scaricate le slide e guardate il video della presentazione del nostro TechAdvisor su http://www.par-tec.it/dbaas-con-docker-un-caso-di-studio
Con Xebialabs affrontiamo il tema della gestione della Toolchain devops e Release/Deploy in modo orchestrato e remotizzato.
XebiaLabs, leader del mercato ARA come riportato da Gartner e
Forrester. Con XebiaLabs gestire i rilasci dal punto di vista di processo e di effettivo deploy delle applicazioni è solo un fatto di configurazione, al resto pensa l’engine di XebiaLabs.
MySQL Day Roma 2019 - Le architetture a microservizi e MySQLPar-Tec S.p.A.
In occasione del MySQL Day 2019 di Roma il TechAdvisor Michelangelo Uberti e Marco Carlessi - MySQL Principal Sales Consultant di Oracle - hanno fornito una panoramica sui concetti chiave, sui benefici e sulle opportunità offerte dalle architetture a microservizi.
I punti trattati durante la presentazione sono:
- Le architetture a microservizi
- Dai monoliti ai microservizi
- Un esempio concreto: Netflix
- Architetture a microservizi: vantaggi e punti di attenzione
- Dalla virtualizzazione ai container
- Containerizzazione: vantaggi e punti di attenzione
- Come superare i limiti dei container
- MySQL e le architetture a microservizi
- Microservizi e i dati
- Microservizi e database: due approcci
- MySQL può girare dentro i container
- Deploy MySQL 8.0 con Docker
- Oracle MySQL Operator for Kubernetes (Alpha)
- MySQL 8.0: un multi-model DB
- MySQL Enterprise licensing
Per saperne di più, scaricate le slide e guardate il video della presentazione del nostro TechAdvisor su https://www.par-tec.it/le-architetture-a-microservizi-e-mysql
Slide del decimo Meetup di Milano, che si è tenuto il 26 Gennaio dalle ore 10:30 alle ore 12:00 in formato virtuale.
Abbiamo parlato insieme a Davide Bonaciti di come ha realizzato un caso d'uso di automazione e CI/CD. Stefano Bernardini, Serena Galassi e Lorenzo Ornella, invece, ci parleranno di DataGraph e ci mostreranno una demo di implementazione per realizzare un'asta del fantacalcio 2.0.
Una presentazione del cloud visto in una ottica "dev" e non "ops" tenuta alla Trentino School of Management
Similar to Moving from Monolithic to Microservice Architecture: an OSS based stack deployed in Production - Simone Cellini, Simone Gaddeo, Daniele Mannarino - Codemotion Rome 2017 (20)
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Codemotion
Increased complexity makes it very hard and time-consuming to keep your software bug-free and secure. We introduce fuzz-testing as a method for automatically and continuously discovering vulnerabilities hidden in your code. The talk will explain how fuzzing works and how to integrate fuzz-testing into your Software Development Life Cycle to increase your code’s security.
Pompili - From hero to_zero: The FatalNoise neverending storyCodemotion
It was 1993 when we decided to venture in a beat'em up game for Amiga. The Catalypse's success story pushed me and my comrade to create something astonishing for this incredible game machine... but things went harder, assumptions were slightly different, and italian competitors appeared out of nowhere... the project died in 1996. Story ended? Probably not...
Il Commodore 65 è un prototipo di personal computer che Commodore avrebbe dovuto mettere in commercio quale successore del Commodore 64. Purtroppo la sua realizzazione si fermò appunto allo stadio prototipale. Racconterò l'affascinante storia del suo sviluppo ed il perchè della soppressione del progetto ormai ad un passo dalla immissione in commercio.
Rivivere l'ebbrezza di progettare un vecchio computer o una consolle da bar è oggi possibile sfruttando le FPGA, ovvero logiche programmabili che consentono a chiunque di progettare il proprio hardware o di ricrearne uno del passato. In questa sessione si racconta come dal reverse engineering dell'hardware di vecchie glorie come il Commodore 64 e lo ZX Spectrum sia stato possibile farle rivivere attraverso tecnologie oggi alla portata di tutti.
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Codemotion
There's a lot of talk about blockchain, but how does the technology behind it actually work? For developers, getting some hands-on experience is the fastest way to get familiair with new technologies. So let's build a blockchain, then! In this session, we're going to build one in plain old Java, and have it working in 40 minutes. We'll cover key concepts of a blockchain: transactions, blocks, mining, proof-of-work, and reaching consensus in the blockchain network. After this session, you'll have a better understanding of core aspects of blockchain technology.
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Codemotion
When was the last time you were truly lost? Thanks to the maps and location technology in our phones, a whole generation has now grown up in a world where getting lost is truly a thing of the past. Location technology goes far beyond maps in the palm of our hand, however. In this talk, we will explore how a ridesharing app works. How do we discover our destination?How do we find the closest driver? How do we display this information on a map? How do we find the best route?To answer these questions,we will be learning about a variety of location APIs, including Maps, Positioning, Geocoding etc.
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Codemotion
Eward Driehuis, SecureLink's research chief, will guide you through the bumpy ride we call the cyber threat landscape. As the industry has over a decade of experience of dealing with increasingly sophisticated attacks, you might be surprised to hear more attacks slip through the cracks than ever. From analyzing 20.000 of them in 2018, backed by a quarter of a million security events and over ten trillion data points, Eward will outline why this happens, how attacks are changing, and why it doesn't matter how neatly or securely you code.
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 - Codemotion
IoT revolution is ended. Thanks to hardware improvement, building an intelligent ecosystem is easier than never before for both startups and large-scale enterprises. The real challenge is now to connect, process, store and analyze data: in the cloud, but also, at the edge. We’ll give a quick look on frameworks that aggregate dispersed devices data into a single global optimized system allowing to improve operational efficiency, to predict maintenance, to track asset in real-time, to secure cloud-connected devices and much more.
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Codemotion
What if Virtual Reality glasses could transform your environment into a three-dimensional work of art in realtime in the style of a painting from Van Gogh? One of the many interesting developments in the field of Deep Learning is the so called "Style Transfer". It describes a possibility to create a patchwork (or pastiche) from two images. While one of these images defines the the artistic style of the result picture, the other one is used for extracting the image content. A team from TNG Technology Consulting managed to build an AI showcase using OpenCV and Tensorflow to realize such goggles.
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Codemotion
The document summarizes some of the security issues with blockchain technology. It discusses how blockchain is not a "silver bullet" and does not inherently solve problems like privacy and security of smart devices. It outlines various application security issues with complex code, protocols, and difficulty of updates on blockchains. Concerns over data immutability and security of smart contracts are also covered. The document questions whether blockchain truly provides the level of decentralization and anonymity claimed, and outlines some impossibility results and limitations of existing approaches to achieving security and privacy in blockchain systems.
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Codemotion
The document provides an overview of the HTTP network protocol in its early stages of development. It summarizes the initial IMP (Interface Message Processor) software used to establish connections and transmit messages over the ARPANET. It outlines some early requirements for host-to-host software to enable simple and advanced use between computer systems. The document also describes the initial host software specifications, including establishing connections, transmitting data efficiently, and implementing error checking between connected systems. This was one of the first documents to define core aspects of the early HTTP network protocol to enable information exchange over the fledgling internet.
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Codemotion
Performance tests are not only an important instrument for understanding a system and its runtime environment. It is also essential in order to check stability and scalability – non-functional requirements that might be decisive for success. But won't my cloud hosting service scale for me as long as I can afford it? Yes, but… It only operates and scales resources. It won't automatically make your system fast, stable and scalable. This talk shows how such and comparable questions can be clarified with performance tests and how DevOps teams benefit from regular test practise.
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Codemotion
Sascha will demonstrate the opportunities and challenges of Conversational AI learned from the practice. Both Technology and User Experience will be covered introducing a process finding micro-moments, writing happy paths, gathering intents, designing the conversational flow, and finally publishing on almost all channels including Voice Services and Chatbots. Valuable for enterprises, developers, and designers. All live on stage in just minutes and with almost no code.
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Codemotion
A key challenge we face at Pacmed is quickly calibrating and deploying our tools for clinical decision support in different hospitals, where data formats may vary greatly. Using Intensive Care Units as a case study, I’ll delve into our scalable Python pipeline, which leverages Pandas’ split-apply-combine approach to perform complex feature engineering and automatic quality checks on large time-varying data, e.g. vital signs. I’ll show how we use the resulting flexible and interpretable dataframes to quickly (re)train our models to predict mortality, discharge, and medical complications.
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Codemotion
Coolblue is a proud Dutch company, with a large internal development department; one that truly takes CI/CD to heart. Empowerment through automation is at the heart of these development teams, and with more than 1000 deployments a day, we think it's working out quite well. In this session, Pat Hermens (a Development Managers) will step you through what enables us to move so quickly, which tools we use, and most importantly, the mindset that is required to enable development teams to deliver at such a rapid pace.
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...Codemotion
Quantum computers can use all of the possible pathways generated by quantum decisions to solve problems that will forever remain intractable to classical compute power. As the mega players vie for quantum supremacy and Rigetti announces its $1M "quantum advantage" prize, we live in exciting times. IBM-Q and Microsoft Q# are two ways you can learn to program quantum computers so that you're ready when the quantum revolution comes. I'll demonstrate some quantum solutions to problems that will forever be out of reach of classical, including organic chemistry and large number factorisation.
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Codemotion
Chinese food exploded across America in the early 20th century, rapidly adapting to local tastes while also spreading like wildfire. How was it able to spread so fast? The GY6 is a family of scooter engines that has achieved near total ubiquity in Europe. It is reliable and cheap to manufacture, and it's made in factories across China. How are these factories able to remain afloat? Chinese-American food and the GY6 are both riveting studies in product-market fit, and both are the product of a distributed open source-like development model. What lessons can we learn for open source software?
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Codemotion
The design space has exploded in size within the last few years and Sketch is one of the most important milestones to represent the phenomenon. But behind the scenes of this growing reality there is a remote team that revolutionizes the design space all without leaving the home office. This talk will present how Sketch has grown to become a modern, product designer's tool.
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Codemotion
Would you fly in a plane designed by a craftsman or would you prefer your aircraft to be designed by engineers? We are learning that science and empiricism works in software development, maybe now is the time to redefine what “Software Engineering” really means. Software isn't bridge-building, it is not car or aircraft development either, but then neither is Chemical Engineering. Engineering is different in different disciplines. Maybe it is time for us to begin thinking about retrieving the term "Software Engineering" maybe it is time to define what our "Engineering" discipline should be.
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Codemotion
What is the job of a CTO and how does it change as a startup grows in size and scale? As a CTO, where should you spend your focus? As an engineer aspiring to be a CTO, what skills should you pursue? In this inspiring and personal talk, I describe my journey from early Red Hat engineer to CTO at Bloomon. I will share my view on what it means to be a CTO, and ultimately answer the question: Should the CTO be coding?
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Moving from Monolithic to Microservice Architecture: an OSS based stack deployed in Production - Simone Cellini, Simone Gaddeo, Daniele Mannarino - Codemotion Rome 2017
2. I N T R O D U C T I O N : C H I S I A M O
@simcellini
http://it.linkedin.com/pub/simone-cellini/61/574/313
@simone_gaddeo
https://it.linkedin.com/in/simone-gaddeo-8b5a22115
@CodemotionWorld @NTTDATA_IT #ce2017msa
3. I N T R O D U C T I O N : TA L K
Realizzare un’unica piattaforma che garantisce
«Omni-channel»
«Zero-downtime»
«Functional-decomposition»
«Auto-scaling»
E’ possibile?
4. S U M M A R Y
Business Opportunity
Introduction
Architectural Solution
Technology Solution
Demo
Conclusions
Q & A
5. B U S I N E S S O P P O R T U N I T Y : C U S T O M E R R E Q U I R E M E N T S
6. B U S I N E S S O P P O R T U N I T Y : C U S T O M E R E X P E C TAT I O N
Omni-channel
Monitoring
Flessibilità
Tempistiche
Diminuzione delle
tempistiche di
disservizio durante i
deployment
Flessibilità nel deployment e
nella manutenzione evolutiva
della piattaforma
Garanzia di
comportamenti
seamless. Si inizia un
customer journey su un
canale e si continua su
un altro
Monitoring applicativo
e supporto per il
troubleshooting
7. B U S I N E S S O P P O R T U N I T Y : C U S T O M E R C O N S T R A I N T S
Software Hardware
Business
Cloud
8. B U S I N E S S O P P O R T U N I T Y : P R O P O S A L
MicroService Architecture (MSA) è uno stile architetturale per lo sviluppo di una singola applicazione
come un insieme di microservizi. I microservizi sono dei servizi piccoli e autonomi, eseguiti come
processi distinti, che cooperano comunicando mediante meccanismi leggeri. La gestione centralizzata
è minima. Quindi ogni microservizio:
o Rappresenta una specifica capacità di business autocontenuta (bounded context)
o Presenta basso livello di accoppiamento con gli altri
o È progettato per sopravvivere al fallimento di altri servizi (Circuit Breaker)
o Deve avere interfaccia che facilita l’uso e massimizza il riuso (Smart endpoints and dumb pipes)
o È rilasciabile e scalabile indipendentemente dagli altri
o È assegnato ad un gruppo di lavoro piccolo (Two Pizza Team) e autonomo
o Può essere realizzato con tecnologie specifiche (polyglot programming) e avere la propria base dati
(polyglot persistence), con possibili migrazioni incrementali di natura diversa
9. A R C H I T E C T U R A L S O L U T I O N : O V E R V I E W
Desktop
Tablet Smartphone
Api Gateway
Caching Monitoring
Service Discovery
Legacy SystemLegacy System Legacy System
Microservices Microservices Microservices
Container
Api Management
10. Mantiene il registro di istanze in
esecuzione. Ogni istanza si
registra sul Service Discovery.
La richiesta viene instradata al
Microservices in base ad un
algoritmo bilanciato.
La soluzione proposta ha 3
livelli di cache:
• A livello di Api Gateway
• A livello di microservizio
composto
• A livello di singoli microservizi
Automatizzazione del
deployment e messa in
esercizio di una applicazione,
grazie alla astrazione dovuta
alla virtualizzazione del SO.
Componenti che permettono il
controllo ed il monitoraggio
dell’intera piattaforma. Il
monitoraggio è diviso in
monitoraggio applicativo e
monitoraggio di sistema.
Insieme di singoli servizi con
granularità molto fine. Questa
soluzione permette di avere
servizi indipendenti garantendo
un aumento dell’up-time grazie
all’independent deployment.
E’ il processo di pubblicazione,
documentazione e supervisione
di API in un ambiente sicuro e
scalabile. Informa l’Api Gateway
che è presente un nuovo
servizio.
Access point per diversi client
device-oriented. Le richieste
arrivano all’Api Gateway che
individua il servizio richiesto
applicando le policy configurate
(Autenticazione, ..)
API Gateway
Service Discovery Microservices
Caching
Monitoring
API Management
Container
A R C H I T E C T U R A L S O L U T I O N : D E TA I L
11. S C O U T I N G
API
Management
Omnichannel
Microservices
Containers
Trend commerciali, organizzativi,
architetturali, tecnologici e
infrastrutturali evolvono e si
intersecano.
Maturità non è ancora stata raggiunta
in alcuni ambiti, ma aziende di
successo adottano già da tempo
nuovi paradigmi e soluzioni
Aziende che intraprendono iniziative
di Digital Transformation devono
tener conto di questi trend.
12. T E C H N O L O G Y S O L U T I O N : A P I G AT E W AY
Per ogni richiesta viene controllata la possibilità di accedere alla risorsa
richiesta, in caso negativo la richiesta viene rigettata
In caso alcune risorse di Microservices siano in crisi, il carico viene
diminuito gradualmente fino al momento nel quale i sistemi ritornano in
piena efficienza
Vengono registrati diversi dati e metriche per il controllo del servizio in
produzione
E' possibile definire una capacità di richieste per singola risorsa e non
erogare tutte le richieste che superano questa quota
E' possibile ritornare direttamente risposte a livello di gateway senza
necessariamente effettuare routing verso i Microservices
Dinamicamente le richieste vengono ruotate ai diversi cluster di
Microservices con load balancing
Authentication
Authorization
Security
Routing
Resiliency
Monitoring
Quota
Caching
13. T E C H N O L O G Y S O L U T I O N : A P I G AT E W AY
F I LT E R S
Il ruolo centrale nel routing HTTP Request/Response è costituito dai filtri.
Ogni filtro possiede le seguenti caratteristiche:
• Type (fase di esecuzione all'interno del ciclo di vita della richiesta)
• PRE: Fase antecedente al routing verso la risorsa (ad es. Authentication, Authorization, Logging, etc...)
• ROUTING: Fase di routing della richiesta verso la risorsa (Es. via Apache HttpClient, Ribbon Netflix, etc...)
• POST: Fase di creazione della risposta (ad es. aggiunta di header alla response, statistiche e metriche,
etc...)
• ERROR: Fase eseguita se presente un errore in una delle precedenti fasi
• Execution Order (All'interno di un Type indica l'ordine di esecuzione del filtro)
• Criteria (Condizioni per le quali il filtro viene eseguito)
• Action(L'azione che deve essere eseguita se i Criteria sono rispettati)
15. T E C H N O L O G Y S O L U T I O N : S E R V I C E D I S C O V E R Y
EUREKA SERVER
Gestione del registro delle
istanze di servizi presenti
nell’architettura (Service
Registry)
Esposizione di API Rest
per le operazioni di
registrazione, de-
registrazione, fetching
informazioni istanze e
cancellazione
Propagazione delle
informazioni tra i diversi
nodi di Eureka Server
EUREKA CLIENT
Registra e de-registra
istanze di servizio su
Eureka Server
Mantiene la connessione
con il server Eureka
attraverso heartbeat
Recupera e mantiene
informazioni sui servizi dal
server Eureka
16. 4. Get B
T E C H N O L O G Y S O L U T I O N : S E R V I C E D I S C O V E R Y
Service A or ApiGateway
Eureka Client
Service B
Eureka Client
Eureka Server
Ribbon
5. Call B
17. T E C H N O L O G Y S O L U T I O N : M I C R O S E R V I C E S
Caratteristiche principali
• Permette di sviluppare java stand-alone web applications
• Può utilizzare in modalità embedded diversi servlet
container: Tomcat, Jetty, etc
• Utilizza Spring Framework con configurazione automatica
• Offre funzionalità utili per l’ambiente di produzione: plugin
maven per packaging, possibilità di esternalizzare la
configurazione, possibilità di estrazione di varie metriche
Perché lo abbiamo scelto
• Permette di esporre facilmente servizi REST utilizzando
Spring MVC
• Utilizza Spring Framework che permette uno sviluppo
rapido seguendo le principali best-practices
• Possiede diversi adapters per integrare facilmente db
sql (mysql ,H2 ,Oracle) e no-sql (MongoDb, Cassandra,
ElasticSearch), ldap, cache (Redis , HazelCast), ecc.
Inoltre
• Abbiamo scelto di integrare manualmente Eureka Client senza utilizzare l’integrazione di Spring Cloud in modo da avere
una soluzione snella e indipendente che ci ha permesso di utilizzare Eureka Server e Zuul rilasciati direttamente da
Netflix
18. T E C H N O L O G Y S O L U T I O N : C O N TA I N E R
Build: Docker permette di comporre applicazioni, senza
preoccuparsi di inconsistenze tra vari ambienti
SHIP: Docker permette di progettare l’intero ciclo di
sviluppo dell’applicazione, e gestirlo con un’interfaccia
utente
Run: offre la possibilità di deployare servizi scalabili
I Container consentono di pacchettizzare
un’applicazione con tutte le parti necessarie (le librerie
e altre risorse correlate) e distribuirla come un unico
pacchetto. E’ un’applicazione eseguita in namespace
separati (network namespace, file system, users, IPC).
Livello di isolamento rafforzato da SELinux che
impedisce ai processi all’interno di un container di agire
all’esterno di esso. Condividono il kernel della
macchina host .
Le soluzioni per orchestrare i container sono
innumerevoli, Swarm è la proposta sviluppata dalla
startup Docker che si adatta facilmente ad ambienti
in cui già si opera con container Docker. Swarm
trasforma molti Docker Engine in un solo Docker
Engine virtuale. Le caratteristiche principali sono :
o Scheduling
o Re-Scheduling in caso di fallimento
o High Availability
o Discovery del servizio DNS-based
o Creazione master
o Aggiunta nodi al cluster
19. T E C H N O L O G Y S O L U T I O N : A P I M A N A G E M E N T
20. T E C H N O L O G Y S O L U T I O N : C A C H I N G
In memory data structure store che può essere utilizzato come Key-
Value nosql database, Caching system e Message broker.
Redis lavora con un dataset in memory che garantisce alte performance
High Availability via Redis Sentinel - Partitioning via Redis Cluster
E’ possibile eseguire più comandi in un’unica richiesta
Client per tutti i maggiori linguaggi di programmazione
Supporta varie strutture dati: Strings, Hashes, Lists, Sets, SortedSetsData Structures
High Performance
High Availability
Pipelining
Client
21. T E C H N O L O G Y S O L U T I O N : M O N I T O R I N G
Control
Asynchrony
Visualization
Key Features
• Data Collection
• Data Processing
• Data Aggregation
• Display Data
Application Output
Producer
Consumer
Data
Key Benefits
• Customer Marketing: analisi statistiche basate su User Experience
• IT-Operation: analisi statistiche sulle Performance
• Customer Product Manager: analisi applicative sul comportamento dello Stack’s
Soluzione completamente basata su pacchetti opensorce. I dati sono estratti dai Log Files senza nessun impatto sulle
performances. Fornisce statistiche, report e e supporto per analisi drill-down per la risoluzione dei malfunzionamenti
22. T E C H N O L O G Y S O L U T I O N : O V E R V I E W
Desktop
Tablet Smartphone
Api Gateway
Caching Monitoring
Service Discovery
Legacy SystemLegacy System Legacy System
Microservices Microservices Microservices
Container
Api Management
25. B E N E F I T S
Fornisce un alto livello di QOS,
quando avviene il fallimento di un
singolo componente, questo non
impatta la stabilità dell’intero sistema
Assicura un alto livello di scalabilità
per ogni componente/servizio sulla
base delle variazioni del carico
Si possono utilizzare più linguaggi,
framework o tipi di data-storage
Poiché ogni servizio è autonomo, è
più facile effettuare hot deploy senza
creare disservizi
Avere online più versioni di uno
stesso servizio per garantire la retro-
compatibilità a tutti i client integrati
con la piattaforma
Facilità per mantenere e far evolvere
un sistema garantendo rapidità nei
cicli di Build/Test/Release per
aggiungere o modificare funzionalità
La soluzione è indipendente da
piattaforme complesse
La responsabilità di ogni singolo
microservizio è chiara e definita