SlideShare a Scribd company logo
1 of 33
Lunedì 31/01/2022
Rome MuleSoft Meetup Group
Runtime Fabric Series (From Zero to Hero) - Sessione 1
2
Muleys, Meetup Leaders and… speakers Today’s moderators:
Contacts:
● sbenfari@mulesoft.com
● fusai@mulesoft.com
● aumbrico@mulesoft.com
● amartino@mulesoft.com
Introductions
3
● Panoramica su Runtime Fabric (30 mins)
● Setup e configurazione di un cluster su cloud AWS (20 mins)
● Deployment di un’API di test su Runtime Fabric (10 mins)
● Q&A (15 mins)
● Trivia quiz (15 mins)
● Wrap up (5 mins)
Agenda
Panoramica su Runtime Fabric
1 - 2 VMs
<50 apps
On-Prem
Standalone
(naked)
Runtimes
6+ VMs
100+ apps
On-Prem
CloudHub RTF on VMs / Bare
Metal
No VMs
Near-infinite scale
Fully managed
2+ VMs
100+ apps
On-Prem
k8s
RTF on
managed k8s
EKS, AKS, GKE
OpenShift (on roadmap)
MuleSoft-hosted Customer-hosted
Portabilità del Runtime
Scenario utilizzo di Runtime Fabric
Caratteristiche generali di Runtime Fabric
6
● Anypoint Runtime Fabric è un container service che porta i
benefici del cloud su i deployments on-premise — non importa
se si tratta di un data centers oppure in un private cloud (AWS,
Google, Microsoft).
● E’ possibile eseguire il deploy di runtimes Mule sulle piattaforme
cloud, inclusi Microsoft Azure, Amazon Web Services (AWS), e i
data centers aziendali.
● E’ possibile automatizzare e orchestrare facilmente i deploy
senza competenze specifiche di gestione di Kubernetes.
● E’ possibile eseguire istanze multiple di runtime Mule su un
singolo Runtime Fabric
● Sono garantite isolamento della applicazioni, scalabilità
orizzontale, redeploy con zero downtime
● Runtime Fabric è connesso ed integrato con Anypoint control
plane
Punti di forza di Runtime Fabric
7
MULTI & HYBRID CLOUD
● Azure
● AWS
● GCP
● Data centers
ALWAYS AVAILABLE
● High availability
● Automated failover
● Increased isolation
● Rolling upgrades
LOW BARRIER
● Single place to manage
● Only basic Docker /
Containerization
knowledge required
● Only basic k8s knowledge
required
Worker nodes Ingress
controller
Ingress
controller
Mule
App3
Mule
App4
Mule
App1
Mule
App2
Mule
App5
Mule
App6
Mule
App1
Mule
App2
Mule
App7
Mule
App8
Mule
App5
Mule
App6
External Load Balancer
Control
plane
Agent
managed k8s (EKS, AKS, GKE)
Architettura di
Runtime Fabric
Divisione delle responsabilità
9
Runtime Fabric su Self-Managed
Kubernetes prevede un approccio a
responsabilità condivise:
Mulesoft: si occupa delle componenti
specifiche di Runtime Fabric ad
esempio gli agent, il runtime e le altre
dipendenze
Cliente: si occupa di preparare
ambiente K8s su piattaforma cloud e
tutti gli aspetti sistemistici legati ad
esso.
Oggetti di Kubernetes
10
k8s native
controllers,
resource objects
(API objects),
etc. that can be
applied to a pod
Setup e configurazione di un
cluster su cloud AWS
Prerequisiti per il setup di Runtime Fabric
12
Per configurare Runtime Fabric è necessario:
● Un cluster Kubernetes funzionante e operativo
● La versione di Kubernetes deve essere una delle seguenti:
○ 1.17 (1.8, 1.9, and 1.10.0)
○ 1.18
○ 1.19
○ 1.20 (1.10.26 and later)
● Kubernetes deve avere un minimo di 2 nodi nel cluster con le
seguenti caratteristiche:
○ Almeno 2 CPU cores
○ Almeno 15 GiB di RAM
○ Almeno 250 GiB di spazio disco disponibile
● Architettura x86/x64 e sistema operativo Linux
● Ingress controller compatibile con Kubernetes installato (non è
parte dell’installazione Mulesoft)
Step 0: Verificare la connessione a
Amazon EKS
13
La prima operazione da eseguire è verificare la connessione con il cluster
Kubernetes creato su Amazon EKS.
E’ possibile seguire questo controllo in due modi:
● Utilizzare la riga di comando kubectl ed eseguire:
$ kubectl get svc
● Utilizzare una GUI per Kubernetes (ad esempio Lens*)
* è possibile scaricare Lens dal sito: https://k8slens.dev/
Step 1: Configurazione della rete
14
Queste sono le porte che devono essere aperte per permettere le
comunicazioni da e verso Runtime Fabric.
La configurazione deve essere effettuata su Amazon EKS.
More info:
https://docs.mulesoft.com/runtime-
fabric/1.11/install-self-managed#step-1-
configure-your-network-to-support-
runtime-fabric-on-self-managed-
Port Layer 4
Protocol
Layer 5
Protocol
Source Destination Description
443 TCP HTTPS Internet All nodes Allow inbound requests to Mule runtime servers
443 TCP AMQP over
WebSockets
All
nodes
Internet Anypoint Platform management services
443 TCP HTTPS All
nodes
Internet API Manager policy updates, API Analytics Ingestion, and
Resource retrieval (application files, container images).
443 (v1.8.50,
or later)
TCP Lumberjack All
nodes
Internet Anypoint Monitoring, Anypoint Visualizer
5044
(deprecated)
TCP Lumberjack All
nodes
Internet Anypoint Monitoring, Anypoint Visualizer
This port and hostname are deprecated in Anypoint
Runtime Fabric, version 1.8.50 and later.
If you are using a previous version of Anypoint Runtime
Fabric you must add this port your allow list. If you are
using a newer version, use the port and hostname
specified above.
Step 2: Creazione di Runtime Fabric in Runtime
Manager
15
In questa fase si crea istanza di Runtime Fabric lato Anypoint Control Plane
nella sezione “Runtime Manager”
More info:
https://docs.mulesoft.com/runtime-
fabric/1.11/install-self-managed#step-2-
create-a-runtime-fabric-using-runtime-
manager
Step 3: Scaricare utility rtfctl
16
Scaricando utility rtfctl si prosegue con la creazione degli oggetti Runtime Fabric su
Kubernetes
Download the rtfctl command-line utility:
rtfctl è supportato per Windows, MacOS (Darwin), e Linux. Per scaricare utilizzare la
URL di seguito:
Windows:
$ curl -L
https://anypoint.mulesoft.com/runtimefabric/api/download/rtfctl
-windows/latest -o rtfctl.exe
MacOS (Darwin):
$ curl -L
https://anypoint.mulesoft.com/runtimefabric/api/download/rtfctl
-darwin/latest -o rtfctl
Linux:
$ curl -L
https://anypoint.mulesoft.com/runtimefabric/api/download/rtfctl
/latest -o rtfctl
Cambiare i permessi di esecuzione per rtfctl command-line utility:
$ sudo chmod +x rtfctl
More info:
https://docs.mulesoft.com/runtime-
fabric/1.11/install-self-managed#step-3-
download-the-rtfctl-utility
Step 4: Installare Runtime Fabric
17
Verificare che l’utility da riga di comando kubectl sia configurata
per raggiungere il cluster Kubernetes EKS su AWS.
Verificare che Kubernetes sia pronto per installazione:
$ rtfctl validate <activation_data>
La verifica effettua i seguenti controlli:
● The Kubernetes environment is running.
● All required components exist.
● All required services are available.
Ogni anomalia viene evidenziata nell’output del comando
Install Runtime Fabric:
$ rtfctl install <activation_data>
<activation_data> è la stringa ottenuta nell’istanza Runtime Fabric
creata precedentemente in Runtime Manager.
More info:
https://docs.mulesoft.com/runtime-
fabric/1.11/install-self-managed#step-4-
install-runtime-fabric
Step 5: Inserire la Licenza Mulesoft
18
Si procede quindi ad inserire la licenza Mule
Encoding Base64 del file .lic fornito da MuleSoft:
On MacOS, run the following command:
$ base64 -b0 license.lic
On Unix, run the following command:
$ base64 -w0 license.lic
Per Windows, è necessario uno shell terminal emulator (ad esempio
cygwin)
$ base64 -w0 license.lic
Inserimento della chiave della licenza:
$ rtfctl apply mule-license BASE64_ENCODED_LICENSE
Per verifciare che la licenza sia stata applicata correttamente:
$ rtfctl get mule-license More info:
https://docs.mulesoft.com/runtime-
fabric/1.11/install-self-managed#step-5-
insert-the-mule-license-key
Step 6: Associare Environment
19
Si associano gli Environment (ad esempio Prod, Sandbox etc) al
cluster Runtime Fabric creato
Step 7: Configurare Ingress controller
20
La configurazione dell’Ingress Controller è a discrezione
del cliente. In questo caso utilizziamo NGINX
E’ necessario installare Ingress controller specifico per
Amazon EKS:
$ kubectl apply -f
https://raw.githubusercontent.com/kubernete
s/ingress-nginx/controller-
v1.1.1/deploy/static/provider/aws/deploy.ya
ml
Si procede poi ad installare il template specifico per
Runtime Fabric che verrà utilizzato al momento del deploy
della app Mulesoft
$ kubectl apply -f rtf-ingress-template-
deploy.yaml
Questo template è personalizzabile in base a come si
intende plubblicare i servizi: Internet intranet e come
risolvere i nomi delle Mule APP.
More info:
https://docs.mulesoft.com/runtime-
fabric/1.11/custom-ingress-configuration
Step 8: Disinstallazione di Runtime Fabric
21
Per disinstallare Runtime Fabric da Amazon EKS è possibile
utilizzare utility a riga di comando.
● Utilizando il Runtime Manager, cancellare tutte le applicazioni
Mule e le API gateways installate su Runtime Fabric.
● Verificare da tutti gli environments associati che tutte le
applicazioni siano state rimosse.
● Utilizando Runtime Manager, procedere alla cancellazione
dell’istanza di Runtime Fabric.
● Eseguire il comando $ rtfctl uninstall per disinstallare i
servizi Runtime Fabric services dal cluster Kubernetes.
● Eseguire il comando $ rtfctl uninstall --confirm
per verificare l’esecuzione del comando di disinstallazione.
● Alla fine verificare che tutti i servizi di Runtime Fabric non
siano piu presenti nel cluster Kubernetes. More info:
https://docs.mulesoft.com/runtime-
fabric/1.11/uninstall-self
Internals di Runtime Fabric su Kubernetes
22
A valle dell’installazione di Runtime Fabric vengono creati una
serie di oggetti all’interno di Kubernetes che sono necessari per il
funzionamento e il collegamento con Anypoint Control Plane.
● Viene creato un Namespace rtf che contiene tutti gli oggetti
di Runtime Fabric
● Per ogni Environment definito su Anypoint Control Plane (ad
esempio Sandbox, Prod etc) viene creato al primo deploy di
una applicazione un Namespace contraddistinto da uno UUID
riferito all’environment
● Ingress Template (nel nostro case Nginx) è creato nel
Namespace rtf come template. Ogni volta che si esegue il
deploy di un’applicazione Mule viene utilizzato e copiato nel
Namespace relativo all’environment specificato.
● In caso di utilizzo di scheduler all’interno dell’applicazione
Mule sarà necessario attivare la modalità cluster per l’elezione
del master tra le varie istanze deployate su kubernetes
Deployment di un’API di test su
Runtime Fabric
Write once run everywhere
24
● Adottando Anypoint Runtime Fabric è possibile eseguire il
deploy delle applicazioni Mule già sviluppate per CloudHub.
● Sarà possibile gestire il ciclo di vita dell ‘applicazione
direttamente da Anypoint Runtime Manager e beneficiare di tutte
le funzionalità
● La gestione del deploy delle applicazioni da UI è molto simile a
quello su CloudHub quindi l’impatto a livello operations è minimo
(Deploy tramite API è specifico per Runtime Fabric)
● L’agent di Runtime Fabric (all’interno del Namespace rtf) si
occupa di intercettare le richieste di deploy e creare i relativi
manifest K8s (Service e Deployment)
● Ogni Applicazione Mule è modellata come deployment e
distribuita in un POD di k8s. Per ogni applicazione vengono
instanziati 3 container: App, Init e Monitoring
More info:
MuleSoft components only
RTF Migration Assessment
# Component Delta Impact
1 HTTP Listener RTF Services listening on port http.port
8081 is the target port for both http and https (even for internal communications)
Port 8081 is on the POD level, not the nodes so no need to set a rule for port 8081 if there is a
firewall for internal communication
HTTP Listener config for
all services
2 Service Discovery Internal services discovered as documented here
General services discovery (automatic DNS entry for cluster.local domain):
<app>.<namespace>.svc.cluster.local/
And within same namespace (same BG and Environment):
http://<app>:8081/
HTTP Request Connector
config
3 Pipeline Different deployment process (dedicated set of APIs). Documented here. Pipeline
pom.xml
4 Templating Different allocation methods (not present vCores fixed increments like for CloudHub). New
parameters:
● Reserved CPU
● CPU Limit
● Memory
Template and Pipeline
# Component Delta Impact
5 Secure Properties Secure Properties not supported anymore in RTF. Secrets are internally managed through Kubernetes
Secrets, as documented here.
As an alternative to be introduced Custom Properties Provider, or properties injection from CI/CD pipeline
(side-effect, not possible to hide properties like in CloudHub).
CI/CD pipeline
Properties Mngt.
6 Object Store OSv2 not supported (see here). Embedded Object Store is by definition ephemeral (linked to Pod lifecycle).
As an alternative Persistence Gateway can be used (it relies on OSv2 APIs and an external PostGre DB)
This impacts also all Processors relying behind the hood on OS (i.e. On Table Row for watermarking
storage)
Switch from OSv2 to another
storage
Custom watermarking
implementation relying on a
different storage
7 Scheduler Runtime Fabric does not allow management of Poll or Schedule scope via the Runtime Manager interface
(see here). Any configured Poll or Schedule scope will trigger against the clock of the machine the
application is running on. The timezone for a Cron expression trigger can be configured as part of the mule
configuration.
Schedule frequency to be
embedded in Processor
8 AWS Resources Access through AWS Default Profile chain (assume Role) Connector config
9 Resource Usage
Monitoring
To be introduced in order to monitor license compliance New
MuleSoft components only
RTF Migration Assessment
Come eseguire il deploy su Runtime Fabric
27
Applicazione Runtime Fabric vista da
Kubernetes
28
Q&A
Trivia Quiz
What’s next
32
● Share:
○ Tweet using the hashtag #MuleSoftMeetups
○ Invite your network to join: https://meetups.mulesoft.com/rome/
● Feedback:
○ Fill out the survey feedback and suggest topics for upcoming events
○ Contact MuleSoft at meetups@mulesoft.com for ways to improve the program
What’s next?
Thank you

More Related Content

What's hot

Alla scoperta di gRPC
Alla scoperta di gRPCAlla scoperta di gRPC
Alla scoperta di gRPCAndrea Dottor
 
Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...
Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...
Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...Codemotion
 
Meetup DotNetCode Settembre 2018 - ASP.NET Core 2.1
Meetup DotNetCode Settembre 2018 - ASP.NET Core 2.1Meetup DotNetCode Settembre 2018 - ASP.NET Core 2.1
Meetup DotNetCode Settembre 2018 - ASP.NET Core 2.1dotnetcode
 
ASP.NET Core - dove siamo arrivati
ASP.NET Core - dove siamo arrivatiASP.NET Core - dove siamo arrivati
ASP.NET Core - dove siamo arrivatiAndrea Dottor
 
Dot netcampus2015 green-template
Dot netcampus2015 green-templateDot netcampus2015 green-template
Dot netcampus2015 green-templateDotNetCampus
 
Dependency injection questa sconosciuta
Dependency injection questa sconosciutaDependency injection questa sconosciuta
Dependency injection questa sconosciutaAndrea Dottor
 
ASP.NET Core - Razor Pages
ASP.NET Core - Razor PagesASP.NET Core - Razor Pages
ASP.NET Core - Razor PagesAndrea Dottor
 
Multi-Device Hybrid Apps con Visual Studio e Apache Cordova
Multi-Device Hybrid Apps con Visual Studio e Apache CordovaMulti-Device Hybrid Apps con Visual Studio e Apache Cordova
Multi-Device Hybrid Apps con Visual Studio e Apache CordovaAndrea Dottor
 
Meetup ASP.NET Core 2 e Docker
Meetup ASP.NET Core 2 e Docker Meetup ASP.NET Core 2 e Docker
Meetup ASP.NET Core 2 e Docker dotnetcode
 
Liferay - Quick Start 1° Episodio
Liferay - Quick Start 1° EpisodioLiferay - Quick Start 1° Episodio
Liferay - Quick Start 1° EpisodioAntonio Musarra
 
Liferay & Salesforce.com
Liferay & Salesforce.comLiferay & Salesforce.com
Liferay & Salesforce.comAntonio Musarra
 
Il PaaS di Google
Il PaaS di GoogleIl PaaS di Google
Il PaaS di GoogleMssiStf
 
Evento 18 giugno - Novità ibm i v7 r2
Evento 18 giugno - Novità ibm i v7 r2Evento 18 giugno - Novità ibm i v7 r2
Evento 18 giugno - Novità ibm i v7 r2PRAGMA PROGETTI
 
Windows azure - abbattere tempi e costi di sviluppo
Windows azure - abbattere tempi e costi di sviluppoWindows azure - abbattere tempi e costi di sviluppo
Windows azure - abbattere tempi e costi di sviluppoAndrea Dottor
 
ASP.NET AND Azure Function
ASP.NET AND Azure FunctionASP.NET AND Azure Function
ASP.NET AND Azure FunctionLuca Congiu
 
Piattaforma Accelerated Antivirus Da Freescale & Kaspersky
Piattaforma Accelerated Antivirus Da Freescale & KasperskyPiattaforma Accelerated Antivirus Da Freescale & Kaspersky
Piattaforma Accelerated Antivirus Da Freescale & KasperskyIonela
 
Meetup ASP.NET Core e Kubernetes
Meetup ASP.NET Core e KubernetesMeetup ASP.NET Core e Kubernetes
Meetup ASP.NET Core e Kubernetesdotnetcode
 

What's hot (20)

Alla scoperta di gRPC
Alla scoperta di gRPCAlla scoperta di gRPC
Alla scoperta di gRPC
 
Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...
Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...
Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...
 
Domino Backup V12 - Un nuovo Task
Domino Backup V12 - Un nuovo TaskDomino Backup V12 - Un nuovo Task
Domino Backup V12 - Un nuovo Task
 
Meetup DotNetCode Settembre 2018 - ASP.NET Core 2.1
Meetup DotNetCode Settembre 2018 - ASP.NET Core 2.1Meetup DotNetCode Settembre 2018 - ASP.NET Core 2.1
Meetup DotNetCode Settembre 2018 - ASP.NET Core 2.1
 
ASP.NET Core - dove siamo arrivati
ASP.NET Core - dove siamo arrivatiASP.NET Core - dove siamo arrivati
ASP.NET Core - dove siamo arrivati
 
Dot netcampus2015 green-template
Dot netcampus2015 green-templateDot netcampus2015 green-template
Dot netcampus2015 green-template
 
Modernizziamo IBM i con PHP
Modernizziamo IBM i con PHPModernizziamo IBM i con PHP
Modernizziamo IBM i con PHP
 
Dependency injection questa sconosciuta
Dependency injection questa sconosciutaDependency injection questa sconosciuta
Dependency injection questa sconosciuta
 
ASP.NET Core - Razor Pages
ASP.NET Core - Razor PagesASP.NET Core - Razor Pages
ASP.NET Core - Razor Pages
 
Multi-Device Hybrid Apps con Visual Studio e Apache Cordova
Multi-Device Hybrid Apps con Visual Studio e Apache CordovaMulti-Device Hybrid Apps con Visual Studio e Apache Cordova
Multi-Device Hybrid Apps con Visual Studio e Apache Cordova
 
Meetup ASP.NET Core 2 e Docker
Meetup ASP.NET Core 2 e Docker Meetup ASP.NET Core 2 e Docker
Meetup ASP.NET Core 2 e Docker
 
Spring e Flex
Spring e FlexSpring e Flex
Spring e Flex
 
Liferay - Quick Start 1° Episodio
Liferay - Quick Start 1° EpisodioLiferay - Quick Start 1° Episodio
Liferay - Quick Start 1° Episodio
 
Liferay & Salesforce.com
Liferay & Salesforce.comLiferay & Salesforce.com
Liferay & Salesforce.com
 
Il PaaS di Google
Il PaaS di GoogleIl PaaS di Google
Il PaaS di Google
 
Evento 18 giugno - Novità ibm i v7 r2
Evento 18 giugno - Novità ibm i v7 r2Evento 18 giugno - Novità ibm i v7 r2
Evento 18 giugno - Novità ibm i v7 r2
 
Windows azure - abbattere tempi e costi di sviluppo
Windows azure - abbattere tempi e costi di sviluppoWindows azure - abbattere tempi e costi di sviluppo
Windows azure - abbattere tempi e costi di sviluppo
 
ASP.NET AND Azure Function
ASP.NET AND Azure FunctionASP.NET AND Azure Function
ASP.NET AND Azure Function
 
Piattaforma Accelerated Antivirus Da Freescale & Kaspersky
Piattaforma Accelerated Antivirus Da Freescale & KasperskyPiattaforma Accelerated Antivirus Da Freescale & Kaspersky
Piattaforma Accelerated Antivirus Da Freescale & Kaspersky
 
Meetup ASP.NET Core e Kubernetes
Meetup ASP.NET Core e KubernetesMeetup ASP.NET Core e Kubernetes
Meetup ASP.NET Core e Kubernetes
 

Similar to MuleSoft Meetup Roma - Runtime Fabric Series (From Zero to Hero) - Sessione 1

Introduzione a Docker (Maggio 2017) [ITA]
Introduzione a Docker (Maggio 2017) [ITA]Introduzione a Docker (Maggio 2017) [ITA]
Introduzione a Docker (Maggio 2017) [ITA]Valerio Radice
 
La nostra infrastruttura di produzione a container con Docker, Rancher e ZFS
La nostra infrastruttura di produzione a container con Docker, Rancher e ZFSLa nostra infrastruttura di produzione a container con Docker, Rancher e ZFS
La nostra infrastruttura di produzione a container con Docker, Rancher e ZFSMorlini Gabriele
 
La nostra infrastruttura di produzione a container con Docker, Rancher e ZFS
La nostra infrastruttura di produzione a container con Docker, Rancher e ZFS La nostra infrastruttura di produzione a container con Docker, Rancher e ZFS
La nostra infrastruttura di produzione a container con Docker, Rancher e ZFS Imola Informatica
 
Workshop ASP.NET Core e Angular in produzione con Docker e Kubernetes
Workshop ASP.NET Core e Angular in produzione con Docker e KubernetesWorkshop ASP.NET Core e Angular in produzione con Docker e Kubernetes
Workshop ASP.NET Core e Angular in produzione con Docker e Kubernetesblexin
 
ASP.NET Core 2 e Docker
ASP.NET Core 2 e DockerASP.NET Core 2 e Docker
ASP.NET Core 2 e DockerLuca Congiu
 
OCP-Architettura e caratteristiche della PaaS
OCP-Architettura e caratteristiche della PaaSOCP-Architettura e caratteristiche della PaaS
OCP-Architettura e caratteristiche della PaaSopencityplatform
 
Designing with microservices - Daniele Mondello
Designing with microservices - Daniele MondelloDesigning with microservices - Daniele Mondello
Designing with microservices - Daniele MondelloDaniele Mondello
 
High specialized vm on open stack cloud
High specialized vm on open stack cloudHigh specialized vm on open stack cloud
High specialized vm on open stack cloudGabriele Baldoni
 
ASP.NET Core Services e Linux per il Mobile - Pietro Libro - Codemotion Rome...
ASP.NET Core Services e Linux per il Mobile  - Pietro Libro - Codemotion Rome...ASP.NET Core Services e Linux per il Mobile  - Pietro Libro - Codemotion Rome...
ASP.NET Core Services e Linux per il Mobile - Pietro Libro - Codemotion Rome...Codemotion
 
Progetto e implementazione di una pipeline di sviluppo software con tecnologi...
Progetto e implementazione di una pipeline di sviluppo software con tecnologi...Progetto e implementazione di una pipeline di sviluppo software con tecnologi...
Progetto e implementazione di una pipeline di sviluppo software con tecnologi...Mattia Milleri
 
Asp.Net MVC 2 :: VS 2010 Community Tour
Asp.Net MVC 2 :: VS 2010 Community TourAsp.Net MVC 2 :: VS 2010 Community Tour
Asp.Net MVC 2 :: VS 2010 Community TourAndrea Balducci
 
Omnis italianmeeting 2016-10-20
Omnis italianmeeting 2016-10-20Omnis italianmeeting 2016-10-20
Omnis italianmeeting 2016-10-20Romualdo Gobbo
 
PIT2012: Workshop@UniNA - Compilazione del Kernel Linux
PIT2012: Workshop@UniNA - Compilazione del Kernel LinuxPIT2012: Workshop@UniNA - Compilazione del Kernel Linux
PIT2012: Workshop@UniNA - Compilazione del Kernel LinuxMarco Ferrigno
 
03 vmugit aprile_2018_veeam
03 vmugit aprile_2018_veeam03 vmugit aprile_2018_veeam
03 vmugit aprile_2018_veeamVMUG IT
 
Progetto e implementazione di una pipeline di sviluppo software con tecnologi...
Progetto e implementazione di una pipeline di sviluppo software con tecnologi...Progetto e implementazione di una pipeline di sviluppo software con tecnologi...
Progetto e implementazione di una pipeline di sviluppo software con tecnologi...Mattia Milleri
 
Evento 18 giugno - Demo VMP
Evento 18 giugno - Demo VMPEvento 18 giugno - Demo VMP
Evento 18 giugno - Demo VMPPRAGMA PROGETTI
 

Similar to MuleSoft Meetup Roma - Runtime Fabric Series (From Zero to Hero) - Sessione 1 (20)

Introduzione a Docker (Maggio 2017) [ITA]
Introduzione a Docker (Maggio 2017) [ITA]Introduzione a Docker (Maggio 2017) [ITA]
Introduzione a Docker (Maggio 2017) [ITA]
 
La nostra infrastruttura di produzione a container con Docker, Rancher e ZFS
La nostra infrastruttura di produzione a container con Docker, Rancher e ZFSLa nostra infrastruttura di produzione a container con Docker, Rancher e ZFS
La nostra infrastruttura di produzione a container con Docker, Rancher e ZFS
 
La nostra infrastruttura di produzione a container con Docker, Rancher e ZFS
La nostra infrastruttura di produzione a container con Docker, Rancher e ZFS La nostra infrastruttura di produzione a container con Docker, Rancher e ZFS
La nostra infrastruttura di produzione a container con Docker, Rancher e ZFS
 
Workshop ASP.NET Core e Angular in produzione con Docker e Kubernetes
Workshop ASP.NET Core e Angular in produzione con Docker e KubernetesWorkshop ASP.NET Core e Angular in produzione con Docker e Kubernetes
Workshop ASP.NET Core e Angular in produzione con Docker e Kubernetes
 
ASP.NET Core 2 e Docker
ASP.NET Core 2 e DockerASP.NET Core 2 e Docker
ASP.NET Core 2 e Docker
 
OCP-Architettura e caratteristiche della PaaS
OCP-Architettura e caratteristiche della PaaSOCP-Architettura e caratteristiche della PaaS
OCP-Architettura e caratteristiche della PaaS
 
Designing with microservices - Daniele Mondello
Designing with microservices - Daniele MondelloDesigning with microservices - Daniele Mondello
Designing with microservices - Daniele Mondello
 
High specialized vm on open stack cloud
High specialized vm on open stack cloudHigh specialized vm on open stack cloud
High specialized vm on open stack cloud
 
ASP.NET Core Services e Linux per il Mobile - Pietro Libro - Codemotion Rome...
ASP.NET Core Services e Linux per il Mobile  - Pietro Libro - Codemotion Rome...ASP.NET Core Services e Linux per il Mobile  - Pietro Libro - Codemotion Rome...
ASP.NET Core Services e Linux per il Mobile - Pietro Libro - Codemotion Rome...
 
Progetto e implementazione di una pipeline di sviluppo software con tecnologi...
Progetto e implementazione di una pipeline di sviluppo software con tecnologi...Progetto e implementazione di una pipeline di sviluppo software con tecnologi...
Progetto e implementazione di una pipeline di sviluppo software con tecnologi...
 
OCP Paas_ultima
OCP Paas_ultimaOCP Paas_ultima
OCP Paas_ultima
 
Novità di Asp.Net 4.0
Novità di Asp.Net 4.0Novità di Asp.Net 4.0
Novità di Asp.Net 4.0
 
Asp.Net MVC 2 :: VS 2010 Community Tour
Asp.Net MVC 2 :: VS 2010 Community TourAsp.Net MVC 2 :: VS 2010 Community Tour
Asp.Net MVC 2 :: VS 2010 Community Tour
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
Omnis italianmeeting 2016-10-20
Omnis italianmeeting 2016-10-20Omnis italianmeeting 2016-10-20
Omnis italianmeeting 2016-10-20
 
Java lezione 14
Java lezione 14Java lezione 14
Java lezione 14
 
PIT2012: Workshop@UniNA - Compilazione del Kernel Linux
PIT2012: Workshop@UniNA - Compilazione del Kernel LinuxPIT2012: Workshop@UniNA - Compilazione del Kernel Linux
PIT2012: Workshop@UniNA - Compilazione del Kernel Linux
 
03 vmugit aprile_2018_veeam
03 vmugit aprile_2018_veeam03 vmugit aprile_2018_veeam
03 vmugit aprile_2018_veeam
 
Progetto e implementazione di una pipeline di sviluppo software con tecnologi...
Progetto e implementazione di una pipeline di sviluppo software con tecnologi...Progetto e implementazione di una pipeline di sviluppo software con tecnologi...
Progetto e implementazione di una pipeline di sviluppo software con tecnologi...
 
Evento 18 giugno - Demo VMP
Evento 18 giugno - Demo VMPEvento 18 giugno - Demo VMP
Evento 18 giugno - Demo VMP
 

More from Alfonso Martino

Mulesoft Meetup Roma - Monitoring Framework & DevOps.pptx
Mulesoft Meetup Roma - Monitoring Framework & DevOps.pptxMulesoft Meetup Roma - Monitoring Framework & DevOps.pptx
Mulesoft Meetup Roma - Monitoring Framework & DevOps.pptxAlfonso Martino
 
Mulesoft Meetup Roma - CloudHub 2.0: a fully managed, containerized integrati...
Mulesoft Meetup Roma - CloudHub 2.0: a fully managed, containerized integrati...Mulesoft Meetup Roma - CloudHub 2.0: a fully managed, containerized integrati...
Mulesoft Meetup Roma - CloudHub 2.0: a fully managed, containerized integrati...Alfonso Martino
 
MuleSoft Meetup Roma - Runtime Fabric Series (From Zero to Hero) - Sessione 3
MuleSoft Meetup Roma - Runtime Fabric Series (From Zero to Hero) - Sessione 3MuleSoft Meetup Roma - Runtime Fabric Series (From Zero to Hero) - Sessione 3
MuleSoft Meetup Roma - Runtime Fabric Series (From Zero to Hero) - Sessione 3Alfonso Martino
 
MuleSoft Meetup Roma - Runtime Fabric Series (From Zero to Hero) - Sessione 2
MuleSoft Meetup Roma - Runtime Fabric Series (From Zero to Hero) - Sessione 2MuleSoft Meetup Roma - Runtime Fabric Series (From Zero to Hero) - Sessione 2
MuleSoft Meetup Roma - Runtime Fabric Series (From Zero to Hero) - Sessione 2Alfonso Martino
 
MuleSoft Meetup Roma - Processi di Automazione su CloudHub
MuleSoft Meetup Roma - Processi di Automazione su CloudHubMuleSoft Meetup Roma - Processi di Automazione su CloudHub
MuleSoft Meetup Roma - Processi di Automazione su CloudHubAlfonso Martino
 
MuleSoft Meetup Roma - CloudHub Networking Stategies
MuleSoft Meetup Roma -  CloudHub Networking StategiesMuleSoft Meetup Roma -  CloudHub Networking Stategies
MuleSoft Meetup Roma - CloudHub Networking StategiesAlfonso Martino
 

More from Alfonso Martino (6)

Mulesoft Meetup Roma - Monitoring Framework & DevOps.pptx
Mulesoft Meetup Roma - Monitoring Framework & DevOps.pptxMulesoft Meetup Roma - Monitoring Framework & DevOps.pptx
Mulesoft Meetup Roma - Monitoring Framework & DevOps.pptx
 
Mulesoft Meetup Roma - CloudHub 2.0: a fully managed, containerized integrati...
Mulesoft Meetup Roma - CloudHub 2.0: a fully managed, containerized integrati...Mulesoft Meetup Roma - CloudHub 2.0: a fully managed, containerized integrati...
Mulesoft Meetup Roma - CloudHub 2.0: a fully managed, containerized integrati...
 
MuleSoft Meetup Roma - Runtime Fabric Series (From Zero to Hero) - Sessione 3
MuleSoft Meetup Roma - Runtime Fabric Series (From Zero to Hero) - Sessione 3MuleSoft Meetup Roma - Runtime Fabric Series (From Zero to Hero) - Sessione 3
MuleSoft Meetup Roma - Runtime Fabric Series (From Zero to Hero) - Sessione 3
 
MuleSoft Meetup Roma - Runtime Fabric Series (From Zero to Hero) - Sessione 2
MuleSoft Meetup Roma - Runtime Fabric Series (From Zero to Hero) - Sessione 2MuleSoft Meetup Roma - Runtime Fabric Series (From Zero to Hero) - Sessione 2
MuleSoft Meetup Roma - Runtime Fabric Series (From Zero to Hero) - Sessione 2
 
MuleSoft Meetup Roma - Processi di Automazione su CloudHub
MuleSoft Meetup Roma - Processi di Automazione su CloudHubMuleSoft Meetup Roma - Processi di Automazione su CloudHub
MuleSoft Meetup Roma - Processi di Automazione su CloudHub
 
MuleSoft Meetup Roma - CloudHub Networking Stategies
MuleSoft Meetup Roma -  CloudHub Networking StategiesMuleSoft Meetup Roma -  CloudHub Networking Stategies
MuleSoft Meetup Roma - CloudHub Networking Stategies
 

Recently uploaded

Giornata Tecnica da Piave Servizi, 11 aprile 2024 | SERRA Giorgio
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | SERRA GiorgioGiornata Tecnica da Piave Servizi, 11 aprile 2024 | SERRA Giorgio
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | SERRA GiorgioServizi a rete
 
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | ALBIERO Andrea
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | ALBIERO AndreaGiornata Tecnica da Piave Servizi, 11 aprile 2024 | ALBIERO Andrea
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | ALBIERO AndreaServizi a rete
 
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | DISCIPIO Antonio
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | DISCIPIO AntonioGiornata Tecnica da Piave Servizi, 11 aprile 2024 | DISCIPIO Antonio
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | DISCIPIO AntonioServizi a rete
 
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | DI DOMENICO Simone
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | DI DOMENICO SimoneGiornata Tecnica da Piave Servizi, 11 aprile 2024 | DI DOMENICO Simone
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | DI DOMENICO SimoneServizi a rete
 
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | RENZI Daniele
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | RENZI DanieleGiornata Tecnica da Piave Servizi, 11 aprile 2024 | RENZI Daniele
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | RENZI DanieleServizi a rete
 
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | ROMANO' Davide
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | ROMANO' DavideGiornata Tecnica da Piave Servizi, 11 aprile 2024 | ROMANO' Davide
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | ROMANO' DavideServizi a rete
 
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | CADEI Giovanni
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | CADEI GiovanniGiornata Tecnica da Piave Servizi, 11 aprile 2024 | CADEI Giovanni
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | CADEI GiovanniServizi a rete
 

Recently uploaded (7)

Giornata Tecnica da Piave Servizi, 11 aprile 2024 | SERRA Giorgio
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | SERRA GiorgioGiornata Tecnica da Piave Servizi, 11 aprile 2024 | SERRA Giorgio
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | SERRA Giorgio
 
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | ALBIERO Andrea
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | ALBIERO AndreaGiornata Tecnica da Piave Servizi, 11 aprile 2024 | ALBIERO Andrea
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | ALBIERO Andrea
 
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | DISCIPIO Antonio
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | DISCIPIO AntonioGiornata Tecnica da Piave Servizi, 11 aprile 2024 | DISCIPIO Antonio
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | DISCIPIO Antonio
 
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | DI DOMENICO Simone
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | DI DOMENICO SimoneGiornata Tecnica da Piave Servizi, 11 aprile 2024 | DI DOMENICO Simone
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | DI DOMENICO Simone
 
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | RENZI Daniele
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | RENZI DanieleGiornata Tecnica da Piave Servizi, 11 aprile 2024 | RENZI Daniele
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | RENZI Daniele
 
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | ROMANO' Davide
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | ROMANO' DavideGiornata Tecnica da Piave Servizi, 11 aprile 2024 | ROMANO' Davide
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | ROMANO' Davide
 
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | CADEI Giovanni
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | CADEI GiovanniGiornata Tecnica da Piave Servizi, 11 aprile 2024 | CADEI Giovanni
Giornata Tecnica da Piave Servizi, 11 aprile 2024 | CADEI Giovanni
 

MuleSoft Meetup Roma - Runtime Fabric Series (From Zero to Hero) - Sessione 1

  • 1. Lunedì 31/01/2022 Rome MuleSoft Meetup Group Runtime Fabric Series (From Zero to Hero) - Sessione 1
  • 2. 2 Muleys, Meetup Leaders and… speakers Today’s moderators: Contacts: ● sbenfari@mulesoft.com ● fusai@mulesoft.com ● aumbrico@mulesoft.com ● amartino@mulesoft.com Introductions
  • 3. 3 ● Panoramica su Runtime Fabric (30 mins) ● Setup e configurazione di un cluster su cloud AWS (20 mins) ● Deployment di un’API di test su Runtime Fabric (10 mins) ● Q&A (15 mins) ● Trivia quiz (15 mins) ● Wrap up (5 mins) Agenda
  • 5. 1 - 2 VMs <50 apps On-Prem Standalone (naked) Runtimes 6+ VMs 100+ apps On-Prem CloudHub RTF on VMs / Bare Metal No VMs Near-infinite scale Fully managed 2+ VMs 100+ apps On-Prem k8s RTF on managed k8s EKS, AKS, GKE OpenShift (on roadmap) MuleSoft-hosted Customer-hosted Portabilità del Runtime Scenario utilizzo di Runtime Fabric
  • 6. Caratteristiche generali di Runtime Fabric 6 ● Anypoint Runtime Fabric è un container service che porta i benefici del cloud su i deployments on-premise — non importa se si tratta di un data centers oppure in un private cloud (AWS, Google, Microsoft). ● E’ possibile eseguire il deploy di runtimes Mule sulle piattaforme cloud, inclusi Microsoft Azure, Amazon Web Services (AWS), e i data centers aziendali. ● E’ possibile automatizzare e orchestrare facilmente i deploy senza competenze specifiche di gestione di Kubernetes. ● E’ possibile eseguire istanze multiple di runtime Mule su un singolo Runtime Fabric ● Sono garantite isolamento della applicazioni, scalabilità orizzontale, redeploy con zero downtime ● Runtime Fabric è connesso ed integrato con Anypoint control plane
  • 7. Punti di forza di Runtime Fabric 7 MULTI & HYBRID CLOUD ● Azure ● AWS ● GCP ● Data centers ALWAYS AVAILABLE ● High availability ● Automated failover ● Increased isolation ● Rolling upgrades LOW BARRIER ● Single place to manage ● Only basic Docker / Containerization knowledge required ● Only basic k8s knowledge required
  • 9. Divisione delle responsabilità 9 Runtime Fabric su Self-Managed Kubernetes prevede un approccio a responsabilità condivise: Mulesoft: si occupa delle componenti specifiche di Runtime Fabric ad esempio gli agent, il runtime e le altre dipendenze Cliente: si occupa di preparare ambiente K8s su piattaforma cloud e tutti gli aspetti sistemistici legati ad esso.
  • 10. Oggetti di Kubernetes 10 k8s native controllers, resource objects (API objects), etc. that can be applied to a pod
  • 11. Setup e configurazione di un cluster su cloud AWS
  • 12. Prerequisiti per il setup di Runtime Fabric 12 Per configurare Runtime Fabric è necessario: ● Un cluster Kubernetes funzionante e operativo ● La versione di Kubernetes deve essere una delle seguenti: ○ 1.17 (1.8, 1.9, and 1.10.0) ○ 1.18 ○ 1.19 ○ 1.20 (1.10.26 and later) ● Kubernetes deve avere un minimo di 2 nodi nel cluster con le seguenti caratteristiche: ○ Almeno 2 CPU cores ○ Almeno 15 GiB di RAM ○ Almeno 250 GiB di spazio disco disponibile ● Architettura x86/x64 e sistema operativo Linux ● Ingress controller compatibile con Kubernetes installato (non è parte dell’installazione Mulesoft)
  • 13. Step 0: Verificare la connessione a Amazon EKS 13 La prima operazione da eseguire è verificare la connessione con il cluster Kubernetes creato su Amazon EKS. E’ possibile seguire questo controllo in due modi: ● Utilizzare la riga di comando kubectl ed eseguire: $ kubectl get svc ● Utilizzare una GUI per Kubernetes (ad esempio Lens*) * è possibile scaricare Lens dal sito: https://k8slens.dev/
  • 14. Step 1: Configurazione della rete 14 Queste sono le porte che devono essere aperte per permettere le comunicazioni da e verso Runtime Fabric. La configurazione deve essere effettuata su Amazon EKS. More info: https://docs.mulesoft.com/runtime- fabric/1.11/install-self-managed#step-1- configure-your-network-to-support- runtime-fabric-on-self-managed- Port Layer 4 Protocol Layer 5 Protocol Source Destination Description 443 TCP HTTPS Internet All nodes Allow inbound requests to Mule runtime servers 443 TCP AMQP over WebSockets All nodes Internet Anypoint Platform management services 443 TCP HTTPS All nodes Internet API Manager policy updates, API Analytics Ingestion, and Resource retrieval (application files, container images). 443 (v1.8.50, or later) TCP Lumberjack All nodes Internet Anypoint Monitoring, Anypoint Visualizer 5044 (deprecated) TCP Lumberjack All nodes Internet Anypoint Monitoring, Anypoint Visualizer This port and hostname are deprecated in Anypoint Runtime Fabric, version 1.8.50 and later. If you are using a previous version of Anypoint Runtime Fabric you must add this port your allow list. If you are using a newer version, use the port and hostname specified above.
  • 15. Step 2: Creazione di Runtime Fabric in Runtime Manager 15 In questa fase si crea istanza di Runtime Fabric lato Anypoint Control Plane nella sezione “Runtime Manager” More info: https://docs.mulesoft.com/runtime- fabric/1.11/install-self-managed#step-2- create-a-runtime-fabric-using-runtime- manager
  • 16. Step 3: Scaricare utility rtfctl 16 Scaricando utility rtfctl si prosegue con la creazione degli oggetti Runtime Fabric su Kubernetes Download the rtfctl command-line utility: rtfctl è supportato per Windows, MacOS (Darwin), e Linux. Per scaricare utilizzare la URL di seguito: Windows: $ curl -L https://anypoint.mulesoft.com/runtimefabric/api/download/rtfctl -windows/latest -o rtfctl.exe MacOS (Darwin): $ curl -L https://anypoint.mulesoft.com/runtimefabric/api/download/rtfctl -darwin/latest -o rtfctl Linux: $ curl -L https://anypoint.mulesoft.com/runtimefabric/api/download/rtfctl /latest -o rtfctl Cambiare i permessi di esecuzione per rtfctl command-line utility: $ sudo chmod +x rtfctl More info: https://docs.mulesoft.com/runtime- fabric/1.11/install-self-managed#step-3- download-the-rtfctl-utility
  • 17. Step 4: Installare Runtime Fabric 17 Verificare che l’utility da riga di comando kubectl sia configurata per raggiungere il cluster Kubernetes EKS su AWS. Verificare che Kubernetes sia pronto per installazione: $ rtfctl validate <activation_data> La verifica effettua i seguenti controlli: ● The Kubernetes environment is running. ● All required components exist. ● All required services are available. Ogni anomalia viene evidenziata nell’output del comando Install Runtime Fabric: $ rtfctl install <activation_data> <activation_data> è la stringa ottenuta nell’istanza Runtime Fabric creata precedentemente in Runtime Manager. More info: https://docs.mulesoft.com/runtime- fabric/1.11/install-self-managed#step-4- install-runtime-fabric
  • 18. Step 5: Inserire la Licenza Mulesoft 18 Si procede quindi ad inserire la licenza Mule Encoding Base64 del file .lic fornito da MuleSoft: On MacOS, run the following command: $ base64 -b0 license.lic On Unix, run the following command: $ base64 -w0 license.lic Per Windows, è necessario uno shell terminal emulator (ad esempio cygwin) $ base64 -w0 license.lic Inserimento della chiave della licenza: $ rtfctl apply mule-license BASE64_ENCODED_LICENSE Per verifciare che la licenza sia stata applicata correttamente: $ rtfctl get mule-license More info: https://docs.mulesoft.com/runtime- fabric/1.11/install-self-managed#step-5- insert-the-mule-license-key
  • 19. Step 6: Associare Environment 19 Si associano gli Environment (ad esempio Prod, Sandbox etc) al cluster Runtime Fabric creato
  • 20. Step 7: Configurare Ingress controller 20 La configurazione dell’Ingress Controller è a discrezione del cliente. In questo caso utilizziamo NGINX E’ necessario installare Ingress controller specifico per Amazon EKS: $ kubectl apply -f https://raw.githubusercontent.com/kubernete s/ingress-nginx/controller- v1.1.1/deploy/static/provider/aws/deploy.ya ml Si procede poi ad installare il template specifico per Runtime Fabric che verrà utilizzato al momento del deploy della app Mulesoft $ kubectl apply -f rtf-ingress-template- deploy.yaml Questo template è personalizzabile in base a come si intende plubblicare i servizi: Internet intranet e come risolvere i nomi delle Mule APP. More info: https://docs.mulesoft.com/runtime- fabric/1.11/custom-ingress-configuration
  • 21. Step 8: Disinstallazione di Runtime Fabric 21 Per disinstallare Runtime Fabric da Amazon EKS è possibile utilizzare utility a riga di comando. ● Utilizando il Runtime Manager, cancellare tutte le applicazioni Mule e le API gateways installate su Runtime Fabric. ● Verificare da tutti gli environments associati che tutte le applicazioni siano state rimosse. ● Utilizando Runtime Manager, procedere alla cancellazione dell’istanza di Runtime Fabric. ● Eseguire il comando $ rtfctl uninstall per disinstallare i servizi Runtime Fabric services dal cluster Kubernetes. ● Eseguire il comando $ rtfctl uninstall --confirm per verificare l’esecuzione del comando di disinstallazione. ● Alla fine verificare che tutti i servizi di Runtime Fabric non siano piu presenti nel cluster Kubernetes. More info: https://docs.mulesoft.com/runtime- fabric/1.11/uninstall-self
  • 22. Internals di Runtime Fabric su Kubernetes 22 A valle dell’installazione di Runtime Fabric vengono creati una serie di oggetti all’interno di Kubernetes che sono necessari per il funzionamento e il collegamento con Anypoint Control Plane. ● Viene creato un Namespace rtf che contiene tutti gli oggetti di Runtime Fabric ● Per ogni Environment definito su Anypoint Control Plane (ad esempio Sandbox, Prod etc) viene creato al primo deploy di una applicazione un Namespace contraddistinto da uno UUID riferito all’environment ● Ingress Template (nel nostro case Nginx) è creato nel Namespace rtf come template. Ogni volta che si esegue il deploy di un’applicazione Mule viene utilizzato e copiato nel Namespace relativo all’environment specificato. ● In caso di utilizzo di scheduler all’interno dell’applicazione Mule sarà necessario attivare la modalità cluster per l’elezione del master tra le varie istanze deployate su kubernetes
  • 23. Deployment di un’API di test su Runtime Fabric
  • 24. Write once run everywhere 24 ● Adottando Anypoint Runtime Fabric è possibile eseguire il deploy delle applicazioni Mule già sviluppate per CloudHub. ● Sarà possibile gestire il ciclo di vita dell ‘applicazione direttamente da Anypoint Runtime Manager e beneficiare di tutte le funzionalità ● La gestione del deploy delle applicazioni da UI è molto simile a quello su CloudHub quindi l’impatto a livello operations è minimo (Deploy tramite API è specifico per Runtime Fabric) ● L’agent di Runtime Fabric (all’interno del Namespace rtf) si occupa di intercettare le richieste di deploy e creare i relativi manifest K8s (Service e Deployment) ● Ogni Applicazione Mule è modellata come deployment e distribuita in un POD di k8s. Per ogni applicazione vengono instanziati 3 container: App, Init e Monitoring More info:
  • 25. MuleSoft components only RTF Migration Assessment # Component Delta Impact 1 HTTP Listener RTF Services listening on port http.port 8081 is the target port for both http and https (even for internal communications) Port 8081 is on the POD level, not the nodes so no need to set a rule for port 8081 if there is a firewall for internal communication HTTP Listener config for all services 2 Service Discovery Internal services discovered as documented here General services discovery (automatic DNS entry for cluster.local domain): <app>.<namespace>.svc.cluster.local/ And within same namespace (same BG and Environment): http://<app>:8081/ HTTP Request Connector config 3 Pipeline Different deployment process (dedicated set of APIs). Documented here. Pipeline pom.xml 4 Templating Different allocation methods (not present vCores fixed increments like for CloudHub). New parameters: ● Reserved CPU ● CPU Limit ● Memory Template and Pipeline
  • 26. # Component Delta Impact 5 Secure Properties Secure Properties not supported anymore in RTF. Secrets are internally managed through Kubernetes Secrets, as documented here. As an alternative to be introduced Custom Properties Provider, or properties injection from CI/CD pipeline (side-effect, not possible to hide properties like in CloudHub). CI/CD pipeline Properties Mngt. 6 Object Store OSv2 not supported (see here). Embedded Object Store is by definition ephemeral (linked to Pod lifecycle). As an alternative Persistence Gateway can be used (it relies on OSv2 APIs and an external PostGre DB) This impacts also all Processors relying behind the hood on OS (i.e. On Table Row for watermarking storage) Switch from OSv2 to another storage Custom watermarking implementation relying on a different storage 7 Scheduler Runtime Fabric does not allow management of Poll or Schedule scope via the Runtime Manager interface (see here). Any configured Poll or Schedule scope will trigger against the clock of the machine the application is running on. The timezone for a Cron expression trigger can be configured as part of the mule configuration. Schedule frequency to be embedded in Processor 8 AWS Resources Access through AWS Default Profile chain (assume Role) Connector config 9 Resource Usage Monitoring To be introduced in order to monitor license compliance New MuleSoft components only RTF Migration Assessment
  • 27. Come eseguire il deploy su Runtime Fabric 27
  • 28. Applicazione Runtime Fabric vista da Kubernetes 28
  • 29. Q&A
  • 32. 32 ● Share: ○ Tweet using the hashtag #MuleSoftMeetups ○ Invite your network to join: https://meetups.mulesoft.com/rome/ ● Feedback: ○ Fill out the survey feedback and suggest topics for upcoming events ○ Contact MuleSoft at meetups@mulesoft.com for ways to improve the program What’s next?