0
Who’s Marek?    •    •   JBoss Developer        •   Lead of        •   JBoss AS in Fedora    •   Part of    •   Electronic...
JBoss AS in Fedora   JBoss AS7 : Building JBoss AS 7 for Fedora   Carlo de Wolf   2pm   This room!FOSDEM 2012
Agenda   • Some background and terminology   • BoxGrinder     • Appliance definition files     • Architecture overview    ...
Some terminologyFOSDEM 2012
Appliance is a preconfigured    disk image (virtual machine) with    operating system and all required      applications t...
Appliance examples with                tasks   • Database     • Storing data   • Front-end     • Load balancing   • Back-e...
Bake vs. Fry      Bake: Produce a complete virtual      machine offline, before first use.      Fry: Produce a complete vi...
Bake!      We think baking is The Right Way,      especially for developers simply      looking for reliable platforms.FOS...
Bake, then fry          If you bake an image you can          fry it then later too! Baked          image can be your star...
is a family of tools         to grind out appliances for              various platformsFOSDEM 2012
FOSDEM 2012
Current status                    stable                   slow                   development                   planningFO...
Repo                Repo                                    Repo                                                       EC2...
Closer look at appliance                   definition fileFOSDEM 2012
Appliance definition, huh?   •   Plain text file – YAML format   •   Very easy to understand, modify   •   Inheritance (mi...
Appliance example     name: back-end     version: 1     release: 1     summary: back-end appliance with JBoss AS 6     har...
General information                 should match the filename: back-end.appl     name: back-end     version: 1     release:...
Hardware      hardware:            512MB        memory: 512        partitions:        2GB          "/":            size: 2...
Appliance Mix-ins                  Mixing in fedora-base.appl    appliances:      - fedora-baseFOSDEM 2012
back-end.appl     name: back-end     version: 1     release: 1     summary: back-end appliance with JBoss AS 6     hardwar...
fedora-base.appl    name: fedora-base    summary: Basic Fedora OS    os:      name: fedora      version: 14    hardware:  ...
Appliance Mix-ins   back-end.appl              fedora-base.appl                  overrides   hardware:                  ha...
Appliance content     packages:       - jboss-as6       - jboss-as6-cloud-profiles       - java-1.6.0-openjdkFOSDEM 2012
Appliance content     packages:       - jboss-as6       - jboss-as6-cloud-profiles       - java-1.6.0-openjdk             ...
There is a lot more!   • Additional sections     • repos       • ephemeral repos     • files     • post       • What shoul...
BoxGrinder Build architectureFOSDEM 2012
Plugins                                                                SFTP   Simple      Build           Convert    EC2  ...
Plugins                                                                  SFTP   Simple      Build             Convert    E...
FOSDEM 2012
Plugin skeleton   require boxgrinder-build/plugins/base-plugin   class YourPlugin < BoxGrinder::BasePlugin     plugin :typ...
How to install BoxGrinder BuildFOSDEM 2012
FOSDEM 2012
BoxGrinder Build installation       yum install rubygem-boxgrinder-buildFOSDEM 2012
Meta appliance   • A preconfigured appliance to build other appliances     using BoxGrinder   • Easy to jump in     • Avai...
Demo: build a simple                  applianceFOSDEM 2012
convert and deliver              Demo: build a simple                  applianceFOSDEM 2012
Step 1: create base image                                   Plugins                                                       ...
Step 2: convert it to                     VMware type                                 Plugins                             ...
Step 3: deliver it to a SFTP              server                                Plugins                                   ...
Of course you can run the         command just once with               same result!boxgrinder-build f14-jeos.appl -p vmwar...
What’s hot?FOSDEM 2012
BoxGrinder Build features   • Supported OSes: Fedora (14-16), CentOS (5-6),     Scientific Linux (5-6), RHEL (5-6)   • Sup...
BoxGrinder Build features   • Direct injection of files   • Cross-arch builds: producing i386 images on     x86_64 hosts  ...
Notes   • If you’re building AMI’s – do it on EC2 – this     will safe your time (uploading to S3 from your     local mach...
Questions?http://github.com/boxgrinder/ # Codehttp://boxgrinder.org/        # Home pagehttp://boxgrinder.org/blog/   # Blo...
BoxGrinder – FOSDEM 2012
BoxGrinder – FOSDEM 2012
BoxGrinder – FOSDEM 2012
BoxGrinder – FOSDEM 2012
Upcoming SlideShare
Loading in...5
×

BoxGrinder – FOSDEM 2012

1,039

Published on

Marek Goldmann's BoxGrinder talk at FOSDEM 2012.

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

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

No notes for slide

Transcript of "BoxGrinder – FOSDEM 2012"

  1. 1. Who’s Marek? • • JBoss Developer • Lead of • JBoss AS in Fedora • Part of • Electronic music loverFOSDEM 2012
  2. 2. JBoss AS in Fedora JBoss AS7 : Building JBoss AS 7 for Fedora Carlo de Wolf 2pm This room!FOSDEM 2012
  3. 3. Agenda • Some background and terminology • BoxGrinder • Appliance definition files • Architecture overview • Build process • Writing a plugin • Small demoFOSDEM 2012
  4. 4. Some terminologyFOSDEM 2012
  5. 5. Appliance is a preconfigured disk image (virtual machine) with operating system and all required applications to do specific jobFOSDEM 2012
  6. 6. Appliance examples with tasks • Database • Storing data • Front-end • Load balancing • Back-end • Actual serversFOSDEM 2012
  7. 7. Bake vs. Fry Bake: Produce a complete virtual machine offline, before first use. Fry: Produce a complete virtual machine by booting a basic VM and then applying configuration.FOSDEM 2012
  8. 8. Bake! We think baking is The Right Way, especially for developers simply looking for reliable platforms.FOSDEM 2012
  9. 9. Bake, then fry If you bake an image you can fry it then later too! Baked image can be your start point.FOSDEM 2012
  10. 10. is a family of tools to grind out appliances for various platformsFOSDEM 2012
  11. 11. FOSDEM 2012
  12. 12. Current status stable slow development planningFOSDEM 2012
  13. 13. Repo Repo Repo EC2 Appliance BoxGrinder VMware Definition KVMFOSDEM 2012
  14. 14. Closer look at appliance definition fileFOSDEM 2012
  15. 15. Appliance definition, huh? • Plain text file – YAML format • Very easy to understand, modify • Inheritance (mixins) • More and more powerfulFOSDEM 2012
  16. 16. Appliance example name: back-end version: 1 release: 1 summary: back-end appliance with JBoss AS 6 hardware: memory: 512 partitions: "/": size: 2 appliances: - fedora-base packages: - jboss-as6 - jboss-as6-cloud-profiles - java-1.6.0-openjdk ...FOSDEM 2012
  17. 17. General information should match the filename: back-end.appl name: back-end version: 1 release: 1 summary: back-end appliance with JBoss AS 6FOSDEM 2012
  18. 18. Hardware hardware: 512MB memory: 512 partitions: 2GB "/": size: 2FOSDEM 2012
  19. 19. Appliance Mix-ins Mixing in fedora-base.appl appliances: - fedora-baseFOSDEM 2012
  20. 20. back-end.appl name: back-end version: 1 release: 1 summary: back-end appliance with JBoss AS 6 hardware: memory: 512 partitions: "/": size: 2 appliances: - fedora-base packages: - jboss-as6 - jboss-as6-cloud-profiles - java-1.6.0-openjdk ...FOSDEM 2012
  21. 21. fedora-base.appl name: fedora-base summary: Basic Fedora OS os: name: fedora version: 14 hardware: memory: 256 partitions: "/": size: 1 packages: - @core - openssh-server - openssh-clients - wgetFOSDEM 2012
  22. 22. Appliance Mix-ins back-end.appl fedora-base.appl overrides hardware: hardware: memory: 512 memory: 256 partitions: partitions: "/": "/": size: 2 size: 1FOSDEM 2012
  23. 23. Appliance content packages: - jboss-as6 - jboss-as6-cloud-profiles - java-1.6.0-openjdkFOSDEM 2012
  24. 24. Appliance content packages: - jboss-as6 - jboss-as6-cloud-profiles - java-1.6.0-openjdk Plus everything from fedora-base.applFOSDEM 2012
  25. 25. There is a lot more! • Additional sections • repos • ephemeral repos • files • post • What should be done after you build you appliance • Different commands for different platform • Using libguestfs • Learn more! http://boxgrinder.org/tutorials/appliance-FOSDEM 2012 definition/
  26. 26. BoxGrinder Build architectureFOSDEM 2012
  27. 27. Plugins SFTP Simple Build Convert EC2 Deliver RAW CloudFront Definition VMware AMI Operating system Platform DeliveryFOSDEM 2012
  28. 28. Plugins SFTP Simple Build Convert EC2 Deliver RAW CloudFront Definition VMware AMI Operating system Platform Delivery Write your own plugins, it’s easy! http://boxgrinder.org/tutorials/how-to-write-a-plugin-for-boxgrinder- build/FOSDEM 2012
  29. 29. FOSDEM 2012
  30. 30. Plugin skeleton require boxgrinder-build/plugins/base-plugin class YourPlugin < BoxGrinder::BasePlugin plugin :type => :platform, :name => :mycloud, :full_name => "MyCloud" def execute # PLACE YOUR CODE HERE end endFOSDEM 2012
  31. 31. How to install BoxGrinder BuildFOSDEM 2012
  32. 32. FOSDEM 2012
  33. 33. BoxGrinder Build installation yum install rubygem-boxgrinder-buildFOSDEM 2012
  34. 34. Meta appliance • A preconfigured appliance to build other appliances using BoxGrinder • Easy to jump in • Available for different platforms: Xen, KVM, EC2, VMware • Best way to build EC2 appliances • http://boxgrinder.org/download/boxgrinder-build-meta- appliance/FOSDEM 2012
  35. 35. Demo: build a simple applianceFOSDEM 2012
  36. 36. convert and deliver Demo: build a simple applianceFOSDEM 2012
  37. 37. Step 1: create base image Plugins SFTP Simple Build Convert EC2 Deliver RAW CloudFront Definition VMware AMI boxgrinder-build f14-jeos.applFOSDEM 2012
  38. 38. Step 2: convert it to VMware type Plugins SFTP Simple Build Convert EC2 Deliver RAW CloudFront Definition VMware AMI boxgrinder-build f14-jeos.appl -p vmware -p ec2 ...FOSDEM 2012
  39. 39. Step 3: deliver it to a SFTP server Plugins SFTP Simple Build Convert EC2 Deliver RAW CloudFront Definition VMware AMIboxgrinder-build f14-jeos.appl -p vmware -d sftp -d ebs -d s3 FOSDEM 2012 ...
  40. 40. Of course you can run the command just once with same result!boxgrinder-build f14-jeos.appl -p vmware -d sftp FOSDEM 2012
  41. 41. What’s hot?FOSDEM 2012
  42. 42. BoxGrinder Build features • Supported OSes: Fedora (14-16), CentOS (5-6), Scientific Linux (5-6), RHEL (5-6) • Supported platforms: EC2 (S3-based and EBS- based too!), KVM, VMware, VirtualBox, VirtualPC • Many delivery options: local, SFTP, S3 or CloudFront as tarred image, AMI, OpenStack, libvirtFOSDEM 2012
  43. 43. BoxGrinder Build features • Direct injection of files • Cross-arch builds: producing i386 images on x86_64 hosts • Caching downloaded resources (RPM’s) • Pretty fast – from .appl to registered AMI: 15 minutes (on EC2, using meta-appliance)FOSDEM 2012
  44. 44. Notes • If you’re building AMI’s – do it on EC2 – this will safe your time (uploading to S3 from your local machine isn’t fun...) • Building EBS-based AMI’s requires to run BoxGrinder on EC2FOSDEM 2012
  45. 45. Questions?http://github.com/boxgrinder/ # Codehttp://boxgrinder.org/ # Home pagehttp://boxgrinder.org/blog/ # Blog#boxgrinder # IRC @boxgrinder @marekgoldmann @marcsavy
  1. A particular slide catching your eye?

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

×