Cloud Computing Made Easy®
Quick Start Guide
From Cloud Computing Wiki - Kaavo
Before starting this section please make sure that you have already configured the appropriate cloud provider/s. Follow these links for instructions on configuring the relevant supported clouds, Amazon, RackSpace, IBM Cloud, Terremark, Eucalyptus, Cloud.com, Logicworks, and OpenStack
Contents |
Deploying n-tier System from the System Template
After you have setup your account, and created the SSH key-pair (Certificate), you are ready to deploy the n-tier system. Go to the n-tier page.
There are three ways to deploy a template (Please check the next screen shot, Figure 1)
1. Deploying a system from template as "Deploy From Template"
2. Defining a new system using wizards as "Define New System"
3. Import a system exported earlier as "Import System"
The easiest way to deploy a system is by using the first option – "Deploy From Template". So, select "Deploy From Template" as in Figure 1 to bring up the available templates list (Please check the next screen shot, Figure 2).
Figure 2: Available template list when “Deploy From Template” option is selected
Select the template from the list of templates you want to deploy, in this example we have selected the 3 tier LAMP stack for EC2 US region (Linux, Apache, MySQL, PHP, template name is "Linux phpCollab 3tier"). Please have a quick look to our wiki for some more details on 3tier PHP Collab Application at http://wiki.kaavo.com/index.php/3-Tier_PHP-collab . Give a name to the system in the "System Name" input box (we have given the name as '3tier_LAMP_APP') and click on "Deploy System" button (Please check the next screen shot, Figure 3). Note if you are deploying templates in other regions, you have to change the AMI-id with the equivalent AMI-id for the appropriate region during the configuration process in following steps.
Figure 3: Template has been selected, name has also been given
Please note that, on right hand side of the screen (almost 50% of the screen), the system definition is getting displayed. This is a XML document. User will not be able to edit this XML document from this view.
Once clicked on "Deploy System" button, after few seconds the system will be deployed and your new template as "3tier_LAMP_APP" will be displayed under "MY SYSTEMS" panel (Please check the next screen shot, Figure 4).
Figure 4. “3tier_LAMP_APP” has been created
Now clicking on the "System Name" as "3tier_LAMP_APP" under Your System panel you will get the graphical view of the system (Please check the next screen shot, Figure 5).
Figure 5. Graphical view of the system
Now please notice that the "state" of the system is "Unconfigured" and all the servers in all the tiers are also in "Unconfigured" state. Before launching the system you need to configure the system. That means you need to provide the following information such as
a) Amazon account name
b) Server type
c) Your AMI
d) Your Key Pair
e) Your Security Group
Please click on down arrow on any server; one context menu will appear. There will be one option as "Edit/Configured". By clicking there, it will show a new small pop-up window asking for the information (Please check the next screen shot, Figure 6.).
Figure 6. No server has been configured yet
Please configure all the required information according to your account credential.
In the pop-up window, there are three options to apply new/changed configuration to the server. Please choose the radio button properly. The text beside each radio button is self-explaining its own behavior.
Once you have configured few of your servers on different tier the state of the server will be as shown in Figure 7. We have first configured the "web_tier" and "app_tier". Please notice that how color of each server has been changed from yellow to light blue. If you want to apply the same configuration all servers, select apply to all servers radio button.
Figure 7. Server for first two tiers have been configured
Once all the servers in all the tiers will be configured, the state of each server will be "Inactive" as well as the state of the system "3tier_LAMP_APP" will be as "Inactive" (Please check the next screen shot, Figure 8).
For more information on how to configure the system, please watch this brief video to learn how to configure the system using the UI Wizard introduced in version 1.8 of IMOD. Click here for the high resolution video of the UI Wizard.
Figure 8. All the server are in inactive state
To launch the system go to the Runtime tab for the system and click on Start System, this will launch the system. IMOD will start deploying the system by launching servers and configuring tiers based on order and dependencies defined in the system definition file. It takes about 12-15 minutes to have everything fully live for the 3-tier system we are using in this example. Within this time, the state of all the server will be changed as "Pending"-> "up" -> "Running" (Please check the next screen shot, Figure 9).
Figure 9. All the servers are in pending state
All the servers and tiers will have the green light once everything is fully online and running (Please check the next screen shot, Figure 10).
Figure 10. All servers are in running state; and the system is running and deployed
After the servers are up, click on the drop down arrow on load balancers as "lb". One context menu will appear. Please select "Show Details" option (Please check the next screen shot, Figure 11).
Figure 11. Context menu of selected server
Now copy the public DNS (Please check the next screen shot, Figure 12).
Figure 12. Selected server details
Paste the public DNS of the load balancer in a browser and add "/phpCollab" (without double quotes) at the end of the URL, you will see the PHPCollab app is deployed and running. So with a single click within few minutes the entire infrastructure having 3 servers MySQL cluster, 2 app servers, and 1 load balancer running. PHPCollab application is up and is live (Please check the next screen shot, Figure 13).
Figure 13: Screenshot of load balancer configuration
You can start and stop system with a single click. Basically creating a custom system definition file gives you a single click repeatable process for deploying and running your custom systems.
Note: System templates are provided for convenience and as examples you can create any custom system and clone or edit any deployed system.
Monitoring and Alerts
On the monitoring page you will see a list of all running systems and you can drill down tiers and selecting the individual server you want to monitor or set alert on.
Figure 14: Monitoring page screenshot
Note: Monitoring functionality is available for only Kaavo provided AMIs as each Kaavo provided AMI has a custom monitoring agent installed on it for sending monitoring data to IMOD. If you want to install monitoring agent on your own custom AMI please contact support@kaavo.com for how to instructions.
Configuring System Level Events(Auto Pilot Functionality)
Kaavo’s unique application centric approach allows you to define complex custom workflows (collection of actions) at the system level and associate them with the custom event such that anytime a system level event is triggered corresponding workflow are executed. Proper configuration of events and appropriate response (actions) for the event allows the user to run the application with IMOD engine acting as auto-pilot. This is very useful functionality to improve service levels using automation and reducing human intervention whenever their is known response to a know event. In our example the 3-tier LAMP system definition file have three preconfigured custom workflows for auto-recovery (app-tier-server-died), auto scale-up (app-tier-over-utilized), and auto scale-down (app-tier-under-utilized). You can have as many custom events defined for your system as you need.
To configure the triggers for the events, go to the monitoring page after the system deployed is up and running, click on Configure System Event button, it will bring up the configuration window for the event. In our example as the workflows are defined only for the app tier unselect the servers in all tiers except for the app tier servers. In the Event Name drop down list, select one the event workflows defined in the system definition file, for this example lets pick app-tier-server-died.
Figure 15: Configuring system level triggers for events
There are two types of events, Aggregate and Non-Aggregate. Aggregate events are triggered when the aggregate function threshold is met for the servers; for computing the aggregate threshold we use average function. The non-aggregate events are triggered when threshold is met on any of the servers in the group.
If you configure the app-tier-server-died event as shown in the diagram (Non-Aggregate with Ping as Threshold), whenever server ping fails for the server, the system will automatically launch and configure a new server in the system and remove the dead server (not responding to the ping). To test this functionality you can simulate the killing of the server by looking at the instance id of one of the server in the app-tier and killing it from the outside IMOD using either using the command line tool or the Firefox plug-in for EC2. Within 1 minute of the killing of the instance IMOD will launch a new instance and start configuring it automatically using the predefined workflow. Within few minutes the system will be fully recovered and the load balancer configuration will be updated with the IP address of the new server. During the recovery IMOD will change the state of the system from running to recovery.
Figure 16: System in recovering state (auto-recovery)
Events can also be triggered manually by clicking on the event button and selecting and firing the appropriate event.
Figure 17: Manual triggering of events
For more information refer to the Guide For Creating Custom System Definitions in IMOD
Note: You can define any custom workflows in the system definition file and configure them to any custom events. In addition to configuring your own system level triggers, we also allow integration for events from external monitoring systems; please contact us at support@kaavo.com to find out details on how to integrate the events generated from external systems to IMOD.
Scheduling Events
As of version 1.7, IMOD added the ability to execute application centric complex workflows for n-tier systems at scheduled time, see the screen-shot below. This functionality allows to users to schedule complex or simple maintenance tasks to be performed automatically on n-tier systems at the scheduled time. Users can also schedule deployment of complex n-tier systems at the scheduled time or stop a running system at the scheduled time. Any event/workflow can be scheduled, for example if you know your application's behavior you can add additional resources at a specified time using scheduler, e.g. add more resources during peak hours and remove them after peak hours. Although IMOD allows you to add resources automatically using the monitoring system to trigger events in response to load, monitoring approach is reactive and suited for applications where load characteristic are unpredictable. For predicable load you can proactively bring servers online even before monitoring system will detect increase in usage.
Figure 18: Screen-shot of the System Workflow/Event Scheduler




![[Wiki Home]](/skins/common/images/wiki.png)