Heads in the Cloud
by Kay Ewbank
Companies are increasingly looking to the Cloud to provide their computing needs.
HardCopy Issue: 69 | Published: May 31, 2016
Cloud-based computing has an obvious appeal. Someone else buys and manages the hardware, ensuring you have enough storage and making sure it’s secure. You aren’t limited to the resources you’ve got on-site, and there are no problems if you need to expand. You’re also freed from the problems of needing ever better hardware, ever more memory and ever more storage – that’s someone else’s problem.
What’s less obvious is in which direction to go once you decide to move some or all of your computing to the cloud. So let’s take a look at the cloud services on offer from the five top suppliers of cloud services, namely Amazon, Google, Microsoft, Oracle, and VMware. The differing backgrounds of these companies is reflected in what they offer and the way they manage those offerings.
Microsoft’s cloud platform is Azure, a collection of services hosted in data centres managed or supported by Microsoft and located in 22 regions across the world. There are data centres across the USA, Ireland, Netherlands, Hong Kong, Singapore, Japan, Brazil, Australia, India and China. The Irish data centre is located in Dublin on a 19 acre site. It is one of the largest data centres in Europe and has space for further expansion.
UK customers can specify that their data should only be kept within Ireland for data privacy. For redundancy and recovery, you can choose either Locally Redundant Storage (LRS), where the data is stored locally within the users’ primary region, or Geo Redundant Storage (GRS), where data is stored in a secondary region at least 250 miles from the primary region.
For all Internet facing virtual machines that have two or more instances deployed within the same Availability Set, Microsoft guarantees customers will have external connectivity at least 99.95 percent of the time.
Azure consists of a number of different services that are backed up by specific developer services, all of which can be used individually or together. One of the most popular services is Azure Virtual Machines. This service can be used to deploy a Windows Server or Linux image in the cloud. Azure provides a range of pre-defined images consisting of an operating system and a server application such as SQL Server or Oracle database. You can select and use any of these pre-defined images, or you can create your own custom image instead.
To create a virtual machine (VM) you specify which VHD (Virtual Hard Disk) to use and how big the VM should be. You then pay by the minute for the time that the VM is running. You can also upload VHDs containing only data and then access them from your running VMs. If you close down a VM and then restart it, your machine continues from where you left off.
The second key service is Azure SQL Database. This is a cloud-based relational database that shares many of its features with Microsoft SQL Server, but with extras. In straight database terms, Azure SQL Database gives you all the bits you’d expect from a relational database, such as atomic transactions, support for concurrent data access, SQL queries and support for T-SQL. The fact this is Microsoft means you can work with it programmatically using Entity Framework, ADO.NET or JDBC, and it can be administered using SQL Server Management Studio. What makes Azure different from SQL Server is that it manages its own infrastructure, including keeping the database and operating system software updated. It also provides high availability and replication across geographic regions, automatic backups, and time-based restore.
Azure StorSimple is the cloud storage element of Azure. It can be used for primary storage, backup and archive, and offers integrated data protection. When used as an automated archive, cold data is transferred automatically from on-premises to the cloud. It also supports automated cloud snapshots, and can be used to back up data based on software policies.
The other main group of services from Azure form the app services. These are aimed at developers who want to create web and mobile apps that use cloud data. Web Apps provides a managed web environment for applications, and a set of APIs. Apps can be created within Azure or moved onto the service from existing websites. Once running, you can add or remove instances dynamically, and Azure Web Apps will balance requests across them. You can also choose from a shared environment where your website runs in a VM alongside other sites, or a standalone option where your site runs in its own VM. As a developer you can use .NET, PHP, Node.js, Java or Python along with SQL Database and MySQL for relational storage. It also provides built-in support for WordPress, Joomla and Drupal.
Amazon Web Services
Amazon is the market leader in cloud providers with Amazon Web Services (AWS). This is organised into twelve geographical regions, each split into smaller areas called availability zones which are designed to minimise the effects of any server outages. The regions are in the Western and Eastern USA, Brazil, Ireland, Singapore, Japan and Australia. The Service Level Agreement (SLA) states that Amazon EC2 and Amazon EBS (Elastic Block Store) services will each be available at least 99.95 percent of the time during any monthly billing cycle.
You can choose to have Amazon storage in specific locations to meet legal requirements. Cross Region Replication is also offered which automatically replicates data across regions.
The main services that make up AWS are Amazon Elastic Compute Cloud (EC2), Amazon Simple Storage Service (S3), Amazon Relational Database Service (Amazon RDS), Amazon SimpleDB and Amazon Simple Queue Service (Amazon SQS).
Amazon EC2 is a web service that provides resizable virtual private servers in the cloud. You can choose multiple instance types, operating system, and software packages. Supported operating systems are various Linux distributions and Microsoft Windows Server.
Amazon S3 provides a range of storage classes, all on the basis that you pay for the storage you actually use. There is no minimum fee and no setup cost. You can choose different types of storage priced at different levels, from Standard for frequently accessed data, through to Amazon Glacier for long-term archive. You can set policies for managing data so that it will be automatically migrated to the most appropriate storage class without any changes to your applications.
Amazon RDS is one of the more interesting options for running a cloud-based database because you can choose from six database engines including Amazon Aurora, Oracle, Microsoft SQL Server, PostgreSQL, MySQL and MariaDB. Amazon Aurora is Amazon’s own MySQL-compatible database that has been rewritten to be a lot faster than MySQL and to have better security and availability. Whichever database you choose, RDS takes care of database administration.
Alongside the virtual machines, storage and database, Amazon provides more than 70 services under the AWS umbrella including networking, analytics, application services, deployment, management and mobile. These include CloudSearch, which you can use to add customised search into your web apps; ElastiCache which is a fully managed caching service to minimise database load and so offer faster web apps; and RedShift, which is a petabyte-scale data warehouse service for use in data mining applications.
Google Cloud Platform
Google is one of the later entrants to the cloud provider market, but since arriving on the scene it has made available a very attractive set of options. Google Cloud Platform provides hosting and development tools, using the same infrastructure that Google itself uses for services like Google Search. Its data centres are located mainly in the USA, along with Belgium and Taiwan. Google lets you specify where your data should be stored and you can choose either a single specific location or multiple locations to ensure data security. The virtual machine SLA guarantees a monthly uptime percentage of at least 99.95 percent. Google bills in minute-level increments, with a 10-minute minimum charge.
Google Cloud Platform is made up of a number of products, starting with Google Compute Engine. This can be used to create and run virtual machines ranging from single instances to global, load-balanced setups. You can choose from a wide range of preconfigured designs up to instances with 32 virtual processors or 208GB of memory. You can also create your own custom machine types. The supported operating systems are various Linux distributions or Windows Server. You can also use a shared image from the Cloud Platform community, or bring your own.
Google Cloud Storage is the storage element of the platform. This comes in three versions, namely Standard, DRA (Durable Reduced Availability) and Nearline. Standard is the fastest and most durable, and offers the highest availability at 99.9 percent. It is designed for data that requires low latency access or that is frequently accessed, and is more expensive than the other versions. DRA Storage is designed for uses such as data backup or batch jobs. It offers similar performance and durability to Standard, but only guarantees 99 percent availability. The third option, Nearline storage, is set up to offer low-cost, highly durable storage for archiving, backup and disaster recovery.
In the database area, Google has some interesting options. Google Cloud SQL offers a fully managed MySQL database that provides traditional RDBMS within the Google Cloud infrastructure, but there are also several NoSQL and big data options that draw on Google’s experience in managing massive amounts of data. These services start with Google Cloud Bigtable, a fully managed NoSQL database service that is massively scalable and fast, aimed at web and mobile apps that have terabytes to petabytes of data. There’s also Google Cloud Dataproc if you need Hadoop and Apache Spark services for big data processing.
Non-relational data can be stored and managed in Google Cloud Datastore, a fully managed, highly available NoSQL data management option that has a REST API. Data processing and analysis is taken care of by Google BigQuery. This lets you use SQL-like queries on multi-terabyte data sets, while Google Cloud Dataflow is a data processing service that you can use for analytics and real-time computing.
For developers, Google App Engine provides a sand-boxed environment for developing scalable web apps. It can also be used to create the back-end of apps aimed at mobile users. Developers get all the built-in services and APIs, including NoSQL datastores, memcache for caching web apps, and user authentication. App Engine also takes care of scaling your app automatically as traffic increases, and is licensed on a pay-per-use basis.
VMware’s cloud products are interesting because they can be used to create public, private and hybrid clouds, all running on VMware vSphere. vSphere is a suite of cloud computing tools that make use of the bare-metal hypervisor VMware ESXi. Private and hybrid clouds can be attractive to many companies because they let you choose which data and applications are hosted on hardware outside your control, and which are hosted in-house.
VMware’s vCloud Suite is what you would use to build and run a vSphere-based private cloud. This consists of vSphere, which you use to create a virtualisation platform, together with networking and security tools, a self-service application catalogue, an operations manager, software provisioning and automated disaster recovery.
VMware’s hybrid cloud product is vCloud Air, and for companies who are already running VMware vCloud, using it is just a matter of altering where your applications and data are located – nothing else needs to change. The SLA for vCloud Air is 99.99 percent for a dedicated cloud, and 99.95 percent for a virtual private cloud. It is supported by data centres in the USA, UK, Germany, Japan and Australia, and there’s an option to replicate across data centres for data protection and disaster recovery.
If you want the benefits of a remote cloud without the worry of sharing it with other companies, then VMware also offers vCloud Air Dedicated Cloud. This is a physically isolated platform dedicated to the needs of the customer. As with VMware’s other cloud offerings, you get a dedicated cloud management stack. The only difference is that your data and apps are completely isolated from those of other companies.
What’s good about both versions of vCloud Air is that the vCloud Networking and Security infrastructure that is part of the private cloud software is used to create a seamless network incorporating both the local data infrastructure and the public part of the cloud in the remote data centre. Workloads can be located locally or remotely, and swapped to and fro without any changes having to be made to the configurations that support the workload.
The important thing about VMware clouds is that they are concerned purely with the infrastructure. What operating systems you choose, and what applications you decide to develop and run on them, is up to you. VMware does a great job in giving you the infrastructure on which to base your services, but it isn’t in that market itself.
Oracle has never lacked recognition for the strengths of its database, but its cloud presence has a lower profile than rivals such as Amazon and Microsoft. However Oracle is keen to gain market share and has recently made announcements that offer a number of options.
Oracle has data centres in the USA, UK, Australia, Japan, Canada, Brazil, Mexico, Germany and Singapore, though some are run for Oracle by data centre company Equinix. The SLA for the cloud platform is a target system availability level of 99.5 percent of the production service over a period of one calendar month. Oracle lets you set geo-replication policies, specifying a primary data centre that hosts your service instance as well as a geographically distant geo-replication data centre. Data that you write is replicated automatically but asynchronously to the geo-replication data centre.
The company’s cloud offerings start with Oracle Compute Cloud Service. This lets you launch and manage virtual machines running operating systems of your choice. The service offers virtual machines in ‘shapes’ that define the number of Oracle Compute Units (OCPUs) and the amount of RAM available for a VM. An OCPU provides CPU capacity equivalent to one physical core of an Intel Xeon processor with hyper-threading enabled. Machine images are available for Oracle Linux, Ubuntu, Debian and Windows Server.
Oracle Storage Cloud Service offers secure public cloud storage for unstructured data that is accessible from any device connected to the Internet. Applications can access Oracle Storage Cloud Service programmatically by using either an OpenStack Swift-compatible REST API or a Java API. Role-based access control is strong, and there’s good handling of large files.
So far, Oracle’s cloud facilities are similar to those of the other companies covered in this article. However the Platform-as-a-Service offerings are more complex with tools for developers, databases, applications and middleware. For many companies, access to Oracle Database will be the major draw.
Oracle offers this as Database-as-a-Service, giving you a dedicated virtual machine for running an Oracle Database instance, with a choice of Oracle Database 11g or 12c. Setup is easy with a wizard guiding you through pre-defined configuration options. You can then access the database using Oracle SQL*Net, use the Oracle Application Express browser-based application development environment, and administer as normal using SYSDBA access. There are specific cloud tools for operations such as automated backup and recovery.
There’s an alternative Database Schema Service that gives you one schema on Oracle Database 11g with a choice of 5, 20 or 50GB of database storage, and you also get Oracle Application Express. This option does not offer SQL*Net, but data can be accessed using RESTful web services.
There’s also an Exadata service. Oracle Exadata combines high specification hardware with Oracle Database, and the cloud version offers the same hardware with the server, storage and networking infrastructure managed by Oracle.
In addition to the Oracle Database options on offer, Oracle has services for NoSQL and Big Data, as well as a Business Intelligence service.