Upload
dodat
View
215
Download
0
Embed Size (px)
Citation preview
Marek GoldmannSoftware Developer, JBoss by Red Hat15.04.2010, Gliwice
StormGrind – hackowanie w chmurkach
Friday, April 16, 2010
Agenda• Cloud computing
• StormGrind
• CirrAS
• Demo
• BoxGrinder
• CoolingTower
• StormFolio, Cantiere
• Q&A
Friday, April 16, 2010
Marek Goldmann, czyli ja
• Pracownik JBoss’a
• Programista?
• Zainteresowania
• Open source
• Wirtualizacja, cloud computing, klastrowanie
• Muzyka elektroniczna
• XMPP/Jabber
Friday, April 16, 2010
Cloud computing
• Temat rzeka
• Mnóstwo definicji i niejasności
• Kolejny etap rozwoju
• (Ciekawe) problemy
Friday, April 16, 2010
Co otrzymujemy?
• Zasoby – szybko i stosunkowo tanio
• Swobodę – wybieramy dostawców
Friday, April 16, 2010
Najważniesze cechy cloud computingu
• Płać za wykorzystane zasoby
• Iluzja nieskończonych zasobów
Friday, April 16, 2010
Problemy cloud computingu
• Bezpieczeństwo i zaufanie
• Przenośność aplikacji
• Współpraca pomiędzy różnymi dostawcami (API)
• Gdzie przechowywać dane w chmurze? RDBMS? NoSQL?
• SLA?
Friday, April 16, 2010
Zastanów się...
• Na świecie jest 4 razy więcej procesorów niż ludzi
• Wiele z kontrolerów ma wbudowany protokół TCP
• Ilość rdzeni w procesorach będzie rosnąć...
Friday, April 16, 2010
Cloud computing – modele
• IaaS (Infrastructure as a Service)
• Amazon EC2, Rackspace
• PaaS (Paltform as a Service)
• Google AppEngine
• SaaS (Software as a Service)
• SalesForce, Facebook
Friday, April 16, 2010
Zależność modeli
Software(SaaS)
Platform(PaaS)
Infrastructure(IaaS)
Flexib
ility
Co
mp
lexityGoogle Docs
Salesforce.com
Google AppEngine
Microsoft Azure
Amazon EC2 & S3
Friday, April 16, 2010
On-premises
Applications
Runtimes
SOA / Integrations
Databases
Server SW
Virtualization
Server HW
Storage
Networking
Hosted(Iaas)
Applications
Runtimes
SOA / Integrations
Databases
Server SW
Virtualization
Server HW
Storage
Networking
Cloud(Paas)
Applications
Runtimes
SOA / Integrations
Databases
Server SW
Virtualization
Server HW
Storage
Networking
Yo
u m
anag
e Yo
u m
anag
e
Yo
u m
anag
e
We
man
age
We
man
age
Friday, April 16, 2010
Odd Thesis > StormGrind
JBoss Cloud
Odd Thesis StormGrind
JBoss Appliance Support
CirrAS
BoxGrinder Build
Cantiere
Friday, April 16, 2010
Cel
Klaster JBoss AS w chmurze bez konieczności konfiguracji
czegokolwiek. Klaster prosto z pudełka.
Friday, April 16, 2010
CirrAS technicznie
• Składa się z 3 obrazów (wirtualnych maszyn):
• front-end
• back-end
• management
Friday, April 16, 2010
Architektura CirrAS
front-end
back-end
management
back-end
back-end
back-end
...
Zapytania
Friday, April 16, 2010
RHQ –– możliwości
• Monitorowanie
• Zarządzanie
• Powiadamianie
• Wykonywanie zdalnych operacji
Friday, April 16, 2010
mod_cluster
• Dynamiczna konfiguracja workerów
• Współczynnik obciążenia obliczany po stronie serwera
• Pełna kontrola cyklu życia aplikacji
Text
http://ordinarythoughts.org/2008/12/27/mod_cluster-nowe-spojrzenie-na-load-balancery/
Friday, April 16, 2010
Cel
Budowanie obrazów systemów operacyjnych wraz z niezbędnymi
aplikacjami z prostych definicji
Friday, April 16, 2010
Na czym to polega?
OS
App 1
App 2
App N
Repozytorium 1
AppAppAppAppAppAppAppAppAppApp
Repozytorium 2
AppAppApp
Friday, April 16, 2010
Łączenie funkcjonalności (dziedziczenie)
OS
Apache
PostgreSQL
OS
Apache
PostgreSQL
OS
Friday, April 16, 2010
Cechy
• Obsługa wielu platform
• Xen/KVM
• VMware
• EC2
• VirtualBox
• Narzędzie łatwe w użyciu i stosunkowo szybkie!
Friday, April 16, 2010
Cechy c.d.
• Możliwość spakowania obrazu
• ZIP, TGZ
• Możliwość wysłania wysłania obrazu
• SSH, CloudFront
• Reprodukcja obrazów z definicji
Friday, April 16, 2010
BoxGrinder Build
BoxGrinder REST
BoxGrinder StudioWeb front-end
to BoxGrinder Build
RESTful APIto BoxGrinder Build
Set of Rake tasksto build appliances
Podprojekty
Friday, April 16, 2010
Budowanie obrazu
• Stwórz definicję obrazu
name: httpdsummary: Apache HTTPDappliances: - jeospackages: includes: - httpd
Friday, April 16, 2010
Budowanie obrazu
• Umieść definicję w katalogu appliances/
• Uruchom BoxGrinder:
• Poczekaj 2 minuty...
boxgrinder appliance:httpd
Friday, April 16, 2010
Ciekawsza definicja
name: your-appliancesummary: This describes your applianceos: name: fedora version: 12 password: weakpasswordimage: cpus: 2 memory: 512 partitions: - root: "/" size: 10packages: includes: - httpd
Friday, April 16, 2010
Podsumowanie definicji
• Łatwe w zrozumieniu i edycji
• Łatwe do wersjonowania
• Jeden format dla wielu systemów operacyjnych
• Duże możliwości:
• Dziedziczenie
name: httpdsummary: Apache HTTPDappliances:! - jeos
Friday, April 16, 2010
Rejestracja workerów
BoxGrinder REST
BoxGrinder REST node
BoxGrinder REST node
BoxGrinder REST node
Friday, April 16, 2010
Obsługa definicji
BoxGrinder REST
Queue
BoxGrinder REST node
BoxGrinder REST node
BoxGrinder REST node
Definition
Friday, April 16, 2010
Cechy
• Różne możliwości wdrożenia
• prywatne datacenter
• publiczna chmura
• Wewnętrzna komunikacja oparta o JMS
• Wiele formatów na wyjściu
• HTML, JSON, YAML, XML
Friday, April 16, 2010
Process
Software(Software as a Service)
Platform(Platform as a Service)
Infrastructure(Infrastructure as a Service)
PhysicalEnvironments
Business Services
Information Services
Managed Services
Business Process
Outsourcing
Multi- Enterprise
Applications
Business Applications
Enterprise Applications Cloud Agents Composite
ApplicationsSocial
Computing
Application Runtimes Data Services Security
ServicesIntegration
ServicesBilling & Metering
Servers Databases Grid / HPC Lifecycle Management
Service Provisioning
Hardware Storage Virtualization Networking Admin. & Management
Friday, April 16, 2010
Cechy/motywacje CT• Bezobsługowość
• REST
• Zbudowane na standardach
• Java EE
• Uruchamiasz w publicznej lub prywatnej chmurze
• Aplikacja w centrum zainteresowania (PaaS)
• Zarządzane przez politykę (silnik reguł biznesowych)
• Obsługa wielu platform (Deltacloud)Friday, April 16, 2010
Cechy/motywacje CT
• Skalowalność
• do góry – więcej użytkowników
• wgłąb – bardziej zasobożerne obliczenia
• ilość – wiele małych aplikacji
Friday, April 16, 2010
Co mają wspólnego te rozwiązania?
• Bardzo przyjazne deweloperom
• (nie zainteresowanych administracją)
• Natychmiastowe efekty
• Brak administracji serwerami
• Skalowanie
• Wspaniałe dla małych/średnich aplikacji
Friday, April 16, 2010
Ograniczenia
• Na ogół podzbiór usług
• Dostęp przez API
• Możliwość korzystania tylko z wybranych wersji blibliotek
Friday, April 16, 2010
Komponenty CT
• API (RESTful)
• Elastic scaler
• Server minimiser
• Naming service
• Klienty: web, Eclipse, RESTful
Friday, April 16, 2010
Wyzwania
• Accounting
• Billingi
• Monitorowanie
• Skalowanie
• Dostęp do usług (JPA > Infinispan? ESB? )
• Izolacja!
Friday, April 16, 2010
CoolingTower API
• GET /cooling-towerget a list of links to something like the following:
• POST /cooling-tower/applicationspost the war/app contents, will return a link to status
• GET /cooling-tower/applications/your-appreturn the status of it (where it is running, if it is ready etc)
• POST /cooling-tower/applications/your-appupdate the version
• DELETE /cooling-tower/applications/your-appdecommission the app (may result in some server savings)
• GET /cooling-tower/applicationslist the apps available and status
Friday, April 16, 2010
Polityka
• Jeżeli nie mamy wolnych zasobów, uruchom nowy serwer
• Mamy zasoby, sprawdź na który serwer możemy wcisnąć aplikację
• Wykorzystanie instancji jest na poziomie 80%, uruchom nowy serwer
Friday, April 16, 2010
A w przyszłości...
• ESB
• Drools
• Infinispan
• Mobicents
• RHQ
• JBoss Tools
• ...
Friday, April 16, 2010