Rookie question - how to provision RoR web application on EC2, where to start?

Hello everyone,

Disclaimer: I'm complete rookie in terms of
DevOps/app deployment automation.

I looped through TheForeman feature lists and Screenshots and I liked what
I saw. As a "give it a try" momentum I want to test the concept as follows:

  1. Install TheForeman on virtualbox Ubuntu LTS 12.04
  2. Use TheForeman to configure, provision and monitor Redmine
    application (should be deployed in the EC2)

I followed The Foreman Installer<Foreman :: Manual> installation
notes and it worked like a charm. I have also installed foreman-ec2 and
foreman-compute gems.

Problem
However I struck with step 2. execution/planning. Basically I just don't
understand what should I do next (maybe someone would kindly point me to
some blog/article/piece of documentation?)
What I have done so far:

  • Configuration: Added smart-proxy as per Installation document (The
    Foreman Installer<Foreman :: Manual>
    )
  • Configuration: Defined test environment
  • Provisioning: Defined Ubuntu OS Operating system (as derivative of
    Debian?, the only option available in the drop-down)
  • Provisioning: Defined redmine host group

Questions

  • I see no Puppet classes available in configuration and import from
    local proxy does not give any. I am not sure whether I need any and how to
    import those? Should I refer to Puppet project documentation to this?
  • I see a am able to define EC2 computational resource, however I don't
    get how/in which order should I define provisioning templates, what pieces
    of configuration (puppet classes etc…) should I use? I would higly
    appreciate if someone could point me to complete step-by-step procedure for
    any kind of web-app deployment using TheForeman (redmine is my target,
    however any other web-app could be a good starting point).

I believe TheForeman entry level isn't that high, however it might be too
high to me :slight_smile:

Thanks in advance and kudos for such great piece of software!

–wbr
LM

> - I see no Puppet classes available in configuration and import from
> local proxy does not give any. I am not sure whether I need any and how to
> import those? Should I refer to Puppet project documentation to this?

Are you new to puppet?

You need to setup puppet infrastructure first, maybe to try to deploy
some puppet manifests first. Once you have that and your puppet master
has some environments installed with some manifests, then you can import
it (if the smart proxy is pointing to the correct puppet master daemon).
Then you will see your puppet classes and you can apply them in TF.

> - I see a am able to define EC2 computational resource, however I don't
> get how/in which order should I define provisioning templates, what pieces
> of configuration (puppet classes etc…) should I use? I would higly
> appreciate if someone could point me to complete step-by-step procedure for
> any kind of web-app deployment using TheForeman (redmine is my target,
> however any other web-app could be a good starting point).

First of all, you need to decide if you are going to provision stuff on
a cloud or in a datacenter. Processes are very different.

In a datacenter (bare metal, virtualization that boots over network) you
are bootin from PXE and installing an OS via installer automatically.
For that, you use templates (PXE, provisioning).

On a cloud, you basically just predefine your image and start it via TF,
then TF is able to create a DNS entry for you and ssh to the instance to
run a "finish" script, which you can template too.

There are two different approaches.

> I believe TheForeman entry level isn't that high, however it might be too
> high to me :slight_smile:

I have learned the learning curve can be steep for users without Puppet
experience. But for provisioning, this is easier. As I learned yesterday
(thanks Dom :slight_smile: not all things are clear (e.g. how cloud provisioning
works).

Feel free to ask more.

··· On Wed, Jul 31, 2013 at 11:43:32PM -0700, Leonīds Maslovs wrote:


Later,

Lukas “lzap” Zapletal
irc: lzap #theforeman