Università della Calabria
DIMES
Corso di Laurea Specialistica in Ingegneria Informatica
Un'Infrastruttura di Sviluppo Web ...
Indice
● Obiettivi
● Sviluppo Software nel Cloud
● Hybrid Cloud
● IaaS con Openstack
● Openstack: Orchestrazione delle
ris...
Obiettivi
● Offrire una piattaforma di sviluppo per applicazioni
Web Enterprise su Cloud
● Definire un sistema nel quale p...
Sviluppo Software nel Cloud
● Rapporto quantitativo
● Scenario Public Cloud
● Rapporto qualitativo
● Livelli logici non ne...
Hybrid Cloud
IaaS PaaS
Public Amazon AWS
Microsoft Azure
Joyent
Rackspace
HP Cloud
Google Cloud
Google App Engine
Azure Cl...
IaaS con Openstack
● Open source
● Python
● Multi-hypervisor
– Libvirt: Xen, KVM,
ESX
– Hyper-V
● Metal-as-a-Service
– Iro...
Openstack: Orchestrazione delle risorse
PaaS con Openshift
● Open source “Origin”
● Ruby
● Cartridge:
– JavaEE, Ruby on Rails,
Python, PHP,Node.js,
MySQL, Mongodb...
PaaS over IaaS
● Configurazione Openstack su base
CentOS (RDO) e QEMU/KVM
● Generazione di immagini JeOS
contenenti un sis...
PaaS over IaaS
Istanze Broker/Nodo
● La creazione delle immagini
JeOS avviene per mezzo di
Oz attraverso un sistema di
template che descr...
Orchestrazione
● Le immagini vengo aggiunge a
Glance, ed orchestrate con Heat
attraverso un template
compatibile con AWS
C...
Dashboard
Console Openshift
Sistemi di High Availability (HA)
IaaS
● High Availability di Istanza
● AWS::AutoScaling::ScalingPolicy
– AdjustmentType:
...
Sviluppo Web Enterprise PaaS
Creazione Web App Java EE
Auto scalabile su 3 Gear, con
supporto MySQL
● rhc create­app Esemp...
Risultati
● Adozione di due soluzioni di cloud ibrido interconnesse ed
interoperabili per razionalizzazione risorse di Dat...
Conclusioni e Sviluppi Futuri
● Estensione dell'infrastruttura su più macchine host Openstack
interconnesse
● PEP05: Siste...
Thank you all!
Upcoming SlideShare
Loading in …5
×

Un'Infrastruttura di Sviluppo Web Enterprise Distribuita Basata su Modelli PaaS e IaaS con Openstack ed Openshift

764 views

Published on

My Master Degree in Computer Engineering Dissertation about delivering an open source extendible hybrid cloud solution for Platform-as-a-Service with Openshift, integrated in an Infrastructure-as-a-Service deployment with Openstack Grizzly RDO

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
764
On SlideShare
0
From Embeds
0
Number of Embeds
10
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Un'Infrastruttura di Sviluppo Web Enterprise Distribuita Basata su Modelli PaaS e IaaS con Openstack ed Openshift

  1. 1. Università della Calabria DIMES Corso di Laurea Specialistica in Ingegneria Informatica Un'Infrastruttura di Sviluppo Web Enterprise Distribuita su Cloud basata su Modelli PaaS e IaaS Relatori Studente Prof. Domenico Talia Natale Vinto Ing. Fabrizio Scarcello 137523
  2. 2. Indice ● Obiettivi ● Sviluppo Software nel Cloud ● Hybrid Cloud ● IaaS con Openstack ● Openstack: Orchestrazione delle risorse ● PaaS con OpenShift ● PaaS over IaaS ● Orchestrazione ● Dashboard Openstack ● Console OpenShift ● Sistemi di High Availability (HA) ● Sviluppo Web Enterprise PaaS ● Risultati ● Conclusioni
  3. 3. Obiettivi ● Offrire una piattaforma di sviluppo per applicazioni Web Enterprise su Cloud ● Definire un sistema nel quale poter erogare dei servizi cloud di piattaforma (PaaS) ● Progettare l'architettura di tale sistema basandosi su un'infrastruttura sottostante interconnessa (IaaS) ● Predisporre il sistema ad interoperabilità e portabilità su diversi cloud
  4. 4. Sviluppo Software nel Cloud ● Rapporto quantitativo ● Scenario Public Cloud ● Rapporto qualitativo ● Livelli logici non necessariamente interconnessi Sviluppo Web Enterprise: si definiscono Web Enterprise tutte le applicazioni coerenti con le logiche di business online delle organizzazioni che le realizzano
  5. 5. Hybrid Cloud IaaS PaaS Public Amazon AWS Microsoft Azure Joyent Rackspace HP Cloud Google Cloud Google App Engine Azure Cloud Services Heroku Openshift AWS Elastic Beanstalk Private/Hybrid Eucalyptus VMWare vCloud OpenNebula Openstack CloudFoundry Openshift
  6. 6. IaaS con Openstack ● Open source ● Python ● Multi-hypervisor – Libvirt: Xen, KVM, ESX – Hyper-V ● Metal-as-a-Service – Ironic ● Orchestration – Heat – Juju ● Cloud Services RESTful: – Nova Compute, Swift Storage, Neutron Networking, Keystone Identity e Authentication, Heat
  7. 7. Openstack: Orchestrazione delle risorse
  8. 8. PaaS con Openshift ● Open source “Origin” ● Ruby ● Cartridge: – JavaEE, Ruby on Rails, Python, PHP,Node.js, MySQL, Mongodb, DIY ● Gear: RAM + CPU ● Auto scaling dei Gear con Load Balancer (HAProxy) ● Un nodo Broker ed n Nodi di computazione ● Build e Deploy con Git e Jenkins CI ● Sistema DNS per mapping applicazioni e namespace utenti ● Comunicazione RESTful
  9. 9. PaaS over IaaS ● Configurazione Openstack su base CentOS (RDO) e QEMU/KVM ● Generazione di immagini JeOS contenenti un sistema operativo di base a supporto della plaform – Fedora – Diskimage-create, Oz, Vagrant ● Descrizione ed orchestrazione delle risorse con Heat su base template compatibile AWS CloudFormation ● Metering e gestione degli eventi mediante utilizzo di API compatibili con AWS CloudWatch
  10. 10. PaaS over IaaS
  11. 11. Istanze Broker/Nodo ● La creazione delle immagini JeOS avviene per mezzo di Oz attraverso un sistema di template che descrive il tipo di sistema ed i pacchetti da installare ● I template TDL sono dei file XML <template> <name>F18-x86_64-openshift-origin- broker-cfntools</name> <os> <name>Fedora</name> <version>18</version> <arch>x86_64</arch> <install type='iso'> <iso>file:/var/lib/libvirt/images/Fedora- 18-x86_64-netinst.iso</iso> </install> </os> <description> OpenShift Origin Broker </description>
  12. 12. Orchestrazione ● Le immagini vengo aggiunge a Glance, ed orchestrate con Heat attraverso un template compatibile con AWS CloudFormation ● I template sono file JSON o YAML compatibili CFN ● Istanza Broker "BrokerInstance": { "Type": "AWS::EC2::Instance", "Properties": { "ImageId": { "Fn::FindInMap": [ "JeosImages", "Broker", "Image" ] }, "InstanceType": "m1.small", "KeyName": { "Ref": "KeyName" }, .. "puppet module install openshift/openshift_origin", "n", "puppet apply --verbose /root/configure.pp | tee /var/log/configure_openshift.log", "n", ..
  13. 13. Dashboard
  14. 14. Console Openshift
  15. 15. Sistemi di High Availability (HA) IaaS ● High Availability di Istanza ● AWS::AutoScaling::ScalingPolicy – AdjustmentType: ChangeInCapacity – ScalingAdjustment: '1' PaaS ● High Availability di Servizio ● HAProxy – Load Balancer – Gear Routing A= MTBF MTBF+MTTR S=Rb−Ra ROI=S/CM Availability MTBF = tempo medio fra i guasti MTTR = tempo massimo di riparazione dei guasti R rischio, S risparmio C costo di implementazione
  16. 16. Sviluppo Web Enterprise PaaS Creazione Web App Java EE Auto scalabile su 3 Gear, con supporto MySQL ● rhc create­app Esempio jbossas7 ­s ● rhc scale­cartridge jbossas7 ­a Esempio ­­min 1 ­­max 3 ● rhc cartridge add mysql­5.1 ­a Esempio Sviluppo Web App ● git clone progetto vuoto ● git push files – Build – Deploy ● Oppure Jenkins Webapp su Esempio­Namespace.dominio.ext Cloud Ibrido: Entry DNS per l'accesso pubblico e NAT firewalling su macchina host Openstack
  17. 17. Risultati ● Adozione di due soluzioni di cloud ibrido interconnesse ed interoperabili per razionalizzazione risorse di Data Center ed erogazione di servizi di Cloud di piattaforma ● Totale indipendenza dall'hardware e dal sistema di virtualizzazione ● Implementazione di un doppio sistema di HA fault tolerance ● Predisposizione del sistema a portabilità nel cloud grazie alle API compatibili con AWS e ad estensione della platform e dei runtime rispettivamente grazie al concetto di Gear e di Cartridge
  18. 18. Conclusioni e Sviluppi Futuri ● Estensione dell'infrastruttura su più macchine host Openstack interconnesse ● PEP05: Sistema integrato con l'infrastruttura IaaS sottostante che permetta alle applicazioni web di sopravvivere anche ai guasti sul Gear primario contenente HAProxy (integrazione routing table di Openshift con le API di Neutron) ● Cartridge SQL multi­DB ● Orchestrazione di risorse virtualizzate o bare­metal con Juju e definizione di un ambiente di sviluppo di sviluppo Web Enterprise basato su nodi interconnessi con JVM clusterizzate attraverso Terracotta, mediante uso di EHCache e BigMemory.
  19. 19. Thank you all!

×