Che cos’è Kubernetes? A cosa serve? Perché usarlo?
Queste sono alcune delle domande alle quali questo talk darà una risposta: verranno illustrate le origini della piattaforma, i problemi che mira a risolvere e il modo in cui li risolve.
Introdurremo e vedremo in azione alcuni dei concetti chiave di Kubernetes utili a gestire il deployment e lo scaling di applicazioni containerizzate, arrivando a discutere la gestione di aspetti più specifici tramite ConfigMaps, Secrets e Services.
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.
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
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.
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
Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...Codemotion
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.
Vieni a scoprire Cloud Native PostgreSQL (CNP), l’operatore per Kubernetes, direttamente da coloro che lo hanno ideato e lo sviluppano in EDB.
CNP facilita l’integrazione di database PostgreSQL con le tue applicazioni all’interno di cluster Kubernetes e OpenShift Container Platform di RedHat, grazie alla sua gestione automatica dell’architettura primario/standby che include: self-healing, failover, switchover, rolling update, backup, ecc.
Durante il webinar affronteremo i seguenti punti:
- DevOps e Cloud Native
- Introduzione a Cloud Native PostgreSQL
- Architetture
- Caratteristiche principali
- Esempi di uso e configurazione
- Kubernetes, Storage e Postgres
- Demo
- Conclusioni
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.
Meetup Azure DevOps
Introduzione ad Azure DevOps e panoramica sulle principali funzionalità per il CI ed il CD del proprio software
Speaker: Simone Natalini
Building infrastructure as code with typescript and aws cdkAndrea Valentini
The AWS CDK is a software development framework to define cloud infrastructure as code and provision it through CloudFormation. The CDK integrates fully with AWS services and offers a higher-level object-oriented abstraction to define AWS resources imperatively. The CDK improves your end-to-end development experience because you get to use the power of modern programming languages to define your AWS infrastructure in a predictable and efficient manner.” You can build test and deploy a true Infrastructure as a Code architecture using Typescript. make Reusable code and enjoy the code completion feature of IDE’s to create your cloud Infrastructure.
Porting Android application from ARM to x86BeMyApp
Presentation from Massimiliano Torregiani (@MaxTorregiani) at the Intel Codefest Milano on February 13th 2014 at Mediateca
http://codefestmilano.bemyapp.com
CI CD per .Net 5? Facile con Azure Pipelines e GitHub Actions Davide Benvegnù
.Net 5 e' appena diventato GA ma e' gia supportato sia da GitHub che da Azure DevOps. In questa sessione vedremo come fare CI CD per le nostre applicazioni .Net 5 e Asp.net Core 5 usando Azure Pipelines e GitHub Actions
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/
In questa serata cercheremo di capire perchè Blazor ha riscosso così tanto successo, e lo faremo analizzando casi presi da applicazioni reali dove questa tecnologia è stata introdotta, così da capirne meglio le potenzialità (ma anche le eventuali criticità).
Come di consuetudine, faremo poi un confronto, così da condividere i vari punti di vista.
Building Large Java Codebase with Bazel - CodeOneNatan Silnitsky
Continuous integration of a large interconnected Java codebase can be very challenging.
The traditional solution is to break the code up to small cohesive repositories and define semantically versioned modules in each one (e.g. using Maven or Gradle) in such a manner that won't break APIs. This leads to technical debt and stagnation.
Bazel allows to discard versions aside and to work purely with source code dependencies, whether in the local repository or an external one. It can handle very large Java codebases using aggressive caching and a high degree of parallelism.
Marco Zani: Come dimensionare Magento per raggiungere i Key Performance Indic...Meet Magento Italy
In un contesto altamente concorrenziale, le aspettative dei merchant non riguardano più unicamente uptime e possibilità di scaling dei propri shop, ma dettano anche obiettivi specifici in termini di velocità di caricamento delle pagine secondo KPI prestabiliti, al di sotto dei quali far scattare allarmi e/o azioni.
Durante lo speech Marco mostrerà come configurare e utilizzare alcuni applicativi per effettuare test di carico e per analizzare i risultati ottenuti ai fini di un corretto dimensionamento dell’infrastruttura.
Analizzerà infine benchmark di casi reali, evidenziando classiche criticità di Magento e possibili soluzioni.
Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...Codemotion
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.
Vieni a scoprire Cloud Native PostgreSQL (CNP), l’operatore per Kubernetes, direttamente da coloro che lo hanno ideato e lo sviluppano in EDB.
CNP facilita l’integrazione di database PostgreSQL con le tue applicazioni all’interno di cluster Kubernetes e OpenShift Container Platform di RedHat, grazie alla sua gestione automatica dell’architettura primario/standby che include: self-healing, failover, switchover, rolling update, backup, ecc.
Durante il webinar affronteremo i seguenti punti:
- DevOps e Cloud Native
- Introduzione a Cloud Native PostgreSQL
- Architetture
- Caratteristiche principali
- Esempi di uso e configurazione
- Kubernetes, Storage e Postgres
- Demo
- Conclusioni
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.
Meetup Azure DevOps
Introduzione ad Azure DevOps e panoramica sulle principali funzionalità per il CI ed il CD del proprio software
Speaker: Simone Natalini
Building infrastructure as code with typescript and aws cdkAndrea Valentini
The AWS CDK is a software development framework to define cloud infrastructure as code and provision it through CloudFormation. The CDK integrates fully with AWS services and offers a higher-level object-oriented abstraction to define AWS resources imperatively. The CDK improves your end-to-end development experience because you get to use the power of modern programming languages to define your AWS infrastructure in a predictable and efficient manner.” You can build test and deploy a true Infrastructure as a Code architecture using Typescript. make Reusable code and enjoy the code completion feature of IDE’s to create your cloud Infrastructure.
Porting Android application from ARM to x86BeMyApp
Presentation from Massimiliano Torregiani (@MaxTorregiani) at the Intel Codefest Milano on February 13th 2014 at Mediateca
http://codefestmilano.bemyapp.com
CI CD per .Net 5? Facile con Azure Pipelines e GitHub Actions Davide Benvegnù
.Net 5 e' appena diventato GA ma e' gia supportato sia da GitHub che da Azure DevOps. In questa sessione vedremo come fare CI CD per le nostre applicazioni .Net 5 e Asp.net Core 5 usando Azure Pipelines e GitHub Actions
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/
In questa serata cercheremo di capire perchè Blazor ha riscosso così tanto successo, e lo faremo analizzando casi presi da applicazioni reali dove questa tecnologia è stata introdotta, così da capirne meglio le potenzialità (ma anche le eventuali criticità).
Come di consuetudine, faremo poi un confronto, così da condividere i vari punti di vista.
Building Large Java Codebase with Bazel - CodeOneNatan Silnitsky
Continuous integration of a large interconnected Java codebase can be very challenging.
The traditional solution is to break the code up to small cohesive repositories and define semantically versioned modules in each one (e.g. using Maven or Gradle) in such a manner that won't break APIs. This leads to technical debt and stagnation.
Bazel allows to discard versions aside and to work purely with source code dependencies, whether in the local repository or an external one. It can handle very large Java codebases using aggressive caching and a high degree of parallelism.
Marco Zani: Come dimensionare Magento per raggiungere i Key Performance Indic...Meet Magento Italy
In un contesto altamente concorrenziale, le aspettative dei merchant non riguardano più unicamente uptime e possibilità di scaling dei propri shop, ma dettano anche obiettivi specifici in termini di velocità di caricamento delle pagine secondo KPI prestabiliti, al di sotto dei quali far scattare allarmi e/o azioni.
Durante lo speech Marco mostrerà come configurare e utilizzare alcuni applicativi per effettuare test di carico e per analizzare i risultati ottenuti ai fini di un corretto dimensionamento dell’infrastruttura.
Analizzerà infine benchmark di casi reali, evidenziando classiche criticità di Magento e possibili soluzioni.
La nostra infrastruttura di produzione a container con Docker, Rancher e ZFS Imola Informatica
Esperienza di migrazione di un intero sistema informativo da VM a container, utilizzando Docker, Rancher e ZFS. Durante lo speech verrà mostrato come abbiamo ristrutturato il nostro sistema informativo aziendale affrontando tematiche di disaster recovery, monitoraggio e backup. Saranno illustrati i vantaggi ottenuti e le sfide che abbiamo dovuto affrontare durante la migrazione di Alfresco, Gitlab, Redmine, SemanticMediaWiki. Migrando a container abbiamo ottenuto backup online 24x7, la possibilità di creare ambienti on-demand per le migrazioni e l'indipendenza dal provider dell'infrastruttura.
La nostra infrastruttura di produzione a container con Docker, Rancher e ZFSMorlini Gabriele
Esperienza di migrazione di un intero sistema informativo da VM a container, utilizzando Docker, Rancher e ZFS. Durante lo speech verrà mostrato come abbiamo ristrutturato il nostro sistema informativo aziendale affrontando tematiche di disaster recovery, monitoraggio e backup. Saranno illustrati i vantaggi ottenuti e le sfide che abbiamo dovuto affrontare durante la migrazione di Alfresco, Gitlab, Redmine, SemanticMediaWiki. Migrando a container abbiamo ottenuto backup online 24x7, la possibilità di creare ambienti on-demand per le migrazioni e l'indipendenza dal provider dell'infrastruttura.
Gestire l’infrastruttura come se fosse codice, ha degli indubbi vantaggi, soprattutto in un team agile che ha più esperienze Dev piuttosto che Ops.
In questa sessione vi racconteremo la nostra esperienza, problemi, vantaggi e cosa abbiamo imparato.
Lo unified tooling è l’area di interesse DevOps che fonde pratiche di software development a quelle di system administration, con lo scopo di semplificare il processo di deployment di ambienti complessi. In questo talk vengono esposte le esperienze di un team di dev che è riuscito a gestire e replicare ambienti complessi, ricorrendo a strumenti e pratiche delle metodologie agili. Saranno evidenziati i vantaggi ottenuti e le problematiche riscontrate.
Kubernetes as HA time series server, a proposalGiuliano Latini
Grazie allo IoT e al basso costo della connettività mobile possiamo acquisire grosse quantità di dati eterogenei. Un possibile modo per organizzarli nell'ottica del monitoraggio e dell'analisi proattiva è l'uso dei Time Series Database come InfuxDB. Durante la sessione varrà proposta un'architettura in alta affidabilità, utilizzando il servizio AKS di Microsoft Azure, per implementare un sistema di raccolta e classificazione dati in serie temporali con console di visualizzazione, pronti per alimentare altri servizi presenti nell'infrastruttura Microsoft Azure. Una parte del talk sarà dedicata a mostrare l'uso dell'architettura proposta.
SIGNALR TO-THE-MAX: VERSO IL WEB ED OLTRE!DotNetCampus
Vedremo come impiegare SignalR al massimo per realizzare una infrastruttura che serva a semplificare la creazione di HubHost da poter usare sia in modo tradizionale sia à-la WCF Service da sfruttare anche al di fuori dell'ambiente web per la comunicazione tra processi, approfondendo inoltre anche i meccanismi della Pipeline dell ErrorHandling per implementare Listener e Logger. Aggireremo inoltre una limitazione dell HubClient creandone una versione strong-typed completamente event-based.
Azure Day Rome 2019 Reloaded - Utilizzare Azure Kubernetes Service per i nost...azuredayit
Con AKS, Azure Kubernetes Service , è possibile creare istanze Sql server in modo semplice e veloce, beneficiando delle funzionalità di failover clustering native di AKS.
In questa sessione vedremo come installare, gestire e migrare istanze tradizionali su AKS.
4. Cosa significa kubernetes?
• Parola greca che significa governatore, timoniere, pilota
• Radice della parola cybernetic
• Abbreviato con K8s, sostituendo le 8 lettere "ubernete" con "8"
5.
6.
7. • Sviluppo e design influenzati da Borg (Google)
• Annunciato da Google a metà 2014
• Release v1.0 luglio 2015
• Primo progetto affidato da Google alla CNCF
Un po' di storia
15. Principi di design
• Dichiarativo > Imperativo
Basta dichiarare lo stato desiderato
16. Principi di design
• Dichiarativo > Imperativo
Basta dichiarare lo stato desiderato
• Semplicità
Sforzo minimo dell'utente
17. Principi di design
• Dichiarativo > Imperativo
Basta dichiarare lo stato desiderato
• Semplicità
Sforzo minimo dell'utente
• Self-Healing
Restart, scheduling e replicazione dei container tramite control loops
18. Principi di design
• Dichiarativo > Imperativo
Basta dichiarare lo stato desiderato
• Semplicità
Sforzo minimo dell'utente
• Self-Healing
Restart, scheduling e replicazione dei container tramite control loops
• Modularità
Componenti connesse da interfacce facili da monitorare o sostituire
20. Pod
Rappresentazione logica di un'applicazione
• Uno o più container
• Volumi condivisi
• Unico IP virtuale e port space condivisi
• Namespace condiviso
• Contenuti allocati sullo stesso nodo
POD
Vol 1 Vol 2
Container A
Container B
Indirizzo IP
22. ReplicationController / ReplicaSet
Responsabili del numero di repliche di un Pod in esecuzione
• ReplicationController
- Selettori label-based
- Rolling update imperativi
• ReplicaSet
- Selettori set-based
- Rolling update dichiarativi (tramite Deployment)
41. • Creazione di Pod
• Creazione di ReplicationController
• Scaling dei Pod con RC
• Rolling Update con RC
• Creazione di ReplicaSet
• Scaling dei Pod con RS
• Creazione di Deployment
• Scaling e Rolling Update con Deployment
• Deploy di un'applicazione
Demo Time!
46. Service
• Astrazione di un insieme logico di Pod
• Rende accessibili i Pod a prescindere dal loro ciclo di vita
• Indirizzo IP virtuale persistente
• Tipi diversi per esporre i Pod all'interno o all'esterno del cluster
48. Service
• ClusterIP
- Default
- Espone servizi con IP virtuale interno
- Accessibili solo dall'interno del cluster
• NodePort
- Espone servizi con IP del nodo
- Porta statica
- Accessibili dall'esterno
49. Service
• ClusterIP
- Default
- Espone servizi con IP virtuale interno
- Accessibili solo dall'interno del cluster
• NodePort
- Espone servizi con IP del nodo
- Porta statica
- Accessibili dall'esterno
• LoadBalancer
- Disponibile su infrastrutture cloud che lo supportano
- Espone servizi sfruttando il load balancer di un cloud provider
- Accessibili dall'esterno
50. Ingress
• Routing traffico esterno verso i servizi interni, tipicamente
tramite protocollo HTTP
• Name-based virtual hosting
• Per funzionare, il cluster deve avere un Ingress Controller in
esecuzione
51. ConfigMap & Secret
• Data store chiave-valore
• Fruibili come variabili d'ambiente o file montati in volumi
• Favoriscono la portabilità e il riutilizzo dei componenti
52. ConfigMap & Secret
• ConfigMap
- Gestione delle configurazioni
- Stringhe
• Secret
- Gestione dei dati sensibili
- Dati binari (base64)
- Minore rischio di esposizione
53. • Esposizione del frontend
- Service NodePort
- Ingress
• Comunicazione backend e frontend
- Service ClusterIP
• Update Applicazione
• ConfigMap per backend
• Secret per frontend
Demo Time!
54. Un po' di numeri
In meno di quattro anni ha fortemente attratto l’attenzione di
comunità e aziende
• 65.6k Commits
• 1.6k Contributors
• 12.8k Forks
• 36.5k Stars
• 8.3k Domande su StackOverflow
55.
56.
57. Pro e Contro
• Open Source
• Semplicità
• Supporto
• Estendibilità
• Maturo
58. Pro e Contro
• Documentazione
• Ripida curva di apprendimento
• Setup non banale
• Open Source
• Semplicità
• Supporto
• Estendibilità
• Maturo