JBoss. Cloud.
Bob McWhirter
Technical Architect
JBoss Fellow
1
Who am I?
• Joined JBoss in 2007
• Co-founder of Drools
• Bob the Despot of the Codehaus
• aka "BMW"
2
Agenda
• Define some terminology
• BoxGrinder to create Virtual Machines
• SteamCannon to create a PaaS
• Demos
• Deltaclo...
Terminology
4
IaaS
• Infrastructure as a service.
• Virtual hardware.
• Pretty barren.
• Amazon EC2, Rackspace Cloud
5
PaaS
• Platform as a Service.
• Higher-order substrate for
applications.
• Google App Engine, Heroku
6
Image
• A snapshot/template for a server.
• Archetypical VM copied and launched.
• AMI, .vmx, .raw
7
Instance
• A server launched from an image.
8
1. IaaS
9
Infrastructure
10
Virtual servers and networks, available
and priced on a per-usage basis.
Undifferentiated
11
Slightly Differentiated
12
13
http://www.flickr.com/photos/pagedooley/1092862034/
14
http://www.flickr.com/photos/equitus/3435154099/
15
http://www.flickr.com/photos/booleansplit/2979169728/
But serves no
particular purpose...
16
2. PaaS
17
Platform gives
purpose...
18
Platform
19
A substrate upon which to
deploy your applications.
The contract your
application targets.
Application
A collection of components, services
and data solving some problem.
May be Java, Ruby, PHP, Perl, C, or
a mixt...
Don't get hung up
on .wars and .ears.
21
Platforms
customize the
infrastructure
22
With IaaS, a server is
the unit of deployment
23
Platforms are servers
operating in collusion
24
25
Load Balancer
App Server
Database
App ServerApp Server
26
How do we create
these colluding
server units?
27
28
Simple
Appliance
Description
VMware
EC2 S3 AMI
EC2 EBS AMI
KVM
29
name: appserver
version: 1
release: 5
summary: SteamCannon back-end appliance
hardware:
memory: 2048
partitions:
"/":
s...
30
name: appserver
version: 1
release: 5
summary: SteamCannon back-end appliance
hardware:
memory: 2048
partitions:
"/":
s...
31
name: appserver
version: 1
release: 5
summary: SteamCannon back-end appliance
hardware:
memory: 2048
partitions:
"/":
s...
32
name: appserver
version: 1
release: 5
summary: SteamCannon back-end appliance
hardware:
memory: 2048
partitions:
"/":
s...
33
name: appserver
version: 1
release: 5
summary: SteamCannon back-end appliance
hardware:
memory: 2048
partitions:
"/":
s...
34
$ boxgrinder-build -W 
appserver.appl 
-p ec2 -d ami
35
Time passes...
ami-XXXXXX
36
A few times
37
• Front-end (httpd, mod_cluster)
• Appserver (JBoss AS6 + TorqueBox)
• Database (PostgresSQL)
• All-in-one ...
38
http://www.flickr.com/photos/deltamike/112665708/
39
http://www.flickr.com/photos/resedabear/4739589400/
40
SteamCannon
41
http://www.flickr.com/photos/sheilascarborough/3532118420/
42
Environment
Platform Image
Instance
1..* 1..*
1..*
based on based on
43
Platforms
• JBoss 2-Tier
• JBoss 3-Tier
• Developer Standalone
Environments
• My Sandbox
• My Other Sandbox
• Staging
• QA
• Production
• Steven
• Experimental
44
Demo!
(Photo Album)
45
1. SteamCannon
launches a node.
46
2. It deploys an
application to the
node.
47
Demo!
(Rails 3, clustered, *-ds.xml)
48
1. SteamCannon
launches several
nodes.
49
2. SteamCannon
orchestrates weaving
them together.
50
3. SteamCannon
deploys artifacts to
the correct services.
51
Bottom line...
52
• BoxGrinder allows us to bake "best
practices" into server images
• SteamCannon adds trusted remote han...
Deltacloud
Oh yeah, SteamCannon talks
to the IaaS provider using the
Deltacloud API.
53
Demo!
(Deltacloud API)
54
Future directions
• Additional platforms, including other data
and service platforms
• Infinispan (Data grid)
• HornetQ (M...
Try it!
•http://boxgrinder.org/
•http://steamcannon.org/
• Download the VMware image
• Boot the AMI
• http://steamcannon.o...
Q&A
57
Upcoming SlideShare
Loading in...5
×

JBoss Developer Webinar: Cloud: BoxGrinder & SteamCannon

1,345

Published on

JBoss Developer Webinar Series: BoxGrinder & SteamCannon.

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

No Downloads
Views
Total Views
1,345
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
16
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "JBoss Developer Webinar: Cloud: BoxGrinder & SteamCannon"

  1. 1. JBoss. Cloud. Bob McWhirter Technical Architect JBoss Fellow 1
  2. 2. Who am I? • Joined JBoss in 2007 • Co-founder of Drools • Bob the Despot of the Codehaus • aka "BMW" 2
  3. 3. Agenda • Define some terminology • BoxGrinder to create Virtual Machines • SteamCannon to create a PaaS • Demos • Deltacloud 3
  4. 4. Terminology 4
  5. 5. IaaS • Infrastructure as a service. • Virtual hardware. • Pretty barren. • Amazon EC2, Rackspace Cloud 5
  6. 6. PaaS • Platform as a Service. • Higher-order substrate for applications. • Google App Engine, Heroku 6
  7. 7. Image • A snapshot/template for a server. • Archetypical VM copied and launched. • AMI, .vmx, .raw 7
  8. 8. Instance • A server launched from an image. 8
  9. 9. 1. IaaS 9
  10. 10. Infrastructure 10 Virtual servers and networks, available and priced on a per-usage basis.
  11. 11. Undifferentiated 11
  12. 12. Slightly Differentiated 12
  13. 13. 13 http://www.flickr.com/photos/pagedooley/1092862034/
  14. 14. 14 http://www.flickr.com/photos/equitus/3435154099/
  15. 15. 15 http://www.flickr.com/photos/booleansplit/2979169728/
  16. 16. But serves no particular purpose... 16
  17. 17. 2. PaaS 17
  18. 18. Platform gives purpose... 18
  19. 19. Platform 19 A substrate upon which to deploy your applications. The contract your application targets.
  20. 20. Application A collection of components, services and data solving some problem. May be Java, Ruby, PHP, Perl, C, or a mixture. 20
  21. 21. Don't get hung up on .wars and .ears. 21
  22. 22. Platforms customize the infrastructure 22
  23. 23. With IaaS, a server is the unit of deployment 23
  24. 24. Platforms are servers operating in collusion 24
  25. 25. 25 Load Balancer App Server Database App ServerApp Server
  26. 26. 26 How do we create these colluding server units?
  27. 27. 27
  28. 28. 28 Simple Appliance Description VMware EC2 S3 AMI EC2 EBS AMI KVM
  29. 29. 29 name: appserver version: 1 release: 5 summary: SteamCannon back-end appliance hardware: memory: 2048 partitions: "/": size: 4 appliances: - _base packages: includes: - jboss-as6 - jboss-as6-cloud-profiles - torquebox-jruby - torquebox-deployers - torquebox-cloud-profiles-deployers post: base: - "echo -e 'n - JBossAS' >> /etc/sysconfig/steamcannon-agent"
  30. 30. 30 name: appserver version: 1 release: 5 summary: SteamCannon back-end appliance hardware: memory: 2048 partitions: "/": size: 4 appliances: - _base packages: includes: - jboss-as6 - jboss-as6-cloud-profiles - torquebox-jruby - torquebox-deployers - torquebox-cloud-profiles-deployers post: base: - "echo -e 'n - JBossAS' >> /etc/sysconfig/steamcannon-agent"
  31. 31. 31 name: appserver version: 1 release: 5 summary: SteamCannon back-end appliance hardware: memory: 2048 partitions: "/": size: 4 appliances: - _base packages: includes: - jboss-as6 - jboss-as6-cloud-profiles - torquebox-jruby - torquebox-deployers - torquebox-cloud-profiles-deployers post: base: - "echo -e 'n - JBossAS' >> /etc/sysconfig/steamcannon-agent"
  32. 32. 32 name: appserver version: 1 release: 5 summary: SteamCannon back-end appliance hardware: memory: 2048 partitions: "/": size: 4 appliances: - _base packages: includes: - jboss-as6 - jboss-as6-cloud-profiles - torquebox-jruby - torquebox-deployers - torquebox-cloud-profiles-deployers post: base: - "echo -e 'n - JBossAS' >> /etc/sysconfig/steamcannon-agent"
  33. 33. 33 name: appserver version: 1 release: 5 summary: SteamCannon back-end appliance hardware: memory: 2048 partitions: "/": size: 4 appliances: - _base packages: includes: - jboss-as6 - jboss-as6-cloud-profiles - torquebox-jruby - torquebox-deployers - torquebox-cloud-profiles-deployers post: base: - "echo -e 'n - JBossAS' >> /etc/sysconfig/steamcannon-agent"
  34. 34. 34 $ boxgrinder-build -W appserver.appl -p ec2 -d ami
  35. 35. 35 Time passes...
  36. 36. ami-XXXXXX 36
  37. 37. A few times 37 • Front-end (httpd, mod_cluster) • Appserver (JBoss AS6 + TorqueBox) • Database (PostgresSQL) • All-in-one (JBoss AS6 + PostgresSQL)
  38. 38. 38 http://www.flickr.com/photos/deltamike/112665708/
  39. 39. 39 http://www.flickr.com/photos/resedabear/4739589400/
  40. 40. 40 SteamCannon
  41. 41. 41 http://www.flickr.com/photos/sheilascarborough/3532118420/
  42. 42. 42 Environment Platform Image Instance 1..* 1..* 1..* based on based on
  43. 43. 43 Platforms • JBoss 2-Tier • JBoss 3-Tier • Developer Standalone
  44. 44. Environments • My Sandbox • My Other Sandbox • Staging • QA • Production • Steven • Experimental 44
  45. 45. Demo! (Photo Album) 45
  46. 46. 1. SteamCannon launches a node. 46
  47. 47. 2. It deploys an application to the node. 47
  48. 48. Demo! (Rails 3, clustered, *-ds.xml) 48
  49. 49. 1. SteamCannon launches several nodes. 49
  50. 50. 2. SteamCannon orchestrates weaving them together. 50
  51. 51. 3. SteamCannon deploys artifacts to the correct services. 51
  52. 52. Bottom line... 52 • BoxGrinder allows us to bake "best practices" into server images • SteamCannon adds trusted remote hands to do the logistics of clustering & configuration • Click and deploy, even complex, multi- artifact applications
  53. 53. Deltacloud Oh yeah, SteamCannon talks to the IaaS provider using the Deltacloud API. 53
  54. 54. Demo! (Deltacloud API) 54
  55. 55. Future directions • Additional platforms, including other data and service platforms • Infinispan (Data grid) • HornetQ (Messaging fabric) • Improved UI/UX/Workflows • Higher-order "applications" • Movement between environments 55
  56. 56. Try it! •http://boxgrinder.org/ •http://steamcannon.org/ • Download the VMware image • Boot the AMI • http://steamcannon.org/try/ 56
  57. 57. Q&A 57
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×