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 subnet- works, 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
|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|
|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.