Introduzione a Docker e alla Dockerizzazione.
Filosofia e progettazione Docker
Comandi principali per gesitere immagini, container, volumi e reti
Dockerfile e docker-compose
Valerio Radice @ Nextre (Maggio 2017)
TAG: docker , Dockerfile , docker-compose , italian , nextre
Uno dei principali motivi per adottare un approccio DevOps è di soddisfare le richieste di mercato nel minor tempo possibile: ciò è possibile se un nostro prodotto ha una architettura ben composta e flessibile. In questo contesto, i microservizi sono un'ottima scelta: per la loro natura rappresentano l'approccio architetturale migliore per adottare una cultura DevOps e mantenere la complessità bassa. In questa sessione parleremo sia di aspetti architetturali che pratici relativi alla fusione di questi due mondi.
Introduction to Microservices Patterns. In these slides we explore microservices vs monolith apis. We try to identify the challenges of moving to microservices ecosystem and try to analyze possible solutions for data consistency, inter-communication, event driven and distributed transactions.
The introduction covers the following
1. What are Microservices and why should be use this paradigm?
2. 12 factor apps and how Microservices make it easier to create them
3. Characteristics of Microservices
Note: Please download the slides to view animations.
Introduction to dockers and kubernetes. Learn how this helps you to build scalable and portable applications with cloud. It introduces the basic concepts of dockers, its differences with virtualization, then explain the need for orchestration and do some hands-on experiments with dockers
Introduzione a Docker e alla Dockerizzazione.
Filosofia e progettazione Docker
Comandi principali per gesitere immagini, container, volumi e reti
Dockerfile e docker-compose
Valerio Radice @ Nextre (Maggio 2017)
TAG: docker , Dockerfile , docker-compose , italian , nextre
Uno dei principali motivi per adottare un approccio DevOps è di soddisfare le richieste di mercato nel minor tempo possibile: ciò è possibile se un nostro prodotto ha una architettura ben composta e flessibile. In questo contesto, i microservizi sono un'ottima scelta: per la loro natura rappresentano l'approccio architetturale migliore per adottare una cultura DevOps e mantenere la complessità bassa. In questa sessione parleremo sia di aspetti architetturali che pratici relativi alla fusione di questi due mondi.
Introduction to Microservices Patterns. In these slides we explore microservices vs monolith apis. We try to identify the challenges of moving to microservices ecosystem and try to analyze possible solutions for data consistency, inter-communication, event driven and distributed transactions.
The introduction covers the following
1. What are Microservices and why should be use this paradigm?
2. 12 factor apps and how Microservices make it easier to create them
3. Characteristics of Microservices
Note: Please download the slides to view animations.
Introduction to dockers and kubernetes. Learn how this helps you to build scalable and portable applications with cloud. It introduces the basic concepts of dockers, its differences with virtualization, then explain the need for orchestration and do some hands-on experiments with dockers
betterCode(CA), Dezember 2022, Dirk Kröhan, (Software-Architekt bei QAware in Mainz.)
== Dokument bitte herunterladen, falls unscharf! Please download slides if blurred! ==
Wartbarer, testbarer und vor allem nachvollziehbarer Code. Welcher Entwickler wünscht sich das nicht? Themen wie Microservices und DDD helfen uns zwar dabei, unsere Services auf höherer Ebene zu schneiden, jedoch wird die Architektur innerhalb des Service oft vernachlässigt.
Mit Clean Architecture existiert bereits ein Vorgehen, um Services klarer zu strukturieren, weniger Kopplung zu erzeugen und den Code insgesamt testbar zu halten. Der Übergang von der Theorie in die Praxis ist dabei jedoch oft schwieriger als gedacht.
An einem realen Beispiel wird gezeigt, wie sich Clean Architecture in einem Spring-Boot-REST-Service realisieren lässt und wo Clean Architecture by the book nicht mehr unbedingt zielführend ist.
Workshop which explains maven project lifecycle as well as providing hands on experience to create maven project from the scratch on their system. This workshop was very well taken by Adoniram Mishra, Manjyot Singh and Prakriti Suresh Singh.
This is a presentation how to introduce CQRS pattern to an existing application, step by step, without breaking changes and holding up the development.
Appium Dockerization: from Scratch to Advanced Implementation - HUSTEF 2019Sargis Sargsyan
In this high technology times, it is really hard to catch up with everything. Especially for the mobile world when there are thousands of mobile devices with different modification of the Android OS. Most of us who work in the mobile testing industry familiar with the Appium framework for UI automation and also aware of complicate setup and hard maintenance of it. Using Docker in Android UI automation is making our life much easier. Docker-Android is a docker image built to be used for everything related to Android mobile website or application testing. All the tools needed (devices, framework, Android SDK, etc.) are packaged in the image. It is free and open-source and supports other features such as video recording. In this session, we will talk about the advantages and disadvantages of Appium and docker-android will go throw getting started with Docker-Android and run sample tests against it.
A basic introductory slide set on Kubernetes: What does Kubernetes do, what does Kubernetes not do, which terms are used (Containers, Pods, Services, Replica Sets, Deployments, etc...) and how basic interaction with a Kubernetes cluster is done.
Building a Kubernetes App with Amazon EKSDevOps.com
Interested in learning how to set up a Kubernetes cluster and use automation to test and deploy an app?
During this presentation, Laura Frank will take a deep dive into CI/CD best practices with Kubernetes and Amazon EKS. You will be introduced to AmazonEKS, Amazon’s Kubernetes service and CloudBees CodeShip, a flexible continuous integration (CI)/continuous delivery(CD) tool that runs your builds in the cloud. Designed with developers in mind, both EKS and CodeShip when used together reduce the complexity of running an app with Kubernetes.
Attend this webinar to learn:
- An overview of Amazon EKS
- How to set up your own CI/CD pipeline
- How to leverage CI/CD best practices with Kubernetes
Apresentação Docker básico (história, comunidade, conceito, vm vs docker, comandos, dockerfile, docker compose, docker swarn, docker engine)
Para ver o slide em qualidade melhor, fazer o download
Protecting Apps from Hacks in Kubernetes with NGINXNGINX, Inc.
Kubernetes has become the platform of choice for deploying modern applications. A Web Application Firewall (WAF) is the most common solution to providing run-time protection for applications (well, second most common, after blind -faith and protective amulets). The question is, how do you put a WAF in place for applications running on Kubernetes?
As for most IT questions, the obvious answer is, of course, “it depends.” But on what?
In this webinar, we look at how a WAF works, where to insert a WAF in your infrastructure, and the best way for a platform engineering team to create self-service WAF configuration on Kubernetes. We explore some sample configurations, and provide a demo of NGINX App Protect WAF in action.
Building a scalable microservice architecture with envoy, kubernetes and istioSAMIR BEHARA
Talk from O'Reilly Software Architecture Conference San Jose 2019
Microservices and containers have taken the software industry by storm. Transitioning from a monolith to microservices enables you to deploy your application more frequently, independently, and reliably. However, microservice architecture has its own challenges, and it has to deal with the same problems encountered while designing distributed systems.
Enter service mesh technology to the rescue. A service mesh reduces the complexity associated with microservices and provides functionality like load balancing, service discovery, traffic management, circuit breaking, telemetry, fault injection, and more. Istio is one of the best implementations of a service mesh at this point, while Kubernetes provides a platform for running microservices and automating deployment of containerized applications.
Join Samir Behara to go beyond the buzz and understand microservices and service mesh technologies.
betterCode(CA), Dezember 2022, Dirk Kröhan, (Software-Architekt bei QAware in Mainz.)
== Dokument bitte herunterladen, falls unscharf! Please download slides if blurred! ==
Wartbarer, testbarer und vor allem nachvollziehbarer Code. Welcher Entwickler wünscht sich das nicht? Themen wie Microservices und DDD helfen uns zwar dabei, unsere Services auf höherer Ebene zu schneiden, jedoch wird die Architektur innerhalb des Service oft vernachlässigt.
Mit Clean Architecture existiert bereits ein Vorgehen, um Services klarer zu strukturieren, weniger Kopplung zu erzeugen und den Code insgesamt testbar zu halten. Der Übergang von der Theorie in die Praxis ist dabei jedoch oft schwieriger als gedacht.
An einem realen Beispiel wird gezeigt, wie sich Clean Architecture in einem Spring-Boot-REST-Service realisieren lässt und wo Clean Architecture by the book nicht mehr unbedingt zielführend ist.
Workshop which explains maven project lifecycle as well as providing hands on experience to create maven project from the scratch on their system. This workshop was very well taken by Adoniram Mishra, Manjyot Singh and Prakriti Suresh Singh.
This is a presentation how to introduce CQRS pattern to an existing application, step by step, without breaking changes and holding up the development.
Appium Dockerization: from Scratch to Advanced Implementation - HUSTEF 2019Sargis Sargsyan
In this high technology times, it is really hard to catch up with everything. Especially for the mobile world when there are thousands of mobile devices with different modification of the Android OS. Most of us who work in the mobile testing industry familiar with the Appium framework for UI automation and also aware of complicate setup and hard maintenance of it. Using Docker in Android UI automation is making our life much easier. Docker-Android is a docker image built to be used for everything related to Android mobile website or application testing. All the tools needed (devices, framework, Android SDK, etc.) are packaged in the image. It is free and open-source and supports other features such as video recording. In this session, we will talk about the advantages and disadvantages of Appium and docker-android will go throw getting started with Docker-Android and run sample tests against it.
A basic introductory slide set on Kubernetes: What does Kubernetes do, what does Kubernetes not do, which terms are used (Containers, Pods, Services, Replica Sets, Deployments, etc...) and how basic interaction with a Kubernetes cluster is done.
Building a Kubernetes App with Amazon EKSDevOps.com
Interested in learning how to set up a Kubernetes cluster and use automation to test and deploy an app?
During this presentation, Laura Frank will take a deep dive into CI/CD best practices with Kubernetes and Amazon EKS. You will be introduced to AmazonEKS, Amazon’s Kubernetes service and CloudBees CodeShip, a flexible continuous integration (CI)/continuous delivery(CD) tool that runs your builds in the cloud. Designed with developers in mind, both EKS and CodeShip when used together reduce the complexity of running an app with Kubernetes.
Attend this webinar to learn:
- An overview of Amazon EKS
- How to set up your own CI/CD pipeline
- How to leverage CI/CD best practices with Kubernetes
Apresentação Docker básico (história, comunidade, conceito, vm vs docker, comandos, dockerfile, docker compose, docker swarn, docker engine)
Para ver o slide em qualidade melhor, fazer o download
Protecting Apps from Hacks in Kubernetes with NGINXNGINX, Inc.
Kubernetes has become the platform of choice for deploying modern applications. A Web Application Firewall (WAF) is the most common solution to providing run-time protection for applications (well, second most common, after blind -faith and protective amulets). The question is, how do you put a WAF in place for applications running on Kubernetes?
As for most IT questions, the obvious answer is, of course, “it depends.” But on what?
In this webinar, we look at how a WAF works, where to insert a WAF in your infrastructure, and the best way for a platform engineering team to create self-service WAF configuration on Kubernetes. We explore some sample configurations, and provide a demo of NGINX App Protect WAF in action.
Building a scalable microservice architecture with envoy, kubernetes and istioSAMIR BEHARA
Talk from O'Reilly Software Architecture Conference San Jose 2019
Microservices and containers have taken the software industry by storm. Transitioning from a monolith to microservices enables you to deploy your application more frequently, independently, and reliably. However, microservice architecture has its own challenges, and it has to deal with the same problems encountered while designing distributed systems.
Enter service mesh technology to the rescue. A service mesh reduces the complexity associated with microservices and provides functionality like load balancing, service discovery, traffic management, circuit breaking, telemetry, fault injection, and more. Istio is one of the best implementations of a service mesh at this point, while Kubernetes provides a platform for running microservices and automating deployment of containerized applications.
Join Samir Behara to go beyond the buzz and understand microservices and service mesh technologies.
Mastering Chaos - A Netflix Guide to MicroservicesC4Media
Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/2hkPH7v.
Josh Evans talks about the chaotic and vibrant world of microservices at Netflix. He starts with the basics, - the anatomy of a microservice, the challenges around distributed systems, and the benefits. Then he builds on that foundation exploring the cultural, architectural, and operational methods that lead to microservice mastery. Filmed at qconsf.com.
Josh Evans is Director of Operations Engineering at Netflix, with experience in e-commerce, tools, testing, and operations. For the past three years he has led an organization that creates, integrates, and evangelizes proven technical solutions and practices like continuous delivery, real-time operational insight, and chaos engineering to achieve operational excellence at scale.
SVILUPPARE E GESTIRE ARCHITETTURE A MICROSERVIZI SU AZUREDotNetCampus
Lo sviluppo nel Cloud porta con sè una serie di nuove sfide per poter gestire in maniera efficiente le risorse a disposizione e creare architetture in grado di sfruttarne appieno le caratteristiche di flessibilità. In questa presentazione vedremo esempi di possibili approcci alla realizzazione di architetture a micro-servizi.
PiterPy 2016: Parallelization, Aggregation and Validation of API in PythonMax Klymyshyn
There's plenty of different approaches for building simle and robust API: REST, SOAP, RPC and so on. Some of them are too verbose, some – too complex. This presentation is a journey of finding balance between simplicity and flexibility, performance and robustness.
Including existing Java code into a Jolie service is very easy. Follow these few slides for learning how to exploit all the Java code you have in a microservice architecture
In this presentation the Jolie Team shows its vision about the incoming revolution of microservices. The deployment paradigm and the linguistic paradigm should be adopted together in order to fully achieve the microservice revolution
L'utilizzo dei software open source può diventare una vera e propria opportunità per sviluppare la propria azienda, oppure per abbattere i costi di un'azienda esistente.
Tutto questo senza rinunciare alla qualità ed alla sicurezza del software, ma utilizzando prodotti sviluppati e testati da migliaia di persone.
Nuovi metodi e linguaggi per la comunicazione degli adolescentiDino Amenduni
L’educazione, la formazione, i ragazzi e Internet: una relazione impossibile?
Presentazione del 23 marzo 2011 durante l'evento "L’educazione tra pari nelle malattie sessualmente trasmesse" (Bari)
Workshop Ideare e creare Web Applications, Introduzione ad AngularJSGiovanni Buffa
Gli argomenti trattati durante il Workshop gratuito sull'ideazione e creazione di Web Applications con AngularJS:
- Metodologie innovative di ideazione e creazione di Web Applications;
- Sfide e problemi del lavoro in team;
- Introduzione ad AngularJS e alle sue componenti principali;
- Dimostrazione pratica di una WebApp
Applicazioni e Social Network: un nuovo unico mondoSara Cassina
Tutte le aziende hanno necessità di farsi conoscere e comunicare, ma per raggiungere questo obiettivo le difficoltà che incontrano sono sempre maggiori.
Dalla gestione del sito, ai blog e ora i social network, ogni giorno nascono nuovi mezzi che acquistano sempre più popolarità e lo fanno in breve tempo.
L’unico vero strumento in grado d'integrare tutti questi elementi è la “Social App”, ma quali strumenti usare per sviluppare un’Applicazione? Quali e quanti linguaggi di programmazione è necessario conoscere?
Esiste un modo pratico e semplice per ottenere e gestire un’APP su diversi store? La risposta a tutte queste domande è HTML5.
Il nostro intervento sarà volto ad illustrare le potenzialità di questa tecnologia per sviluppare APP attraverso l’uso di framework e app generator.
Workshop di co-progettazione: open data, wi-fi, inclusione digitaleRegione Emilia-Romagna
Tematiche del workshop:
1 > banca regionale del dato per favorire individuazione e riutilizzo dati pubblici
2 > wifi per un accesso ubiquo, libero e gratuito alla rete
3 > inclusione sociale (formazione digitale, facilitazione digitale e cultura digitale)
Aziende e il Web 2.0: cambiare il modo di pensareAntonio Pavolini
Come cambia la comunicazione aziendale con l'evoluzione del Web che sconvolge, e a volte rovescia i flussi comunicativi tra l'azienda e i suoi interlocutori? Una breve (?) escursione nei fenomeni che cambiano non solo un profilo professionale, quello del corporate communication manager, ma anche e soprattutto il suo approccio culturale nei confronti degli stakeholders.
Terza parte dell'incontro “Nuove tecnologie e Digital Workplace: processi, persone, piattaforme”. Come e perchè gli strumenti attuali di comunicazione aziendali (e-mail, intranet, riunioni,...) siano inadeguati ai nuovi contesti lavorativi. I benefici connessi all'uso delle tecnologie del web 2.0 in azienda
1. La rivoluzione dei microservizi
Il nuovo paradigma di progettazione architetturale che cambierà i vostri sistemi IT
rendendoli più flessibili e più dinamici
Meeting On Microservices - Bologna, 20/12/2016
3. Il Sistema Informativo al centro
Processi Organizzativi Dati Organizzativi
Organizzazione
Contesto economico
Strategie di Business
4. Serve capacità di adattamento
Contesto economico
1)Riduzione della visibilità
a lungo termine.
2) Internet come piazza abilitante
al commercio
1) Aumento della pressione esterna
2) Richiesta di maggiore capacità
di adattamento in tempi brevi
Interveniamo qui
5. Com'è il sistema ora…
Sistema amministrativo
Web
Dati Specifici di
Applicazioni terze
Il sistema amministrativo è spesso il cuore dell'IT
I processi ed i dati organizzativi IT
si trovano sparsi in diverse
porzioni del sistema:
1) Dentro il sistema amministrativo
2) Nei processi di integrazione
3) Dentro applicativi di terze parti
I processi ed i dati organizzativi IT
si trovano sparsi in diverse
porzioni del sistema:
1) Dentro il sistema amministrativo
2) Nei processi di integrazione
3) Dentro applicativi di terze parti
La gestione dei processi
organizzativi così come la gestione
dei dati, richiede impegno in termini
di:
1) Tempo
2) Risorse umane
3) Risorse economiche
(Consulenze, prodotti,...)
6. Come dovrebbe essere?
Un sistema altamente adattivo e flessibile dovrebbe essere composto da tanti
componenti interdipendenti ciascuno dei quali offre funzionalità ben delineate
7. Architettura logica a strati
Sorgenti di dati
Processi base
Processi di business
API
Applicativi
8. La scalabilità?
Un sistema flessibile dovrebbe essere in grado di scalare linearmente rispetto al
carico a cui è sottoposto così da essere in grado di scalare linearmente anche i
suoi costi.
utilizzatori
costi
9. I Microservices
Applicativo monolitico
Lib A Lib B Lib C
μS A
μS B
μS C
μS MainApplicativo monolitico
Lib A Lib B Lib C
μS A
μS B
μS C
μS MainApplicativo monolitico
Lib A Lib B Lib C
μS A
μS B
μS C
μS Main
MONOLITICO vs DISTRIBUITO
10. Microservices - Riusabilità
Applicativo monolitico A
Lib A Lib B Lib C
Applicativo monolitico B
Lib A Lib B Lib C
Lib A Lib B Lib C Sorgenti μS A μS B μS C
μS Main A μS Main B
11. Microservices - Scalabilità
μS A
μS B
μS C
μS Main
Applicativo
monolitico
Lib A Lib B Lib C
Applicativo
monolitico
Lib A Lib B Lib CApplicativo
monolitico
Lib A Lib B Lib C
μS B
μS C
μS Main
μS B
μS B
15. I microservizi come soluzione
Sorgenti di dati
MICROSERVIZI
MICROSERVIZI
API
Applicativi
16. Jolie
Java Orchestration Language Interpreter Engine, nasce come alternativa al
linguaggi di orchestrazione per web service WS-BPEL
● Semplificandone la gestione
● Non richiede la presenza di motori di esecuzione dedicati
● La definizione non è definita mediante xml ma è scritta in linguaggio nativo
eseguito dall’interprete
● Estendendone le funzionalità
● Possibilità di integrare logica applicativa Java
● Possibilità di utilizzare il linguaggio per implementare microservizi
● Orchestrazione di Web Service Soap, Rest, Jolie
17. Perché un linguaggio?
ANNO 2016
Ho comprato uno smartphone nuovo con
sistema operativo Android e connessione
ad internet
18. Perché un linguaggio?
ANNO 1800?
Ho comprato uno smartphone nuovo con
sistema operativo Android e connessione
ad internet
19. Perché un linguaggio?
ANNO 1800?
Ho acquistato un oggetto grande quanto un libro di
piccole dimensioni la cui copertina straordinariamente
lucida e variopinta è in grado di mostrare immagini così
ben definite da apparire quasi rappresentazioni della
realtà, ma questo è nulla poiché è sufficiente sfiorare
tale oggetto con un dito per innescare un meccanismo
quasi diabolico in grado di fare udire la mia voce ad una
persona all'altro capo del mondo in tempo reale così che
io possa comunicare con lei una volta acquisito un
numero che mi permette di riconoscerla tra tutti.
L'oggetto è nuovo con sistema operativo Android e
connessione ad internet
20. Il linguaggio fa guadagnare
TEMPO e SPAZIO
oggetto grande quanto un libro di
piccole dimensioni la cui copertina
straordinariamente lucida e
variopinta è in grado di mostrare
immagini così ben definite da
apparire quasi rappresentazioni della
realtà, ma questo è nulla poiché è
sufficiente sfiorare tale oggetto con
un dito per innescare un meccanismo
quasi diabolico in grado di fare udire
la mia voce ad una persona all'altro
capo del mondo in tempo reale così
che io possa comunicare con lei una
volta acquisito un numero che mi
permette di riconoscerla tra tutti.
smartphone
21. Il linguaggi di programmazione
01010100010100010010
01001001010001010000
10100100100101001010
10100101001001010010
01010100010100010010
01001001010001010000
10100100100101001010
10100101001001010010
01010100010100010010
01001001010001010000
10100100100101001010
10100101001001010010
01010100010100010010
01001001010001010000
10100100100101001010
10100101001001010010
01010100010100010010
01001001010001010000
MACCHINA
ORG 2050H
MOV DPTR,#CNT
MOV A,#INIT
MOVX @DPTR,A
MOV SP,#2FH
CLR RS0
CLR RS1
ACALL SERIAL
MOV
DPTR,#HEADING
ACALL STRING
ORG 2050H
MOV DPTR,#CNT
MOV A,#INIT
MOVX @DPTR,A
MOV SP,#2FH
CLR RS0
ASSEMBLER C
MENO ERRORI UMANI
int main()
{
int n, sum = 0, c, value;
printf("Enter the number of integers ");
scanf("%d", &n);
printf("Enter %d integersn",n);
for (c = 1; c <= n; c++)
{
scanf("%d",&value);
sum = sum + value;
}
printf("Sum of entered integers = %dn",sum);
return 0;
}
22. Un vantaggio concreto
● Il primo compilatore completo fu creato
dall'equippe di John. W. Backus presso i
laboratori IBM nel 1957. Era un compilatore
FORTRAN. Ci vollero ben
● 18 anni uomo per realizzarlo.
● Al tempo non era stata ancora sviluppata la
teoria dei linguaggi.
● Oggi in molte università, viene data la creazione
di un compilatore come esercizio d'esame. John. W. Backus
23. I tre vantaggi competitivi di Jolie
1)1) ParadigmaticitàParadigmaticità:: il programmatore scrive e pensa
direttamente a microservizi.
2)2) Autosufficienza:Autosufficienza: non sono necessari tool aggiuntivinon sono necessari tool aggiuntivi
per la messa in esecuzione di un microservizio Jolieper la messa in esecuzione di un microservizio Jolie
3)3) Indipendenza:Indipendenza: un microservizio jolie non è legato aun microservizio jolie non è legato a
nessun protocollo di comunicazione in particolarenessun protocollo di comunicazione in particolare
24. Paradigmaticità
Il programmatore programma e progetta l'architettura a microservizi in unico passaggio
poiché il linguaggio fornisce tutti gli strumenti base per la creazione e manipolazione dei
microservizi.
Conseguenza importante: durante la programmazione il programmatore si
disinteressa di come dovranno essere eseguiti i microservizi
28. Autosufficienza
Un servizio Jolie necessita solamente di
una Java Virtual Machine per funzionare
Non sono necessari framework
aggiuntivi per il suo funzionamento
No application server, No web server
31. L'interdipendenza tra linguaggi e
supporti
Memorie
meccaniche
0101010
1940
Assembler
1954Memorie
elettroniche
Memorie
TTL 1973
C
Multi
piattaforma
Cloud
2010
1991
Java
IoT
2030
32. Le due vie ai microservizi
Programmazione: dal punto di
vista della programmazione la
sfida è quella di trovare nuovi
linguaggi in grado di catturarne
l'essenza.
Linguaggio è la parola chiave.
Diciamo che questa via segue il
paradigma linguistico
Sistemi: dal punto di vista dei
sistemi, i microservizi possono
essere visti come applicazioni
indipendenti in grado di servire
più richieste. Sono eseguiti
all'interno di artefatti chiamati
containers.
Container é la parola chiave.
Diciamo che questa via segue il
paradigma sistemistico.
33. Paradigma Sistemistico
vs
Paradigma Lingustico
Il paradigma linguistico si basa
sull'idea che i principi fondazionali
della programmazione a
microservizi possano essere
condensato in un unico linguaggio.
Non è importante come venga
eseguito un microservizio, la cosa
importante è che ogni singola
unità programmabile sia un
microservizio.
Il paradigma sistemistico, è
basato sui contaner e parte
dall'idea che:
Non è importante come un
microservizio è realizzato, la cosa
più importante è che il
microservizio sia eseguito
all'interno di un container che può
essere spostato, rimpiazzato o
scalato.
34. Catena produttiva del software
DESIGN
Paradigma sistemistico Paradigma linguistico
DEVELOPMENT
PACKAGING
DEPLOYMENT
Il progettista pensa a microservizi Il progettista pensa a microservizi
Lo sviluppatore programma
seguendo un altro paradigma
(oggetti, funzionale, ecc)
Il programmatore sviluppa
direttamente a microservizi
Lo sviluppatore trasforma il suo
artefatto software in un microservizio
Utilizzando tool e framework
aggiuntivi
Lo sviluppatore esegue il
microservizio in un container
Lo sviluppatore può eseguire il
microservizio in un container
(non necessario)
35. I confini di un microservizio
Paradigma Sistemistico Paradigma Lingustico
Un microservizio può essere il
risultato della composizione di
altri microservizi
Un microservizio è un artefatto software
sviluppato con un dato insieme di tecnologie
ed impachettato all'interno di un container
I microservizi sono atomici All'interno di un microservizio possono
esserci altri microservizi
37. L'architettura
Paradigma Sistemistico Paradigma Linguistico
A microservice can be easily moved from
inside to outside of a container (and vice
versa)
In order to bring an internal component out
of a microservice, a specific programming
task must be carried out
X
39. Vantaggi
Paradigma Sistemistico Linguistic paradigm
Indipendenza dalla
Tecnologia
Le architetture possono cambiare
in modo semplice ricomponendo i
microservizi
Esecuzione semplice e scalabile
La progettazione a microservizi si
traduce immediatamente in
programmazione nativa
Compatibile con lo stack del Cloud
Computing
Compatibile con il paradigma
sistemistico
41. Un sistema software complesso non è mai un'entità statica ma è
soggetto a continue modifiche per potersi adattare agli stimoli
esterni... come il pensiero umano