What is Infrastructure as a Services● Network, Storage and Compute offered on-demand service● Basically servers in the cloud● You are still on the hook to config and manage the cloud & stack● Example : Amazon EC2
What is Platform as a Services● Its an application platform● Basically, app runtime environment in the cloud● PaaS configures & manages the Cloud & stack for you● Example: OpenShift
What is Software as a Services● Its an on-demand application● Nothing to install and configure● Example: Saleforce, Gmail
So, why should I use PaaS● Realize the benefits of the cloud quickly● Let the PaaS configure, manage & scale the stack● Make deployment to the cloud easy● Focus on your app & users not the stack
Create your application$ rhc app create <app_name> <cartridge>eg: create app with PHP 5.3$ rhc app create myapp php-5.3
Add cartridge to your app$ rhc cartridge add -a <app_name> -c <cartridge>eg: add MySQL cartridge$ rhc cartridge add -a myapp -c mysql-5.1
Create scalable app$ rhc app create -s myapp php-5.3the "-s" is for scale, some cartridge may notscale you should check in the web console.
Scale configureOpenShift provide automatic scaling but youcan use a manual scale to fit for need.$ rhc cartridge scale <cartridge> -a <app_name> --min <min_gears> --max <max_gears>
Deploying your applicationEach app has it own git repository. You canclone, merge, push or pull your code from therepository. If youre new to Git try this.
Making change to your appIf you create an application from the webconsole, youll need to tell Git to clone therepository.$ git clone <git_url>
Making change to your appOnce you make changes, youll need to add and committhose changes. Git requires that each commit have amessage to describe it.$ git add .$ git commit -m "check in an application"
Making change to your appFinally, youre ready to send your changes to yourapplication$ git pushLearn more about using Git
Domain aliasYou can specify meaningful DNS names for your OpenShiftapplications so that you can use your own DNS entries.$ rhc alias add <app_name> <your_domain>
Working with GitHubYou can merge your project with GitHub by add the remoterepository then pull, merge code to any repository.$ git remote add github email@example.com:user/repo.git