middleware track · agenda middleware track part 1 14.00 microservices, le dimensioni non contano...

23
MIDDLEWARE TRACK A cura del Middleware Solution Architect team di Red Hat #redhatosd

Upload: buithu

Post on 20-Feb-2019

222 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MIDDLEWARE TRACK · Agenda Middleware Track part 1 14.00 MicroServices, le dimensioni non contano Ugo Landini, Samuele Dell’Angelo 14.30 Wildfly Swarm, Spring Boot & Vertx.io: il

MIDDLEWARE TRACK

A cura del Middleware Solution Architect team di Red Hat

#redhatosd

Page 2: MIDDLEWARE TRACK · Agenda Middleware Track part 1 14.00 MicroServices, le dimensioni non contano Ugo Landini, Samuele Dell’Angelo 14.30 Wildfly Swarm, Spring Boot & Vertx.io: il

Agenda Middleware Track part 1

● 14.00 MicroServices, le dimensioni non contano○ Ugo Landini, Samuele Dell’Angelo

● 14.30 Wildfly Swarm, Spring Boot & Vertx.io: il nuovo che avanza○ Ugo Landini, Samuele Dell’Angelo

● 15.00 Microservices con JBoss EAP 7: innovare in continuità○ Giuseppe Bonocore

● 15.30 Microregole per grandi progetti con il BRMS○ Andrea Leoncini

Page 3: MIDDLEWARE TRACK · Agenda Middleware Track part 1 14.00 MicroServices, le dimensioni non contano Ugo Landini, Samuele Dell’Angelo 14.30 Wildfly Swarm, Spring Boot & Vertx.io: il

Agenda Middleware Track part 2

● 16.00 Integrazione e microservizi: come un cammello può passare dalla cruna di un ago○ Filippo Calà, Ugo Landini

● 16.30 API Management con 3Scale nell’era dei microservizi○ Luca Bigotta

● 17.00 SALA PLENARIA

● 17.15 ESTRAZIONE FINALE PREMI

Page 4: MIDDLEWARE TRACK · Agenda Middleware Track part 1 14.00 MicroServices, le dimensioni non contano Ugo Landini, Samuele Dell’Angelo 14.30 Wildfly Swarm, Spring Boot & Vertx.io: il

#redhatosd

Page 5: MIDDLEWARE TRACK · Agenda Middleware Track part 1 14.00 MicroServices, le dimensioni non contano Ugo Landini, Samuele Dell’Angelo 14.30 Wildfly Swarm, Spring Boot & Vertx.io: il
Page 6: MIDDLEWARE TRACK · Agenda Middleware Track part 1 14.00 MicroServices, le dimensioni non contano Ugo Landini, Samuele Dell’Angelo 14.30 Wildfly Swarm, Spring Boot & Vertx.io: il

MicroServices: le dimensioni non contano

Ugo Landini & Samuele Dell’Angelo

#redhatosd

Page 7: MIDDLEWARE TRACK · Agenda Middleware Track part 1 14.00 MicroServices, le dimensioni non contano Ugo Landini, Samuele Dell’Angelo 14.30 Wildfly Swarm, Spring Boot & Vertx.io: il

389 project | aeolus-configure | anaconda | attr | Audrey | Augeas | AuthHub | Autofs | Avahi | Beaker | Boxes | Btrfs | CacheFS | Cairo | candlepin | certmonger | CIFS | Cluster 3 | cobbler | colord | Completely Fair Scheduler | Conductor Control Group Configuration Library | Corosync | CRaSH | Crypto API | Cumin | Cygwin | D-Bus | Dashbuilder | Data Grids for the Java Platform | device-mapper | DeviceKit | DistributionUtilities | dlm | Dogtag | DPDK | Dracut | Editline Library EDS | EJB 3 | elfutils | elfutils | Embedded Jopr | Evolution | Evolution-exchange | eXo JCR | ext3 | ext4 | fence-agents | fence-virt | Flannel | fontconfig | func | Gamin | GateIn Portal | gcc | gcc | gcj | gdb | GFS | GFS2 | glib | gss-proxy GTK+ | gvfs | gzip | HTCondor | ID Utils | imagefactory | IPSec-Tools | iptraf-ng | Jandex | Java | JGroups | Jreadline | JRuby | JSFUnit | jUDDI | Katello | Kerberos | Kimchi | Koji | libguestfs | libibverbs | libminidump | libnotify | libqb libstoragemgmt | libuser | libvirt | libxml2 | libxslt | Linux Audit | Linux Infiniband Project | Linux Kernel | Linux PAM | linux-nfs | Luci | LVM2 | LVM2 | lynx | ManageIQ | Matahari | Maven Integration for Eclipse | Maven Integration for Web Tools Platform | Mock | mod_cluster | moVirt | nautilus | netfilter | NetworkManager | NFS-Ganesha | nmap | Open vSwitch | openais | OpenDaylight | OpenJDK | OpenSSH | OpenSSL | OPNFV | OProfile | oVirt | oVirt Engine | oVirt Node | OVMF | Oz pacemaker | PackageKit | PackageKit | pango | PAPI | Paradyn | patchutils | Performance Co-Pilot | PicketBox | PicketLink | piglit | pixman | polkit | Polkit Qt | Poppler | Portlet Bridge | PostgreSQL | PressGang psmisc | Pulp | PulseAudio | pungi | pynfs | QEMU | Red Hat Update Agent | RESTEasy | rgmanager | RHQ | rpm | rpmgrill | RSYSLOG | Samba | Samba | SETroubleshoot ShrinkWrap | slapi-ns | Smokestack | Spacewalk Spherical | Spice | Spice-gtk | Spice-protocol | Stilts | suds | SWI Prolog | SwitchYard | syslog-ng | System Security Services Daemon | systemd | SystemTap | The Foreman | Thin Crust | tin | UberFire | udev udisks | udisks | UPower | util-linux | Valgrind | vc-dwim | vdagent | vdsm | vfs | Virt-clone | Virt-image | Virt-Install | Virt-manager | Virt-viewer | Virtual memory manager | Wallaby | Wayland | Wise | XFS | xinput | XNIO | Xorg | XrandR | yum

Page 8: MIDDLEWARE TRACK · Agenda Middleware Track part 1 14.00 MicroServices, le dimensioni non contano Ugo Landini, Samuele Dell’Angelo 14.30 Wildfly Swarm, Spring Boot & Vertx.io: il

10 Deploy al giorno

Come è possibile?

Page 9: MIDDLEWARE TRACK · Agenda Middleware Track part 1 14.00 MicroServices, le dimensioni non contano Ugo Landini, Samuele Dell’Angelo 14.30 Wildfly Swarm, Spring Boot & Vertx.io: il
Page 10: MIDDLEWARE TRACK · Agenda Middleware Track part 1 14.00 MicroServices, le dimensioni non contano Ugo Landini, Samuele Dell’Angelo 14.30 Wildfly Swarm, Spring Boot & Vertx.io: il

Cos’è una Microservice Architecture (MSA)?Un approccio architetturale per decomporre applicazioni complesse in sistemi indipendenti

● Organizzati per business capabilities

● Scalabilità indipendente

● Ciclo di vita indipendente

● Governo decentralizzato

● Data management decentralizzato

Page 11: MIDDLEWARE TRACK · Agenda Middleware Track part 1 14.00 MicroServices, le dimensioni non contano Ugo Landini, Samuele Dell’Angelo 14.30 Wildfly Swarm, Spring Boot & Vertx.io: il

Cos’è una Microservice Architecture (MSA)?

Picco di aspettative

gonfiate

x

Disillusione

Qui si fa sul serio

Page 12: MIDDLEWARE TRACK · Agenda Middleware Track part 1 14.00 MicroServices, le dimensioni non contano Ugo Landini, Samuele Dell’Angelo 14.30 Wildfly Swarm, Spring Boot & Vertx.io: il

Your Journey to Microservices :-)

Self-Service,On-Demand,

Elastic,Infrastructure

asCode

(Cloud)

Re-Org ->DevOps

Automazione:Puppet, Chef,

Ansiblee/o

Containers

CI & CDDeployment

Pipeline

UnMicroservizio

SiliconValley

DotComStartup

Cos’è una Microservice Architecture (MSA)?

Page 13: MIDDLEWARE TRACK · Agenda Middleware Track part 1 14.00 MicroServices, le dimensioni non contano Ugo Landini, Samuele Dell’Angelo 14.30 Wildfly Swarm, Spring Boot & Vertx.io: il

1. Self-Service, on-demand, elastic infrastructure as codea. Quanti gg per il provisioning di una nuova VM?

2. Dev vs OpsChi risponde al telefono se l’app non funziona?

3. AutomationPhoenix vs Snowflake

4. CI & CDa. Deployment Pipeline

Cos’è una Microservice Architecture (MSA)?

Page 14: MIDDLEWARE TRACK · Agenda Middleware Track part 1 14.00 MicroServices, le dimensioni non contano Ugo Landini, Samuele Dell’Angelo 14.30 Wildfly Swarm, Spring Boot & Vertx.io: il

Cos’è una Microservice Architecture (MSA)?

GREENBROWN

Page 15: MIDDLEWARE TRACK · Agenda Middleware Track part 1 14.00 MicroServices, le dimensioni non contano Ugo Landini, Samuele Dell’Angelo 14.30 Wildfly Swarm, Spring Boot & Vertx.io: il

A Development / Deployment Time:● Automation● Continuous Integration / Delivery● Configuration Management● Service / API design● Rigorous Testing ● Dependency management● Design for eventual consistency● Artifact repositories

Container: standardizzazione, automation e dependency managementUser Experience: maggiore produttività per gli sviluppatori

A Runtime:● Standardization● Isolation● Service Discovery● Load Balancing● Circuit Breaker, Fallback● Health checks & automated recovery● Distributed logging● Tracing● Infrastructure Monitoring

Page 16: MIDDLEWARE TRACK · Agenda Middleware Track part 1 14.00 MicroServices, le dimensioni non contano Ugo Landini, Samuele Dell’Angelo 14.30 Wildfly Swarm, Spring Boot & Vertx.io: il

● Deploy facile e portabile● Creato da immagini immutabili e

a strati (layered)● Isolato dal sistema operativo

dell’host.

I Container impacchettano le applicazioni con le loro dipendenze, isolando il runtimeAlta densità e massima efficienza

HOST OS

SERVER

CONTAINER

LIBS

APP

CONTAINER

LIBS

APP

Page 17: MIDDLEWARE TRACK · Agenda Middleware Track part 1 14.00 MicroServices, le dimensioni non contano Ugo Landini, Samuele Dell’Angelo 14.30 Wildfly Swarm, Spring Boot & Vertx.io: il

DEMO BUILD YOUR OWN CONTAINER IN 50 lines

Page 18: MIDDLEWARE TRACK · Agenda Middleware Track part 1 14.00 MicroServices, le dimensioni non contano Ugo Landini, Samuele Dell’Angelo 14.30 Wildfly Swarm, Spring Boot & Vertx.io: il

● Isolati e sicuri● Sembrano girare in un loro

ambiente● Se ne possono far girare

centinaia in una sola macchina● Le funzionalità sono nel kernel ● Docker è semplicemente un

formato

I Container sono dei semplici processi Linux

Alta densità e massima efficienza

HOST OS

SERVER

CONTAINER

LIBS

APP

CONTAINER

LIBS

APP

Page 19: MIDDLEWARE TRACK · Agenda Middleware Track part 1 14.00 MicroServices, le dimensioni non contano Ugo Landini, Samuele Dell’Angelo 14.30 Wildfly Swarm, Spring Boot & Vertx.io: il

Kubernetes è un container orchestrator per le applicazioni (non per le macchine)Dal greco “pilota”: radice della parola “governatore” (dal latino: gubernator)

MasterNode

Bare Metal Virtual Private Cloud Public Cloud

Storage

OperatorExternal Services

Page 20: MIDDLEWARE TRACK · Agenda Middleware Track part 1 14.00 MicroServices, le dimensioni non contano Ugo Landini, Samuele Dell’Angelo 14.30 Wildfly Swarm, Spring Boot & Vertx.io: il

A Development / Deployment Time:● Automation● Continuous Integration / Delivery● Configuration Management● Service / API design● Rigorous Testing ● Dependency management● Design for eventual consistency● Artifact repositories

Kubernetes aggiunge caratteristiche fondamentali per le MSAs (e non solo!)Kubernetes è la versione open di Borg, il sistema usato internamente da Google per scalare.

A Runtime:● Standardization● Isolation● Service Discovery● Load Balancing● Circuit Breaker, Fallback● Health checks & automated recovery● Distributed logging● Tracing● Infrastructure Monitoring

Page 21: MIDDLEWARE TRACK · Agenda Middleware Track part 1 14.00 MicroServices, le dimensioni non contano Ugo Landini, Samuele Dell’Angelo 14.30 Wildfly Swarm, Spring Boot & Vertx.io: il
Page 22: MIDDLEWARE TRACK · Agenda Middleware Track part 1 14.00 MicroServices, le dimensioni non contano Ugo Landini, Samuele Dell’Angelo 14.30 Wildfly Swarm, Spring Boot & Vertx.io: il

OpenShift Container Platform è la versione ENTERPRISE di Kubernetes

SERVICE CATALOG(LANGUAGE RUNTIMES, MIDDLEWARE, DATABASES, …)

SELF-SERVICE

APPLICATION LIFECYCLE MANAGEMENT(CI / CD)

BUILD AUTOMATION DEPLOYMENT AUTOMATION

CONTAINER CONTAINERCONTAINER CONTAINER CONTAINER

NETWORKING SECURITYSTORAGE REGISTRYLOGS &

METRICS

CONTAINER ORCHESTRATION & CLUSTER MANAGEMENT(KUBERNETES)

RED HAT ENTERPRISE LINUX

CONTAINER RUNTIME & PACKAGING(DOCKER)

ATOMIC HOST

INFRASTRUCTURE AUTOMATION & COCKPIT

Page 23: MIDDLEWARE TRACK · Agenda Middleware Track part 1 14.00 MicroServices, le dimensioni non contano Ugo Landini, Samuele Dell’Angelo 14.30 Wildfly Swarm, Spring Boot & Vertx.io: il

A Development / Deployment Time:● Automation● Continuous Integration / Delivery● Configuration Management● Service / API design● Rigorous Testing ● Dependency management● Design for eventual consistency● Artifact repositories

Openshift Container Platform aggiunge ulteriori servizi per gli sviluppatoriIl developer si deve concentrare solo sul design & development dei microservizi

A Runtime:● Standardization● Isolation● Service Discovery● Load Balancing● Circuit Breaker, Fallback● Health checks & automated recovery● Distributed logging● Tracing● Infrastructure Monitoring