ALM best practices for advanced DevOps organizations
A comprehensive collection of articles, videos and more, hand-picked by our editors
Editor's note: This feature is part two of a two-part series on choosing cloud providers based on application requirements. Read the first part here.
The major cloud vendors are fiercely competitive. Even so, when looked at as a bundle of compute, storage, network, data, application, security and management services, they have more in common than not. These commonalities make comparing cloud services even more difficult.
Amazon Web Services (AWS) is the top dog, with the most customers and deepest service portfolio, and effectively sets the standard others attempt to match. It's a challenge, since AWS is constantly releasing new services and enhancing existing ones, but Azure, Google and IBM have advantages in certain situations.
The AWS portfolio is divided into three categories with 12 focus areas:
- Core infrastructure: VMs, containers, storage (object, block and file), database (relational, NoSQL and caching) and networking (VPNs, DNS and load balancing);
- Application platform: data analytics (BI, machine learning, ETL and Hadoop), business applications (VDI, email and document sharing), mobile backend/MBaaS (device sync, notifications and API management), internet of things (device registry, virtual device instances/shadows and rules engine);
- Developer and operations support: source code management and deployment, deployment automation and monitoring, security and identity management and miscellaneous services (media transcoding, message queue, serverless apps and search).
Every cloud provider does core infrastructure and covers the basics of developer and operations support and management. And all provide a wide variety of compute instance configurations, allowing users to mix and match core count, memory size and local storage performance, such as hard disk drive, solid-state drives and guaranteed IOPs. Where providers diverge is in support and implementation of platform services in the application platform category.
Azure, Google and IBM all provide BI and big data services, but they differ in exact capabilities, application program interfaces (APIs), scalability and capacity. Deeper into the platform as a service (PaaS) stack, areas such as mobile backend as a services, internet of things (IoT) and API management and gateways are where AWS has aggressively developed new service offerings, and thus the categories where you'll find gaps with other providers. For example, IoT is a nascent application platform with both AWS and Azure aggressively courting developers with targeted services, APIs and software developer kits that, while conceptually similar, are unique and unlike anything Google currently offers.
Given that AWS sets the de facto cloud standard, its two main competitors, Azure and Google, have developed comparison tables of their respective services. These are valuable references for comparison shoppers already familiar with AWS.
When comparing cloud services, IBM Cloud makes it tough, since it's an amalgam of homegrown and acquired services pieced together under one product umbrella; however, it too offers core infrastructure through SoftLayer, and platform services through Bluemix. It also offers application-specific services, including those for mobile development, big data and security.
Because its origins are in on-premises virtualization, VMware vCloud Air focuses on core infrastructure and management. The core benefit of vCloud is that it acts as an extension of existing, on-premises VMware infrastructure using the management console and service concepts that vSphere administrators are already familiar with.
Keep regulatory requirements in mind
When choosing a cloud provider, also consider your regulatory and data protection requirements. This is critical for multinationals doing business in Europe, Canada and other locales with strict data protection laws. Major cloud vendors continue to add data centers in jurisdictions with stringent privacy requirements with tools and legal protections to ensure customers are compliant and don't inadvertently and illegally transmit protected data across sovereign boundaries. Smaller or regionally focused cloud players, however, can create compliance headaches for organizations holding data from customers subject to restrictive privacy laws.
Break down billing models
An important area to consider when comparing cloud services is the granularity of consumption and billing. AWS again sets the standard with on-demand instances billed by the hour; however, AWS has introduced other pricing tiers with discounts for reserving and prepaying for partial or full resources over one- and three-year subscriptions.
Both Azure and Google follow the on-demand model, although Google offers discounts for what it terms "sustained use," which target the same use cases as AWS Reserved Instances. Google even offers per-minute billing for compute instances, with a 10-minute minimum, and automatic rate discounts with increased usage; this increases pricing granularly. This is a key advantage for cloud-native applications, as is Google's ability to rapidly and automatically spin up instances in under a minute.
AWS also sells excess capacity, typically at a deep discount, on a spot market. Customers bid for resources, but service delivery depends on availability, and isn't guaranteed. Azure also offers this, while Google has something comparable with its preemptible pricing.
Cloud pricing is inherently idiosyncratic. A particular application's design, performance requirements and usage won't be the same as another's, so it is difficult to make broad statements about vendor pricing. Instead, cloud buyers should run estimates using their own real-world scenarios.
An instructive, real-world example of how pricing differences, both in the underlying rates and discount model, can give an advantage to one cloud provider over another comes from Quizlet, an online education site. Quizlet's infrastructure team did an exhaustive study comparing its existing AWS installation and bills with Google Cloud. After surveying the cloud market, the options were narrowed to staying at AWS or moving to Google. Quizlet then benchmarked the performance of attributes most relevant to its application, CPU, memory, networking and disk I/O, and modeled its cost on both platforms.
Quizlet chose Google after determining that it offered "better core technology, in particular, its networking and disk technology," while finding that Google had a superior pricing model with strong plans for the future. While the results for your business may differ based on specific needs, the research that went into Quizlet's determination is indicative of the depth of knowledge that should inform any business' decision when comparing cloud services.
Apps drive service selection
As the Quizlet example demonstrated, an organization's present and future application requirements and usage are the most important criteria when selecting a cloud provider. Here are some general guidelines:
- Traditional business apps already running on VMware and using vSphere for operations management are a natural fit for vCloud. Similarly, Windows Server shops will like Azure, especially since they can soon run their own private Azure infrastructure using Azure Stack.
- VMware or Windows users that don't need seamlessly integrated private-public infrastructure management can use any IaaS for legacy workloads along with third-party management software such as RightScale, Scalr and CliQr. These provide a unified management console, and automate workload management, monitoring and migration across platforms.
- Platform selection for greenfield applications should be driven by developer requirements. This will likely lead you to AWS, Azure PaaS, Google Cloud or OpenStack, plus a PaaS like Bluemix or Cloud Foundry. As the Quizlet example demonstrates, Google works well for highly modular, distributed apps that can exploit its granular billing model, ability to rapidly scale infrastructure and support for app containers and container clusters.
- Specific needs for mobile or IoT back ends are best at AWS or Azure with services tailored to these applications or using a niche MBaaS product, such as Kinvey, Kony, FeedHenry or others.
New public cloud pricing models sweep the enterprise
David Linthicum talks with Joel Davne, founder and CEO at Cloudnexa, about evolving cloud pricing models, as well as other topics, including Amazon Web Services Scheduled Reserved Instances.
As cloud services have become mainstream alternatives for IT infrastructure and applications, the process of selecting a cloud provider is shifting. What might once have been ad hoc, where early-adopter developers and a department credit card set de facto standards for the entire organization, has moved to rigorous, technical and financial analysis befitting any other strategic IT decision.
It pays to be thorough when comparing cloud services, since cloud platforms -- such as databases, enterprise resource planning systems and other core IT infrastructure -- create a lot of "data gravity" and come with a high propensity for lock-in. While it's easy to migrate simple virtualized workloads from one cloud to another, as IT builds processes around a cloud vendor's management features and developers use higher-level application services, it becomes increasingly difficult to migrate wholesale to another provider. That said, organizations should be wary of paralysis by analysis. Cloud vendors make it easy and cheap to try their services without commitment, so there's no reason not to experiment a bit before making a decision.
Why Azure is gaining on AWS
Compare AWS, Azure and Google storage options
Consider these tips when choosing a provider