IaaS/PaaS Infrastructure best practices 

Infrastructure services are the most common offering for public cloud providers. Staging IaaS in a private cloud requires a certain amount of initial investment but is often the starting point of the private cloud—adding SaaS and PaaS applications after the basic IaaS compute and storage services are in place. A basic IaaS offering provides VMs with either specific fixed or dynamic and VM sizing options. Cloud providers might offer multiple VM sizes and OSs at fixed prices per hour, day, week, or month. The cost per VM rises as the amount of processor, memory, and storage increases. The customer is charged a fee per unit of processor, memory, and storage which are more configurable and can afford more scalability than fixed-price IaaS offerings.

Public cloud providers often preconfigure specific offerings, such as VMs; however, the exact processor, memory, and disk space allocated to each VM might not be the same as other providers, so price comparison is not always easy. In fact, some public cloud providers have seemingly intentionally confused their VM configurations, VM size pricing, discount levels, transactions fees, and other metrics to obfuscate their true real-world costs to consumers. The key features you should be looking for are fixed or dynamic sizing, costs for expanding or increasing resources, and the ability to control your VMs through a web-based control panel. High-quality service providers will have an extensive self-service control panel that puts the consumer in control of the VMs, with the ability to reboot, resize, and potentially take a snapshot and restore them. Also, be sure to examine the SLA and any guarantees of system availability.

When it comes to flexibility of options, your public IaaS provider should give you the ability to select your preferred OS, and possibly several versions of each OS to suit your needs. The agreement should clearly specify if backup and restore services are included, or if there are additional charges for those. An advanced feature that might be available is the ability to define your own subnetworks, load balancers, and firewall services.

Although public cloud providers offer a menu of fixed and variable-priced IaaS options, deploying your own private cloud will provide more customization, procurement, and security features unique to your organization. It is important to note that public cloud providers are constantly enhancing their offerings and self-service capabilities:

IaaS cloud deployment comparison
Feature Public Private
VM-based server Yes Yes
Selection of OS Yes Yes
Choice of VM size (CPU, RAM), storage/disk Yes Yes
Ability to dynamically expand resources (CPU, RAM, disk) as needed Maybe Yes
Ability to configure load balancing, firewalls, and subnetworks Maybe Yes
Ability to define backup schedule and perform self-restores Yes
Self-service control panel to manage VMs Yes
Provide OS patches and version upgrades Yes
Ability to select from multiple backup and restore schedules and retention times Yes
Ability to select from multiple tiers of storage performance (e.g., high-transaction solid-state disks, slower file-based storage) Yes

 

Feature Public Private
Ability to manage multiple groups of VMs with separate administrators, operators Maybe Yes
Ability to customize OS templates Yes
Ability to customize metering, billing process, ordering/ approval process  Yes
Ability to install custom OS versions or customer-defined custom OS Yes
Meet consumer-specified security controls Yes
Consumer has visibility into security logs, real-time security threats, and activities Yes
Consumer has detailed real-time view into cloud operating, statistics, metering, and performance Yes
Ability to specify where data is stored (by country or datacenter facility) Yes

IaaS applications are defined by the provider in public clouds; the consumer is pretty much limited to the OS templates and versions and standard configuration options the public provider allows. As a part of a larger group of public customers, your ability to customize the offering is limited—applications and settings within the OS that is installed on the VM itself are the only aspects over which you would have complete control. A public cloud provider might allow you to create or import your own VM templates. Private cloud services are essentially a unique instance of the cloud service; you can customize them to a much greater degree.