SlideShare a Scribd company logo
1 of 49
Download to read offline
Who’s Marek?

    •
    •   JBoss Developer
        •   Lead of

        •   JBoss AS in Fedora

    •   Part of
    •   Electronic music lover

FOSDEM 2012
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
       • Build process
       • Writing a plugin
   • Small demo

FOSDEM 2012
Some terminology




FOSDEM 2012
Appliance is a preconfigured
    disk image (virtual machine) with
    operating system and all required
      applications to do specific job



FOSDEM 2012
Appliance examples with
                tasks

   • Database
     • Storing data
   • Front-end
     • Load balancing
   • Back-end
     • Actual servers


FOSDEM 2012
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
Bake!


      We think baking is The Right Way,
      especially for developers simply
      looking for reliable platforms.




FOSDEM 2012
Bake, then fry


          If you bake an image you can
          fry it then later too! Baked
          image can be your start
          point.



FOSDEM 2012
is a family of tools
         to grind out appliances for
              various platforms



FOSDEM 2012
FOSDEM 2012
Current status

                    stable




                   slow
                   development




                   planning



FOSDEM 2012
Repo                Repo

                                    Repo


                                                       EC2

              Appliance
                                  BoxGrinder          VMware
              Definition

                                                       KVM




FOSDEM 2012
Closer look at appliance
                   definition file




FOSDEM 2012
Appliance definition, huh?


   •   Plain text file – YAML format
   •   Very easy to understand, modify
   •   Inheritance (mixins)
   •   More and more powerful


FOSDEM 2012
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
General information
                 should match the filename: back-end.appl

     name: back-end
     version: 1
     release: 1
     summary: back-end appliance with
     JBoss AS 6




FOSDEM 2012
Hardware

      hardware:            512MB
        memory: 512
        partitions:        2GB
          "/":
            size: 2




FOSDEM 2012
Appliance Mix-ins

                  Mixing in fedora-base.appl


    appliances:
      - fedora-base




FOSDEM 2012
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
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
      - wget


FOSDEM 2012
Appliance Mix-ins
   back-end.appl              fedora-base.appl
                  overrides

   hardware:                  hardware:
     memory: 512                memory: 256
     partitions:                partitions:
       "/":                       "/":
         size: 2                    size: 1



FOSDEM 2012
Appliance content

     packages:
       - jboss-as6
       - jboss-as6-cloud-profiles
       - java-1.6.0-openjdk




FOSDEM 2012
Appliance content

     packages:
       - jboss-as6
       - jboss-as6-cloud-profiles
       - java-1.6.0-openjdk


                    Plus everything from
                    fedora-base.appl

FOSDEM 2012
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/
BoxGrinder Build architecture




FOSDEM 2012
Plugins
                                                                SFTP



   Simple      Build           Convert    EC2       Deliver
                       RAW                                    CloudFront
  Definition                             VMware




                                                                 AMI


     Operating system        Platform             Delivery




FOSDEM 2012
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
FOSDEM 2012
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
   end



FOSDEM 2012
How to install BoxGrinder Build




FOSDEM 2012
FOSDEM 2012
BoxGrinder Build installation



       yum install rubygem-boxgrinder-build




FOSDEM 2012
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
Demo: build a simple
                  appliance




FOSDEM 2012
convert and deliver
              Demo: build a simple
                  appliance




FOSDEM 2012
Step 1: create base image
                                   Plugins
                                                                   SFTP



      Simple         Build          Convert    EC2     Deliver
                             RAW                                 CloudFront
     Definition                               VMware




                                                                    AMI




                  boxgrinder-build f14-jeos.appl



FOSDEM 2012
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
Step 3: deliver it to a SFTP
              server
                                Plugins
                                                                SFTP



      Simple      Build          Convert    EC2     Deliver
                          RAW                                 CloudFront
     Definition                            VMware




                                                                 AMI




boxgrinder-build f14-jeos.appl -p vmware -d sftp
                                         -d ebs
                                         -d s3
 FOSDEM 2012                             ...
Of course you can run the
         command just once with
               same result!

boxgrinder-build f14-jeos.appl -p vmware -d sftp




 FOSDEM 2012
What’s hot?




FOSDEM 2012
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,
     libvirt

FOSDEM 2012
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
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 EC2


FOSDEM 2012
Questions?
http://github.com/boxgrinder/ # Code
http://boxgrinder.org/        # Home page
http://boxgrinder.org/blog/   # Blog


#boxgrinder                   # IRC

                        @boxgrinder
                        @marekgoldmann
                        @marcsavy

More Related Content

What's hot

WebSphere App Server vs JBoss vs WebLogic vs Tomcat (InterConnect 2016)
WebSphere App Server vs JBoss vs WebLogic vs Tomcat (InterConnect 2016)WebSphere App Server vs JBoss vs WebLogic vs Tomcat (InterConnect 2016)
WebSphere App Server vs JBoss vs WebLogic vs Tomcat (InterConnect 2016)Roman Kharkovski
 
Automating Oracle Database deployment with Amazon Web Services, fabric, and boto
Automating Oracle Database deployment with Amazon Web Services, fabric, and botoAutomating Oracle Database deployment with Amazon Web Services, fabric, and boto
Automating Oracle Database deployment with Amazon Web Services, fabric, and botomjbommar
 
WebSphere Application Server Liberty Profile and Docker
WebSphere Application Server Liberty Profile and DockerWebSphere Application Server Liberty Profile and Docker
WebSphere Application Server Liberty Profile and DockerDavid Currie
 
Ibm db2 10.5 for linux, unix, and windows developing perl, php, python, and...
Ibm db2 10.5 for linux, unix, and windows   developing perl, php, python, and...Ibm db2 10.5 for linux, unix, and windows   developing perl, php, python, and...
Ibm db2 10.5 for linux, unix, and windows developing perl, php, python, and...bupbechanhgmail
 
Automatic systems installations and change management wit FAI - Talk for Netw...
Automatic systems installations and change management wit FAI - Talk for Netw...Automatic systems installations and change management wit FAI - Talk for Netw...
Automatic systems installations and change management wit FAI - Talk for Netw...Henning Sprang
 
The app server, web server and everything in between
The app server, web server and everything in betweenThe app server, web server and everything in between
The app server, web server and everything in betweenColdFusionConference
 
Installing ibm tivoli directory server v6.0 (web sphere partner gateway v6.1 ...
Installing ibm tivoli directory server v6.0 (web sphere partner gateway v6.1 ...Installing ibm tivoli directory server v6.0 (web sphere partner gateway v6.1 ...
Installing ibm tivoli directory server v6.0 (web sphere partner gateway v6.1 ...Banking at Ho Chi Minh city
 
Migrating from Pivotal tc Server on-prem to IBM Liberty in the cloud
Migrating from Pivotal tc Server on-prem to IBM Liberty in the cloudMigrating from Pivotal tc Server on-prem to IBM Liberty in the cloud
Migrating from Pivotal tc Server on-prem to IBM Liberty in the cloudJohn Donaldson
 
Don't touch that server
Don't touch that serverDon't touch that server
Don't touch that servercrdant
 
Scalable, Available and Reliable Cloud Applications with PaaS and Microservices
Scalable, Available and Reliable Cloud Applications with PaaS and MicroservicesScalable, Available and Reliable Cloud Applications with PaaS and Microservices
Scalable, Available and Reliable Cloud Applications with PaaS and MicroservicesDavid Currie
 
2009 Cms Conference VMware overview
2009 Cms Conference VMware overview2009 Cms Conference VMware overview
2009 Cms Conference VMware overviewbostomk
 
Google Web Toolkit for the Enterprise Developer - JBoss World 2009
Google Web Toolkit for the Enterprise Developer - JBoss World 2009Google Web Toolkit for the Enterprise Developer - JBoss World 2009
Google Web Toolkit for the Enterprise Developer - JBoss World 2009Fred Sauer
 
Getting Into The Flow With CQ DAM
Getting Into The Flow With CQ DAMGetting Into The Flow With CQ DAM
Getting Into The Flow With CQ DAMLars Trieloff
 
Automated Configuration of Firmware
Automated Configuration of FirmwareAutomated Configuration of Firmware
Automated Configuration of FirmwareMichael Arnold
 
02. egovFrame Development Environment workshop II en(nexus&ci)
02. egovFrame Development Environment workshop II en(nexus&ci)02. egovFrame Development Environment workshop II en(nexus&ci)
02. egovFrame Development Environment workshop II en(nexus&ci)Chuong Nguyen
 
Administration for Oracle ADF Applications
Administration for Oracle ADF ApplicationsAdministration for Oracle ADF Applications
Administration for Oracle ADF ApplicationsAndreas Koop
 

What's hot (18)

WebSphere App Server vs JBoss vs WebLogic vs Tomcat (InterConnect 2016)
WebSphere App Server vs JBoss vs WebLogic vs Tomcat (InterConnect 2016)WebSphere App Server vs JBoss vs WebLogic vs Tomcat (InterConnect 2016)
WebSphere App Server vs JBoss vs WebLogic vs Tomcat (InterConnect 2016)
 
Automating Oracle Database deployment with Amazon Web Services, fabric, and boto
Automating Oracle Database deployment with Amazon Web Services, fabric, and botoAutomating Oracle Database deployment with Amazon Web Services, fabric, and boto
Automating Oracle Database deployment with Amazon Web Services, fabric, and boto
 
WebSphere Application Server Liberty Profile and Docker
WebSphere Application Server Liberty Profile and DockerWebSphere Application Server Liberty Profile and Docker
WebSphere Application Server Liberty Profile and Docker
 
Ibm db2 10.5 for linux, unix, and windows developing perl, php, python, and...
Ibm db2 10.5 for linux, unix, and windows   developing perl, php, python, and...Ibm db2 10.5 for linux, unix, and windows   developing perl, php, python, and...
Ibm db2 10.5 for linux, unix, and windows developing perl, php, python, and...
 
Automatic systems installations and change management wit FAI - Talk for Netw...
Automatic systems installations and change management wit FAI - Talk for Netw...Automatic systems installations and change management wit FAI - Talk for Netw...
Automatic systems installations and change management wit FAI - Talk for Netw...
 
The app server, web server and everything in between
The app server, web server and everything in betweenThe app server, web server and everything in between
The app server, web server and everything in between
 
Installing ibm tivoli directory server v6.0 (web sphere partner gateway v6.1 ...
Installing ibm tivoli directory server v6.0 (web sphere partner gateway v6.1 ...Installing ibm tivoli directory server v6.0 (web sphere partner gateway v6.1 ...
Installing ibm tivoli directory server v6.0 (web sphere partner gateway v6.1 ...
 
Migrating from Pivotal tc Server on-prem to IBM Liberty in the cloud
Migrating from Pivotal tc Server on-prem to IBM Liberty in the cloudMigrating from Pivotal tc Server on-prem to IBM Liberty in the cloud
Migrating from Pivotal tc Server on-prem to IBM Liberty in the cloud
 
Don't touch that server
Don't touch that serverDon't touch that server
Don't touch that server
 
Scalable, Available and Reliable Cloud Applications with PaaS and Microservices
Scalable, Available and Reliable Cloud Applications with PaaS and MicroservicesScalable, Available and Reliable Cloud Applications with PaaS and Microservices
Scalable, Available and Reliable Cloud Applications with PaaS and Microservices
 
Introducing JSR-283
Introducing JSR-283Introducing JSR-283
Introducing JSR-283
 
Android Booting Scenarios
Android Booting ScenariosAndroid Booting Scenarios
Android Booting Scenarios
 
2009 Cms Conference VMware overview
2009 Cms Conference VMware overview2009 Cms Conference VMware overview
2009 Cms Conference VMware overview
 
Google Web Toolkit for the Enterprise Developer - JBoss World 2009
Google Web Toolkit for the Enterprise Developer - JBoss World 2009Google Web Toolkit for the Enterprise Developer - JBoss World 2009
Google Web Toolkit for the Enterprise Developer - JBoss World 2009
 
Getting Into The Flow With CQ DAM
Getting Into The Flow With CQ DAMGetting Into The Flow With CQ DAM
Getting Into The Flow With CQ DAM
 
Automated Configuration of Firmware
Automated Configuration of FirmwareAutomated Configuration of Firmware
Automated Configuration of Firmware
 
02. egovFrame Development Environment workshop II en(nexus&ci)
02. egovFrame Development Environment workshop II en(nexus&ci)02. egovFrame Development Environment workshop II en(nexus&ci)
02. egovFrame Development Environment workshop II en(nexus&ci)
 
Administration for Oracle ADF Applications
Administration for Oracle ADF ApplicationsAdministration for Oracle ADF Applications
Administration for Oracle ADF Applications
 

Viewers also liked

JUDCon 2010 Boston : TorqueBox
JUDCon 2010 Boston : TorqueBoxJUDCon 2010 Boston : TorqueBox
JUDCon 2010 Boston : TorqueBoxmarekgoldmann
 
TorqueBox - Ruby na sterydach
TorqueBox - Ruby na sterydachTorqueBox - Ruby na sterydach
TorqueBox - Ruby na sterydachmarekgoldmann
 
Java Night 2010 SteamCannon
Java Night 2010 SteamCannonJava Night 2010 SteamCannon
Java Night 2010 SteamCannonmarekgoldmann
 
Silesia JUG : Java Message Service
Silesia JUG : Java Message ServiceSilesia JUG : Java Message Service
Silesia JUG : Java Message Servicemarekgoldmann
 
JUDCon 2010 Boston : BoxGrinder
JUDCon 2010 Boston : BoxGrinderJUDCon 2010 Boston : BoxGrinder
JUDCon 2010 Boston : BoxGrindermarekgoldmann
 
TorqueBox - moc Javy, piękno Rubiego
TorqueBox - moc Javy, piękno RubiegoTorqueBox - moc Javy, piękno Rubiego
TorqueBox - moc Javy, piękno Rubiegomarekgoldmann
 
13 14 SAP policy - revised for spring 2014 - final - 111413
13 14 SAP policy - revised for spring 2014 - final  - 11141313 14 SAP policy - revised for spring 2014 - final  - 111413
13 14 SAP policy - revised for spring 2014 - final - 111413Houston Community College
 
Tutorial caesars II
Tutorial caesars IITutorial caesars II
Tutorial caesars IImanuedlf
 

Viewers also liked (8)

JUDCon 2010 Boston : TorqueBox
JUDCon 2010 Boston : TorqueBoxJUDCon 2010 Boston : TorqueBox
JUDCon 2010 Boston : TorqueBox
 
TorqueBox - Ruby na sterydach
TorqueBox - Ruby na sterydachTorqueBox - Ruby na sterydach
TorqueBox - Ruby na sterydach
 
Java Night 2010 SteamCannon
Java Night 2010 SteamCannonJava Night 2010 SteamCannon
Java Night 2010 SteamCannon
 
Silesia JUG : Java Message Service
Silesia JUG : Java Message ServiceSilesia JUG : Java Message Service
Silesia JUG : Java Message Service
 
JUDCon 2010 Boston : BoxGrinder
JUDCon 2010 Boston : BoxGrinderJUDCon 2010 Boston : BoxGrinder
JUDCon 2010 Boston : BoxGrinder
 
TorqueBox - moc Javy, piękno Rubiego
TorqueBox - moc Javy, piękno RubiegoTorqueBox - moc Javy, piękno Rubiego
TorqueBox - moc Javy, piękno Rubiego
 
13 14 SAP policy - revised for spring 2014 - final - 111413
13 14 SAP policy - revised for spring 2014 - final  - 11141313 14 SAP policy - revised for spring 2014 - final  - 111413
13 14 SAP policy - revised for spring 2014 - final - 111413
 
Tutorial caesars II
Tutorial caesars IITutorial caesars II
Tutorial caesars II
 

Similar to BoxGrinder – FOSDEM 2012

Cloud Foundry and OpenStack
Cloud Foundry and OpenStackCloud Foundry and OpenStack
Cloud Foundry and OpenStackvadimspivak
 
Zend Products and PHP for IBMi
Zend Products and PHP for IBMi  Zend Products and PHP for IBMi
Zend Products and PHP for IBMi Shlomo Vanunu
 
Command Box ColdFusion Package Manager, Automation
Command Box ColdFusion Package Manager, AutomationCommand Box ColdFusion Package Manager, Automation
Command Box ColdFusion Package Manager, AutomationColdFusionConference
 
Increase Efficiency of Solaris Operations & Hardware Life Cycle
Increase Efficiency of Solaris Operations & Hardware Life CycleIncrease Efficiency of Solaris Operations & Hardware Life Cycle
Increase Efficiency of Solaris Operations & Hardware Life CycleJomaSoft
 
Administration von ADF Anwendungen
Administration von ADF AnwendungenAdministration von ADF Anwendungen
Administration von ADF Anwendungenenpit GmbH & Co. KG
 
BP207 - Meet the Java Application Server You Already Own – IBM Domino
BP207 - Meet the Java Application Server You Already Own – IBM DominoBP207 - Meet the Java Application Server You Already Own – IBM Domino
BP207 - Meet the Java Application Server You Already Own – IBM DominoSerdar Basegmez
 
Configuration Management and Transforming Legacy Applications in the Enterpri...
Configuration Management and Transforming Legacy Applications in the Enterpri...Configuration Management and Transforming Legacy Applications in the Enterpri...
Configuration Management and Transforming Legacy Applications in the Enterpri...Docker, Inc.
 
Who Pulls the Strings?
Who Pulls the Strings?Who Pulls the Strings?
Who Pulls the Strings?Ronny Trommer
 
Setting up and open fidy dev environment
Setting up and open fidy dev environmentSetting up and open fidy dev environment
Setting up and open fidy dev environmentianibbo
 
Big Data Step-by-Step: Infrastructure 1/3: Local VM
Big Data Step-by-Step: Infrastructure 1/3: Local VMBig Data Step-by-Step: Infrastructure 1/3: Local VM
Big Data Step-by-Step: Infrastructure 1/3: Local VMJeffrey Breen
 
Dockerize your Symfony application - Symfony Live NYC 2014
Dockerize your Symfony application - Symfony Live NYC 2014Dockerize your Symfony application - Symfony Live NYC 2014
Dockerize your Symfony application - Symfony Live NYC 2014André Rømcke
 
Environment isolation with Docker (Alex Medvedev, Alpari)
Environment isolation with Docker (Alex Medvedev, Alpari)Environment isolation with Docker (Alex Medvedev, Alpari)
Environment isolation with Docker (Alex Medvedev, Alpari)Symfoniacs
 
Docker on Raspberry Pi and CoreOS
Docker on Raspberry Pi and CoreOSDocker on Raspberry Pi and CoreOS
Docker on Raspberry Pi and CoreOSPhilip Zheng
 
OSGi made simple - Fuse Application Bundles
OSGi made simple - Fuse Application BundlesOSGi made simple - Fuse Application Bundles
OSGi made simple - Fuse Application BundlesRob Davies
 
Ansible Introduction
Ansible Introduction Ansible Introduction
Ansible Introduction Robert Reiz
 
DNUG HCL Domino 11 First Look
DNUG HCL Domino 11 First LookDNUG HCL Domino 11 First Look
DNUG HCL Domino 11 First Lookdaniel_nashed
 
PHP on IBM i Tutorial
PHP on IBM i TutorialPHP on IBM i Tutorial
PHP on IBM i TutorialZendCon
 
Build & test once, deploy anywhere - Vday.hu 2016
Build & test once, deploy anywhere - Vday.hu 2016Build & test once, deploy anywhere - Vday.hu 2016
Build & test once, deploy anywhere - Vday.hu 2016Zsolt Molnar
 

Similar to BoxGrinder – FOSDEM 2012 (20)

Cloud Foundry and OpenStack
Cloud Foundry and OpenStackCloud Foundry and OpenStack
Cloud Foundry and OpenStack
 
Zend Products and PHP for IBMi
Zend Products and PHP for IBMi  Zend Products and PHP for IBMi
Zend Products and PHP for IBMi
 
The xsp starter kit
The xsp starter kitThe xsp starter kit
The xsp starter kit
 
Command Box ColdFusion Package Manager, Automation
Command Box ColdFusion Package Manager, AutomationCommand Box ColdFusion Package Manager, Automation
Command Box ColdFusion Package Manager, Automation
 
Increase Efficiency of Solaris Operations & Hardware Life Cycle
Increase Efficiency of Solaris Operations & Hardware Life CycleIncrease Efficiency of Solaris Operations & Hardware Life Cycle
Increase Efficiency of Solaris Operations & Hardware Life Cycle
 
Administration von ADF Anwendungen
Administration von ADF AnwendungenAdministration von ADF Anwendungen
Administration von ADF Anwendungen
 
BP207 - Meet the Java Application Server You Already Own – IBM Domino
BP207 - Meet the Java Application Server You Already Own – IBM DominoBP207 - Meet the Java Application Server You Already Own – IBM Domino
BP207 - Meet the Java Application Server You Already Own – IBM Domino
 
Configuration Management and Transforming Legacy Applications in the Enterpri...
Configuration Management and Transforming Legacy Applications in the Enterpri...Configuration Management and Transforming Legacy Applications in the Enterpri...
Configuration Management and Transforming Legacy Applications in the Enterpri...
 
Who Pulls the Strings?
Who Pulls the Strings?Who Pulls the Strings?
Who Pulls the Strings?
 
Setting up and open fidy dev environment
Setting up and open fidy dev environmentSetting up and open fidy dev environment
Setting up and open fidy dev environment
 
Big Data Step-by-Step: Infrastructure 1/3: Local VM
Big Data Step-by-Step: Infrastructure 1/3: Local VMBig Data Step-by-Step: Infrastructure 1/3: Local VM
Big Data Step-by-Step: Infrastructure 1/3: Local VM
 
Dockerize your Symfony application - Symfony Live NYC 2014
Dockerize your Symfony application - Symfony Live NYC 2014Dockerize your Symfony application - Symfony Live NYC 2014
Dockerize your Symfony application - Symfony Live NYC 2014
 
Environment isolation with Docker (Alex Medvedev, Alpari)
Environment isolation with Docker (Alex Medvedev, Alpari)Environment isolation with Docker (Alex Medvedev, Alpari)
Environment isolation with Docker (Alex Medvedev, Alpari)
 
Docker on Raspberry Pi and CoreOS
Docker on Raspberry Pi and CoreOSDocker on Raspberry Pi and CoreOS
Docker on Raspberry Pi and CoreOS
 
OSGi made simple - Fuse Application Bundles
OSGi made simple - Fuse Application BundlesOSGi made simple - Fuse Application Bundles
OSGi made simple - Fuse Application Bundles
 
eZ Publish 5 in depth inspection
eZ Publish 5 in depth inspectioneZ Publish 5 in depth inspection
eZ Publish 5 in depth inspection
 
Ansible Introduction
Ansible Introduction Ansible Introduction
Ansible Introduction
 
DNUG HCL Domino 11 First Look
DNUG HCL Domino 11 First LookDNUG HCL Domino 11 First Look
DNUG HCL Domino 11 First Look
 
PHP on IBM i Tutorial
PHP on IBM i TutorialPHP on IBM i Tutorial
PHP on IBM i Tutorial
 
Build & test once, deploy anywhere - Vday.hu 2016
Build & test once, deploy anywhere - Vday.hu 2016Build & test once, deploy anywhere - Vday.hu 2016
Build & test once, deploy anywhere - Vday.hu 2016
 

Recently uploaded

Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 

Recently uploaded (20)

Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 

BoxGrinder – FOSDEM 2012

  • 1.
  • 2.
  • 3. Who’s Marek? • • JBoss Developer • Lead of • JBoss AS in Fedora • Part of • Electronic music lover FOSDEM 2012
  • 4. JBoss AS in Fedora JBoss AS7 : Building JBoss AS 7 for Fedora Carlo de Wolf 2pm This room! FOSDEM 2012
  • 5. Agenda • Some background and terminology • BoxGrinder • Appliance definition files • Architecture overview • Build process • Writing a plugin • Small demo FOSDEM 2012
  • 7. Appliance is a preconfigured disk image (virtual machine) with operating system and all required applications to do specific job FOSDEM 2012
  • 8. Appliance examples with tasks • Database • Storing data • Front-end • Load balancing • Back-end • Actual servers FOSDEM 2012
  • 9. 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
  • 10. Bake! We think baking is The Right Way, especially for developers simply looking for reliable platforms. FOSDEM 2012
  • 11. Bake, then fry If you bake an image you can fry it then later too! Baked image can be your start point. FOSDEM 2012
  • 12.
  • 13. is a family of tools to grind out appliances for various platforms FOSDEM 2012
  • 15. Current status stable slow development planning FOSDEM 2012
  • 16. Repo Repo Repo EC2 Appliance BoxGrinder VMware Definition KVM FOSDEM 2012
  • 17. Closer look at appliance definition file FOSDEM 2012
  • 18. Appliance definition, huh? • Plain text file – YAML format • Very easy to understand, modify • Inheritance (mixins) • More and more powerful FOSDEM 2012
  • 19. 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
  • 20. General information should match the filename: back-end.appl name: back-end version: 1 release: 1 summary: back-end appliance with JBoss AS 6 FOSDEM 2012
  • 21. Hardware hardware: 512MB memory: 512 partitions: 2GB "/": size: 2 FOSDEM 2012
  • 22. Appliance Mix-ins Mixing in fedora-base.appl appliances: - fedora-base FOSDEM 2012
  • 23. 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
  • 24. 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 - wget FOSDEM 2012
  • 25. Appliance Mix-ins back-end.appl fedora-base.appl overrides hardware: hardware: memory: 512 memory: 256 partitions: partitions: "/": "/": size: 2 size: 1 FOSDEM 2012
  • 26. Appliance content packages: - jboss-as6 - jboss-as6-cloud-profiles - java-1.6.0-openjdk FOSDEM 2012
  • 27. Appliance content packages: - jboss-as6 - jboss-as6-cloud-profiles - java-1.6.0-openjdk Plus everything from fedora-base.appl FOSDEM 2012
  • 28. 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/
  • 29.
  • 31. Plugins SFTP Simple Build Convert EC2 Deliver RAW CloudFront Definition VMware AMI Operating system Platform Delivery FOSDEM 2012
  • 32. 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
  • 34. 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 end FOSDEM 2012
  • 35. How to install BoxGrinder Build FOSDEM 2012
  • 37. BoxGrinder Build installation yum install rubygem-boxgrinder-build FOSDEM 2012
  • 38. 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
  • 39. Demo: build a simple appliance FOSDEM 2012
  • 40. convert and deliver Demo: build a simple appliance FOSDEM 2012
  • 41. Step 1: create base image Plugins SFTP Simple Build Convert EC2 Deliver RAW CloudFront Definition VMware AMI boxgrinder-build f14-jeos.appl FOSDEM 2012
  • 42. 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
  • 43. Step 3: deliver it to a SFTP server Plugins SFTP Simple Build Convert EC2 Deliver RAW CloudFront Definition VMware AMI boxgrinder-build f14-jeos.appl -p vmware -d sftp -d ebs -d s3 FOSDEM 2012 ...
  • 44. Of course you can run the command just once with same result! boxgrinder-build f14-jeos.appl -p vmware -d sftp FOSDEM 2012
  • 46. 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, libvirt FOSDEM 2012
  • 47. 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
  • 48. 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 EC2 FOSDEM 2012
  • 49. Questions? http://github.com/boxgrinder/ # Code http://boxgrinder.org/ # Home page http://boxgrinder.org/blog/ # Blog #boxgrinder # IRC @boxgrinder @marekgoldmann @marcsavy