Top Banner
Smart Cities and Communities and Social Innovation Bando MIUR D.D. 391/Ric. del 5 luglio 2012 Architettura e caratteristiche della PaaS di OCP
17

Smart Cities and Communities and Social Innovation Bando MIUR · Connector Cloudify Connector Openshift Monitoring Pillar HOT & Receipe Repository Native API • Workflow engine:

Oct 17, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Smart Cities and Communities and Social Innovation Bando MIUR · Connector Cloudify Connector Openshift Monitoring Pillar HOT & Receipe Repository Native API • Workflow engine:

Smart Cities and Communities and Social InnovationBando MIUR

D.D. 391/Ric. del 5 luglio 2012

Architettura e caratteristiche della PaaS di OCP

Page 2: Smart Cities and Communities and Social Innovation Bando MIUR · Connector Cloudify Connector Openshift Monitoring Pillar HOT & Receipe Repository Native API • Workflow engine:

Comune

Consumer

Comune

Consumer

Regione

Provider

Comune

Consumer

Comune

Consumer

Comune

Consumer

Comune

Consumer

Architettura di riferimento

L’architettura della piattaforma è stata disegnata considerando:

• integrazione IaaS e PaaS• scalabilità• multilayer• interoperabilità• riuso delle componenti• robustezza

Include al suo interno macro componenti particolarmente rilevanti:

• modulo orchestrator/automation• modulo monitoring/billing• PaaS layer/services• IaaS layer/services• Open Data e Open Service Engine• Application Store e Toolkit

Repository • Citizen’s Marketplace

Page 3: Smart Cities and Communities and Social Innovation Bando MIUR · Connector Cloudify Connector Openshift Monitoring Pillar HOT & Receipe Repository Native API • Workflow engine:

I servizi tecnologici di OCP disponibili “as a service”

OCP offre già servizi di tipologia PaaS progettati per essere erogati rispettando concetti chiave del Cloud Computing:

• Monitoraggio• Raccolta metriche• Elasticità• Scalabilità• Self-service• Affidabilità• Restful access• Standard

Ognuno di questi elementi è parte fondante della piattaforma.

Identity access

management

Database

Application

deployment

Queue system

Business

intelligence

Business

Process Manager

Open Data

framework

Messaging

(mail + sms)Personal

storage

Virtual

machines

Service

composition (ESB)

Page 4: Smart Cities and Communities and Social Innovation Bando MIUR · Connector Cloudify Connector Openshift Monitoring Pillar HOT & Receipe Repository Native API • Workflow engine:

PaaS Layer (so far…)

Platform UI Layer

REST API

Native API

Thymeleaf, spring-mvc

spring-security (SSO authentication with SAML)

IaaS Layer

DB

Native API

Adapter (IaaS)

Openstack4j DAORecipe

(HEAT)Native API

ORCHESTRATOR ENGINE

Monitoring

Connector

Cloudify

ConnectorOpenshift

Connector

Native API

Native API

Monitoring Pillar

Native API

HOT & Receipe

Repository

Native API

• Workflow engine: JBPM 6.1

• Gestisce il ciclo di vita dei

servizi PaaS e IaaS

• Comunica con diverse soluzioni

cloud di middleware:

- Heat

- Cloudify

- Openshift

• Supporta il concetto di multi-

zona (es. installazioni differenti

e/o regioni di OpenStack)

Page 5: Smart Cities and Communities and Social Innovation Bando MIUR · Connector Cloudify Connector Openshift Monitoring Pillar HOT & Receipe Repository Native API • Workflow engine:

Comune

Consumer

Comune

Consumer

Regione

Provider

Comune

Consumer

Comune

Consumer

Comune

Consumer

Comune

Consumer

Requirement: possibilità per una PA di dotarsi di una piattaforma per l’erogazione di servizi secondo i paradigmitipici del Cloud astraendo ed integrando le diverse componenti dell’architettura per consentire l’orchestrazione diprocessi complessi che coinvolgono elementi eterogenei.

OCP -> PaaS & IaaS Orchestrator Engine

OCP PaaS & IaaS Engine - Orchestratore di servizi e risorse

Standard (e consorzi di standardizzazione): input TOSCA (OASISconsortium), interfacce HTTPS REST pubbliche (W3C), workflowBPMN (OMG consortium).

Orchestratore: coordina i processi di erogazione dei servizi tra idiversi componenti dell’architettura. Utilizza i workflow per gestirele richieste dai layer superiori attuando opportune azioni sui singolimoduli, astraendo e generalizzando i layer sottostanti.

Open/closed principle: oltre alle tecnologie Cloud «standard defacto» supportate, si è aperti alle estensioni verso nuovi use-cases(workflow) e/o prodotti (componenti) con una logica di sviluppomodulare (plug-in) senza modifica del core open source esistente.

Page 6: Smart Cities and Communities and Social Innovation Bando MIUR · Connector Cloudify Connector Openshift Monitoring Pillar HOT & Receipe Repository Native API • Workflow engine:

Orchestrator – REST APIs

API REST-ful per gestire il ciclo di vita sei servizi:

• Application as a Service (Tomcat, Jboss…)

• Business Intelligence as a Service (Penthao),

• Database as a Service (MySQL, PostgreSQL),

• Message Queue as a Service (RabbitMQ)

• VMaaS

Utilizzo dei “verbi” HTTP e degli codici di stato standard:

• GET: visualizzare lo stato dei servizi

• PUT: creare un servizio

• DELETE: cancellaarea servizio

• POST: start, stop and restart di un servizio

Sicurezza basata su token di accesso

Modello RBAC

{..."zoneId":2,"serviceDetails":{"name":"prisma-example","domainName":"prisma-ex.prismacloud.it","loadBalancingInstances":0,"publicVisibility":false,..."environment":{"availabilityZone":"nova","iaaSFlavor":"medium","qos":"silver"

}},"vmDetails":{"volume":0,"networks":[2,3],"imageId":3...

}}

Page 7: Smart Cities and Communities and Social Innovation Bando MIUR · Connector Cloudify Connector Openshift Monitoring Pillar HOT & Receipe Repository Native API • Workflow engine:

Orchestrator - JBPM

Validazione degli Input

• Verifica dei permessi

• Verifica stato infrastruttura

• Verifica disponibilità delle risorse

Crea servizio

• Scelta adapter:

• Heat

• Cloudify

• Openshift

Monitora il servizio

• Aggiungi il servizio al sistema di monitoraggio

• Verifica che il servizio sia monitorato e pronto

Page 8: Smart Cities and Communities and Social Innovation Bando MIUR · Connector Cloudify Connector Openshift Monitoring Pillar HOT & Receipe Repository Native API • Workflow engine:

OCP/Prisma Data Access Layer

• Il database di piattaforma è MySQL

• Le query sono scritte utilizzando la sintassi di Mysema Querydsl.

• Il framework Querydsl fornisce allo sviluppatore un metodo type-safe per scrivere le query

in Java.

• JPA mappa le tabelle del database in oggetti Java (Entity)

• L’implementazione JPA utilizzata è Hibernate

• La consistenza delle transazioni è garantita da JTA

8

Page 9: Smart Cities and Communities and Social Innovation Bando MIUR · Connector Cloudify Connector Openshift Monitoring Pillar HOT & Receipe Repository Native API • Workflow engine:

Le piattaforme PaaS di OCP

API

API API

• OCP ha scelto di integrare due diverse piattaforme leader di mercato: Cloudify e Openshift

• Entrambe le piattaforme sono Openstack enabled

• E’ stato scelto di far coesistere nella PaaS di OCP Cloudify e OPENSHIFT per risolvere problemi diversi. Entrambe le piattaforme si

basano su ricette/cartridge.

• Cloudify si configura come orchestrator tecnologico avanzato di configurazioni complesse, sia basate su VM che dockers

• Openshift offre agli sviluppatori un environment arricchito da numerosi “reusable components” costruiti in OCP per grantire un

alta percentuale di riuso di componenti comuni

• Lo strato di integrazione e l’orchestrator OCP giocano un ruolo fondamentale nella gestione delle diverse piattaforme e delle

ricette relative ai servizi erogati.

• Tale strato è esposto attraverso una RESTful interface e sarà standardizzato tramite TOSCA

Page 10: Smart Cities and Communities and Social Innovation Bando MIUR · Connector Cloudify Connector Openshift Monitoring Pillar HOT & Receipe Repository Native API • Workflow engine:

Cloudify

Cloudify consente di eseguire una Applicazione su diverse tipologie di infrastruttura Cloud senza alcun cambiamento del codice, monitorarnele metriche, gestirne la scalabilità e permette di usare un eventuale tool di automation e configuration management di propria scelta.

Rif. http://getcloudify.org/

Open Source Platform per il Deploying, Managing e Scalingdi Applicazioni Complesse Multi-Tier su un cloud

Page 11: Smart Cities and Communities and Social Innovation Bando MIUR · Connector Cloudify Connector Openshift Monitoring Pillar HOT & Receipe Repository Native API • Workflow engine:

Openshift

OpenShift è pensato maggiormente per lo sviluppo software e continuos integration, fornendo appunto tutti gli strumenti che servono peril build, test, deploy, e run di applicazioni (oltre che a gestirne la scalabilità). Con OpenShift, ogni application ha un repository git. Gli utentipossono modificare il codice nel loro repository ed eseguire un git push per deployare il loro codice

Esempio di creazione Applicazione Esempio di application deployment con Jenkins

Page 12: Smart Cities and Communities and Social Innovation Bando MIUR · Connector Cloudify Connector Openshift Monitoring Pillar HOT & Receipe Repository Native API • Workflow engine:

Comune

Consumer

Comune

Consumer

Regione

Provider

Comune

Consumer

Comune

Consumer

Comune

Consumer

Comune

Consumer

Elasticità ed alta affidabilità

Le piattaforme PaaS selezionate e l’architettura disegnata consentono lo Scale up, scale down, scale out,scale in delle risorse impegnate

Un servizio “scalabile” garantisce:

- incremento proporzionale delle prestazioni aumentando le risorse allocate in caso di necessità (aumento n° sessioni, CPU oltre soglia…);

- la resilienza alle failure;

Un’architettura software scalabile è indispensabile per trarre reale vantaggio da un’infrastruttura HW ovirtuale scalabile: la scalabilità è necessaria ad ogni livello della piattaforma

L’utilizzo dei servizi di load-balancing + autoscaling offerti dagli strati IaaS e PaaS è una combinazionevincente per implementare sistemi fault-tolerant, scalabili, ad alte prestazioni.

Page 13: Smart Cities and Communities and Social Innovation Bando MIUR · Connector Cloudify Connector Openshift Monitoring Pillar HOT & Receipe Repository Native API • Workflow engine:

La PaaS aperta nella piattaforma OCP

Offre automazione sia per l’attivazione, che per la successiva gestione dei servizi su IaaS diverse a livello dipiattaforma + offerta agli sviluppatori di un ambiente di sviluppo arricchito da numerosi “reusable components”offerti as a service + supporto allo sviluppo e debug di nuove applicazioni

Elimina dall’utente la necessità di gestire la complessità dei servizi infrastrutturali e delle configurazioni nonsolo per lo IaaS di OpenStack

L’utente/sviluppatore per attivare un servizio deve scrivere solo delle “ricette” che a breve supporteranno anchelo standard internazionale TOSCA e potranno quindi essere utilizzate in qualsiasi infrastruttura cloud cheesponga l’interfaccia TOSCA

Rimane il focus sulle soluzioni Open Source leader di mercato, ma la PaaS fornisce alla PA la massima aperturaalla possibilità di usare in modo trasparente soluzioni cloud proprietarie ( es. Vmware o Azure di Microsoft)

Con Openshift la PaaS renderà disponibile agli sviluppatori lo stesso ambiente software che troveranno inproduzione facilitando lo sviluppo il debug e la messa a punto di nuovo prodotto software

Page 14: Smart Cities and Communities and Social Innovation Bando MIUR · Connector Cloudify Connector Openshift Monitoring Pillar HOT & Receipe Repository Native API • Workflow engine:

14

Prisma Orchestrator – JBPM, validazione degli input

Page 15: Smart Cities and Communities and Social Innovation Bando MIUR · Connector Cloudify Connector Openshift Monitoring Pillar HOT & Receipe Repository Native API • Workflow engine:

15

Prisma Orchestrator – JBPM, creazione del servizio

Page 16: Smart Cities and Communities and Social Innovation Bando MIUR · Connector Cloudify Connector Openshift Monitoring Pillar HOT & Receipe Repository Native API • Workflow engine:

16

Prisma Orchestrator – JBPM, monitoraggio del servizio

Page 17: Smart Cities and Communities and Social Innovation Bando MIUR · Connector Cloudify Connector Openshift Monitoring Pillar HOT & Receipe Repository Native API • Workflow engine:

Comune

Consumer

Comune

Consumer

Regione

Provider

Comune

Consumer

Comune

Consumer

Comune

Consumer

Comune

Consumer

Riferimenti

Sito ufficiale di OpenCity Platform: http://www.opencityplatform.eu

OCP platform: https://infncloud.ponsmartcities-prisma.it/

OCP platform support: https://support.ba.infn.it/redmine/projects/supporto-ocp

OCP tutorial: https://agenda.cnaf.infn.it/conferenceTimeTable.py?confId=738#20150930

Contatti: http://www.opencityplatform.eu/contatti