Saturday 6 June 2015

HP Cloud Service Automation - Part 4

HP Cloud Service Automation - Part 4


Offerings take a Design and make it available to consumers. Like Designs, they can have different versions and they perform a number of purposes. From the CSA Help File:

Standard - A Standard offering can be created from a sequenced or topology design. Pricing is configured on a service offering and supports initial, recurring, and option-specific pricing. You can also attach documents to a standard service offering (e.g., service level agreements, terms and conditions) and screenshots, which are images and captions that provide the user with a visual representation of the offering in the Marketplace Portal.

Note: There are Flex Options (changing cpu & memory after deployment) included in the default Topology design components that are easier to remove very early on. We can use Palette's to create a new design with the Flex options hidden. This is to ensure pricing controls are respected as the Flex option doesn't update subscription pricing, we use Profiles to achieve that here later. Read on but this might save you time later on if you want to avoid having to redo work later!

So, set your Tags up and we will publish a Design and see how it operates. Start by Clicking Create.

Select a Design to Publish

Give it a Name and Version. You can also speed things up by selecting an existing Offering. All configuration settings from the selected offering will be copied into the new offering.

Now Click Create. We'll start by fixing up the pricing. Click on the Pricing Tab and set your currency. Next set the Base Initial Price and Base Recurring Price. Finally set your Recurring Period. If different customers require different periods you will need to consider how your Chargeback Product integrates so it fires off appropriate charges at the right interval. There is no Quarterly option so you may need to select Monthly and let your Chargeback Solution handle summarizing the costs.


Now we can examine Profiles. What if the Consumer chooses a larger VM, shouldn't they pay more for it than a smaller one? How do you make sure they pay the appropriate figure. What if they start small and want to resize later, you don't want a back door where they pay the same or Consumers will quickly realise you're easy to cheat (Flex would allow them to do this)!

Think of the Base pricing as the cost of providing the Cloud Service for a VM. So the things that aren't to do with the VM hardware footprint such as:
  • Cost of Managing a VM by your Organization
  • Cost of Backing up that VM
  • Cost of providing Disaster Recovery / Business Continuity
  • Cost of Capacity Analysis and Chargeback services in running Cloud
  • Cost of Operating System, Application Licensing, Agents such as Antivirus etc
Now you can see there is a fixed cost to supply the VM as a service. This needs to cover your overheads and then you price the underlying infrastructure. You take a standard VM size such as:
1 x vCPU, 4GB Ram, 50GB Hard Disk
Your Cloud solution is sized for say 1,000 VMs of this size. You know how much the Infrastructure Cost to buy and maintain so you want a return on investment within say 5 years.
Sample:
Infrastructure with 5 year support = €1,000,000 (random easy to use figure! Don't quote me!!)
Sized for 1,000 VMs
Need to get money back within 5 year term. €1,000 per VM for 5 years so let's charge a base price of €500 to setup a VM and a recurring price of €125 per year to operate it. That will bring in €1,125 in a simple world over the 5 years giving a small profit. Now we'll assume there will be a degree of building up and tearing down so the €500 base price will give us some extra return even if the VM is short lived.
This is just an example. If you go to most Public Cloud Providers you'll see a fixed monthly price based on the size / performance expected. You don't have to use a Base Price here, you can focus just on the Profile which is based on different sizes of VMs and there's your answer. You just have to work out that you get a similar return on investment if the VM lives the full 5 years, €225 a year or €18.75 a month for example.

Option 1:
Base Price & Recurring Price (€500 & €125 a year)

Option 2:
Recurring Price Only (€225 a year)

Now, if the Consumer requests a VM that is larger than the standard size, you need to increase the price accordingly. How you do it is up to you. A simple doubling of the VM to 2 vCPU, 8GB Ram and 100GB Hard Disk should cost at least twice or €450 a year in the Option 2 model. You may decide you can be generous and charge increments if only vCPU is increased etc but you need to decide what those increments are in advance and what your top limit will be. What is the maximum vCPU you will offer, the same in memory etc.

Chargeback products can greatly help here as they have samples of Chargeback costs and can provide both a Capacity model as shown above or a Usage model - you pay for what you use, heavy loads trigger more cost, lighter VMs are cheaper etc for VMs which have busy periods this may work out more cost effective. It's up to you how to factor this is or choose one model over the other.

Back to Profiles!! When in the Topology Designer there is the option to create Profiles. The Core Design will provide a particular set of virtual Hardware. The Profile is used to offer variants which we can then tag with pricing options in Offerings. Name the Profiles carefully or take screenshots of their properties as you need to align the right pricing with the right virtual hardware! Also deselect the Modifiable option. We're setting the choices here, we don't want to give a free text field to the Consumer to go wild with!

If we create a new version of our Topology Design we can go to the Editor and check the current default virtual hardware as shown above. Save the Design but don't publish this version yet and go to the Profiles Tab.

Click Create and give it a name such as the ones above. It then brings you to the editor to change the setting(s) that you want to have for this Profile.

Unselect the Modifiable options to ensure the price you set can't be undermined by the Consumer! Click Save and go back and create a few more to reflect the range of virtual hardware to want to have. The Disk size is determined by the Template so you don't have to use it in the name here, it's just an example! Once your new Design Version is ready, publish it and go the Offerings section.

We create a new Offering here and select the version of the Design we just published. We can speed things up by also selecting an existing Offering to base the new one on but we'll leave it for now. Go to the Options Tab and you'll see the various offerings. You can rename them here if you wish, you can also hide particular Profiles from Customers and unhide them at a later date.

You can change the order using the up/down arrows to the right. (You should also use the padlock to ensure the values can't be changed by the Consumer). Do this for the Initial Order AND Modification Profiles!

Now go to the Pricing Tab and we'll set up some prices to see them in action.


As you see the Options are all listed and as they are cleared defined you can enter in the pricing as required. I've selected a base price of €500 and then started at €125 for a 1 vCPU, 4GB Memory , 50GB Disk and incremented the costs from there (although I should have set the frequency to yearly!). The Modification Profiles should show the same values. The totals are shown to the right (offscreen above). Now Publish the offering on the Publish Tab.

 
The Offering is now visible under the Simple Server Category for all users as it's in the Global Catalog currently. You could publish an Offering just to one Customer/Organization and give them different pricing if you wanted.

The next step is to log into the Marketplace as the Consumer and view it here.

Start Shopping

Select the Offering you just published. You can see it defaults to the 1st Profile and you can still edit the No Profile Selected values, oh dear! But the pricing is intact and reflects the options you select at the bottom of the screen. So now we need to see what we can do to make this tidier.


Go back to the Offering, unpublish it and we'll make some changes! In the Options Tab we'll select the padlock on both options to prevent them being edited and ensure the No Profile Selected is chosen as the default with the radio button on the left.


Next publish the design and see how that looks?


Ok, so we've 4 options, the right one is default but the design isn't consistent. We should go back to the Design and create a new Profile to cater for the default of 1 vCPU, 4GB Ram and 50GB Disk so we can hide the No Profile Selected option in the offering with the icon that shows an eye. Do this for the Modification Profile also. Then we could present the following to the Consumer:


I've hidden the No profile selected option here as shown above.

Now we're getting somewhere! You can keep adding them to the Cart and Checkout just like any good commercial website and see your costs before committing.

That's Offerings covered. We can check out approvals and other elements later. Getting drop down lists of options is trickier and may require switching to Sequence Designer but Topology allows you to get a smart, simple Catalog up and running fairly quickly and you can develop it later (some aspects can't be easily changed such as removing Flex Operations covered later - so practice first!).

What do the operational post deployment views look like? Let's see how they operate before we finish. I'll order one small VM to play with. I can change the quantity here:


Next checkout and give the subscription a name. If you have multiple items in the order you are asked to give each Subscription a name & Description to make it easier to find them afterwards.



Then Continue, pick a subscription period and Submit the Cart.

Wait for a few minutes and when the Subscriptions are active we can go back and see what changes we're allowed make.

The subscriptions are both listed and active. We can now select a Subscription and Modify it.

Choose a different Profile. If your Modification settings aren't laid out correctly you can't change this once your subscription is active so make sure you test, test, test before go live! You can always unpublish an offering, fix the issue, then republish or do a new version. Once you have live subscriptions however, creating a new version is a safer practice.

Now you can switch to a different Profile and Price and see what happens to your VM! It initiates a Guest OS shutdown, configures the VM with the new Hardware and Powers it on. Takes 25 seconds or so, that's all! Original VM Details:
 Modified VM Details:
 Updated Subscription Pricing:

Now there is one more view worth mentioning in the Marketplace which provides details on your VM such as the IP Address. Go to My Services:

Next click on the subscription you want information on. You can use the search feature to help.

You can see lots of information

There is also a button you can click to control power functions and Flex the VM

The Flex option doesn't integrate with pricing so you can hide these options. As for the power controls they operate as follows:
  • Restart Server - performs Guest OS Shutdown and Powers on the Virtual Machine
  • Start Server - Powers on the Virtual Machine
  • Stop Server - Initiates Guest OS Shutdown
  • Suspend Server - Initiates Guest OS Standby, Follow up with a Start Server to exit Suspend Mode
You can refresh the My Service Details View with the Refresh button until the operation status returns to green and you can perform another operation.

Now we'll try using the Flex Options. They work quite nicely but aren't linked to pricing.

To start with let's up the vCPU count from 1 to 2. The VM is powered down in vCenter, the vCPU is changed to 2 and the VM is powered on again - 14 seconds for the OO Flow. The cpuCount will still show 1 but if you do another refresh it will show 2 and also the same value 2 in requestedCpuCount. Now let's check the subscription pricing!


The pricing hasn't changed and the same would hold true for memory. To hide these operations we can go to Providers, Select VMware vCenter on the left, Components Tab on the Right, Select vCenter Server, click the Operations Tab. now you can see Flex CPU & Flex Memory. Edit these and untick the Visible option and you'll get a warning saying it can't save this because you're already using it in the Topology Design! You can now see some changes are much harder to make the further you proceed so knowledge and testing is the key. Make sure those top level components are exactly as you need them!

You can create a Palette where you do a "Save As" on the vCenter Server Component to "vCenter Server - No Flex". Edit it to remove the two Flex options and create a new Design referencing that Palette. Then you can create the offering you wish and set pricing etc. That will certainly get you pricing controlled changes.
 

So you can see it's simple but complex at the same time?!! We've covered a great deal here and deployed a few VMs and played around with them but there's always some other request or tweak you or the customer will want to make. Is Topology suited to it? Will you have to take apart a whole Design to make a small change? Going in with the right questions, setting up a test design and getting critique reduces the risk that you'll have a lot of late night work to do just when you were finishing!!

Hope you didn't fall asleep and some of this will be of use to you!

Note: on reflection you could offer a standard list of Profiles but have a slightly larger list for Modifications. So start small and only after deployment allow Consumers to upsize the VM to the maximum limits. Just in case you want to control access to big VMs or focus minds on right sizing! You can use the hide function in this way to show the first three standard sizes on deployment but 5 or more for modification purposes later!