1
Contents
1 Contents --- 2
2 Introduction --- 3
2.1 CloudBuy and the cloud --- 3
2.2 CloudBuy approach to the Cloud --- 3
3 Technology --- 4
3.1 Cloud Generator --- 4
3.2 Cloud Email 4 Business --- 4
3.3 Platform Generator --- 4
3.4 Platform Generator Performance --- 6
4 Requirements --- 7
4.1 CloudBuy Key Contacts --- 16
2
Introduction
2.1
CloudBuy and the cloud
The cloud was independently created by a number of eCommerce and Software as a
Service (SaaS) companies whose revenues and reputations depended on providing 100%
Security, and Availability to their customers. In the case of the eCommerce companies both
CloudBuy and Amazon derived 100% of their income from online sales, and had carried out
pioneering work into low cost clustering, which is the basis for the modern cloud technology.
Amazon had virtually unlimited cash for their operations and consistently lost significant
sums of money as they built the business.
CloudBuy was created in 1999 by a leading software house @Software PLC, and missed
out on the dot com boom for funding. Thus CloudBuy developed its cloud between 1999
and 2006 with minimal financial resources. This changed with the CloudBuy IPO in 2006,
however the philosophy of high quality software as the solution rather than hardware
remained.
The result is that CloudBuy has developed a cloud application stack that is at least 100x
more efficient than well know web software stacks such as
Linux Apache PHP and MySQL
Oracle Java and
Microsoft IIS, DotNet and SQL server
2.2
CloudBuy approach to the Cloud
CloudBuy has evaluated the major virtualisation environments, and supports most formats of
virtual machines.
VMWare
Xen
KVM and
Hyper V
Because of the improvements in efficiency of CloudBuy’s SiteGenerator CloudBuy has a
significant amount of additional capacity with 90% of database processors turned off and
80% of Web turned off. These spare resource are used to provide Infrastructure as a
Service to customers. However, the approach is not to provide IAAS for an indefinite period
but to use this to assist customer with their migration onto the CloudBuy software platform
and the CloudBuy platform as a service offering.
CloudBuy is able to be extremely cost effective in its IAAS offering with public prices that are
½ Amazon’s spot pricing on the basis that the IAAS service is offered as part of a transition
to the SiteGenerator platform.
3
Technology
3.1
Cloud Generator
The other key difference with most platform as a service offerings is that CloudBuy has both
a Web and an Email software stack and has been running and improving both over the past
12 years.
The focus on both stacks has been on starting with a good secure design, and then
improving the efficiency and adaptability of the systems over the years.
3.2
Cloud Email 4 Business
Supports an unlimited number of servers and expands to meet demand with state of the art
anti spam and filtering technology, along with enterprise features such as search, archive
and discovery.
3.3
Platform Generator
Platform Generator is a unique set of breakthroughs required to deliver both
a rapid application development environment for creating web applications, which is
used to build both platform generator itself and applications such as CloudBuy’s
SiteGenerator eCommerce and eCommerce Marketplace. And
a very high speed secure content delivery system that is 100’s of times faster than
the next best application stack.
The complete separation between content and application creation and delivery makes
security much more straightforward, since there is no avenue of attack through the high
volume content delivery engine.
3.4
Platform Generator Performance
Quotation from a study carried out on behalf of a customer that was migrating from their
mixed environment of php and mysql plus dotNet and MS SQL server, which despite
significant increases in hardware resources was starting to collapse under their global load.
“The difference in performance between the CloudBuy PLC software stack and the current
php/mysql and dotnet/MS SQL server solutions used by XXXXXX is so big that it is not
possible to measure accurately.
CloudBuy PLC has over 1 million users and these are balanced across two virtual machines
that both run at a load average of 0.00. When the spidering load that causes the XXXXXX
systems to collapse is applied the load average increases to 0.02 for a few minutes and then
drops back down to 0.00 once the additional pages are in the memory cache and the
memory usage increases a little.
At the same load for both the XXXXXX php and dot net webservers run at 100% cpu and
stop serving pages, and the database servers also run at 100% cpu.
This means that CloudBuy PLC does not need to charge for infrastructure if the CloudBuy
PLC system is used. The hosts that run the web virtual machines, run email and other
servers as well since the CloudBuy PLC web servers draw almost no load. There is a
similarly minimal load on the database servers since these are only active when the content
changes and to update the custom elements on a page.”
The reason for using a spidering load is that the customers system had a normal naive
caching system that fooled simple benchmarks by sending back frequent pages, but could
not cope with caching all the pages in the site or the use of the site by a large volume of real
users.
The CloudBuy system has intelligent caching so that all content is compressed and only one
copy of each part of the page is held. This means that millions of pages can be fitted into a
gig of memory, and only the element of the page that has changed needs to be updated in
the cache.
* XXXXXX was a customer that ported their application from a mixed platform of php/mysql
and dotNet/MS Sql to the CloudBuy PLC software stack with a performance improvement
that was so large it could not be measured accurately since the load that caused the
XXXXXX system to crash did not register on the CloudBuy system.”
4
Requirements
The following are the G-Gloud Service Definitions, CloudBuy has mapped its services to
these for simplicity.
GPS Requirement CloudBuy Response
Service Definition
This is the minimum set of information that is expected in a service definition (suppliers may choose not to provide these aspects of a service, but do need to be clear in their service definition that they don’t):
CloudBuy provides all the services set out in the G-Cloud Tender including IAAS, PAAS and SAAS. The emphasis is on providing the CloudBuy PAAS platform and migrating IAAS or SAAS services to the CloudBuy PAAS platform since it is significantly more efficient.
An overview of the CloudBuy offering is set out at the beginning of this document, which needs to be read in conjunction with CloudBuy’s “RESTRICTED - Network and Infrastructure Security
An overview of the G-Cloud Service (functional, non functional)
Start of this document
Information assurance – Impact Level (IL) at
which the G-Cloud Service is accredited to hold and process information
System is IL2, seeking IL3 accreditation.
The system can run at higher levels of classification processing protectively marked information up to TOP SECRET level. However, information at a classification of CONFIDENTIAL or above needs to be processed on a list X site. CloudBuy has a number of customers such as Atomic Weapons Establishment Aldermaston that have suitable facilities for handling higher levels of classification. There are restrictions on processing data on these sites e.g. AWE will run projects that are either related to its core mission or on behalf of the MOD.
Details of the level of backup/restore and disaster recovery that will be provided
CloudBuy’s “RESTRICTED - Network and
Infrastructure Security v3.1” provides an
overview of backup/restore and DR facilities. CloudBuy can provide different levels from real time sync across multiple data centres down to lower levels, as basis information is protected across multiple data centres for IL3 and below. IL4 and above requires agreement of multiple sites to provide this level of protection and it may not be appropriate given the classification of the data.
On-boarding and Off-boarding processes/scope etc.
CloudBuy have ported a large number of applications from complex to trivial on to its infrastructure and platforms.
Virtual machines can be loaded easily onto the system. Applications that are being ported to the platform require a project plan and are normally upgraded in functionality as part of the migration. E.g. This summer the Central Universities Purchasing Information Database (CUPID) was migrated on time and budget onto the CloudBuy platform.
Pricing (including unit prices, volume discounts (if any), data extraction etc.)
Pricing is from 1p per hour for infrastructure hosting, and there are normally no infrastructure charges for applications running on the CloudBuy platform since it is over 100x more efficient than other platforms that we have encountered. Service management details
Service constraints (e.g. maintenance windows, level of customisation permitted, schedule for deprecation of functionality/features etc.)
The CloudBuy platform runs with a 100% uptime target and normally achieves over 99.999% uptime.
There are no maintenance windows, since the system is always on, custom apps can be easily built on the platform in which case the functional
changes and rate of change are the
customer/developers responsibility.
CloudBuy applications are normally continuously upgraded and in addition to the continuous development have a quarterly/annual upgrade cycle for major and minor module upgrades. Changes that affect large numbers of users 100,000 plus will normally go through extensive beta testing and the systems may parallel run for a number of years. 3 Years is the longest period of parallel running to date.
Service Levels (e.g. performance, availability, support hours, severity definitions etc.)
Please see the attached support documents. Standard SLA is 99.9% support is 9-5pm with 24 support for system down issues.
Severity Definitions in support docs Financial recompense model for not meeting
service levels
Standard model
Extension of service with a service credit for failure to meet SLA. Never required for Web/Application platform, but best model if 10’s of thousands of customers need to be credited as a result of a failure to meet SLA.
Financial recompense at same level of expected customer loss. Normally only for ecommerce systems with clearly.
Training Training is provided as appropriate to the product
or service being offered at our standard training rates. This can be via WebEx/On Premise/Or at CloudBuy training centre
Ordering and invoicing process Order
Shop on CloudBuy site or electronic Request for Quote to build up requisition.
Electronic order all formats supported
Electronic invoice all formats supported along with pCard for payments.
Termination terms
o By consumers (i.e. consumption)
o By the Supplier (removal of the G-Cloud
Service)
Consumers can purchase on an hourly, daily, monthly or annual basis.
CloudBuy has an option to terminate if a service is discontinued (never used to date) with agreed period for discontinuation of the service.
Data restoration / service migration Virtual machines can be immediately migrated to
new providers. PAAS and SAAS data needs to be exported, and the platform provides in built exports for larger projects and systems bespoke migration plans and continuity structures can be designed and delivered.
Consumer responsibilities
Technical requirements (service dependencies and detailed technical interfaces, e.g. client side requirements, bandwidth/latency requirements etc.)
See “RESTRICTED - Network and
Infrastructure Security” for details, however significant additional resources are available for customers that require these.
Details of any trial service available. All the services are available to trial, this is via
either a free trial or a hourly or longer contract to provide a live service
Data extraction/removal:
Suppliers will provide a “simple” and “quick” exit process to enable consumers to move to a different supplier for each of their G-Cloud Services and/or retrieve their data. Suppliers will commit to providing details of this, clearly and unambiguously in the Service Definition for each service. This will include, but not be limited to: The data standards that will be in use (within the service).
This is provided as part of the agreement with customers and our commitment to the Cloud Industry Forum Code of Practice.
A commitment to returning all consumer generated data (e.g. content, metadata, structure, configuration etc.) and a list of the data that will be available for extraction. Where there is a risk of confusion, data that will not be available for later extraction will also be published.
This is provided as part of the agreement with customers and our commitment to the Cloud Industry Forum Code of Practice.
The formats/standards into which data will be able to be extracted and preferably a list other common services/technologies to which an
This is provided as part of the agreement with customers and our commitment to the Cloud Industry Forum Code of Practice.
export/import mechanism is available.
A price for the extraction of consumer generated data (or the migration to another service provider’s service).
This is provided as part of the agreement with customers and our commitment to the Cloud Industry Forum Code of Practice.
Confirmation that the Supplier will purge and destroy (as defined in security accreditation for different ILs) consumer data from any computers, storage devices and storage media that are to be retained by the Supplier after the end of the subscription period and the subsequent extraction of consumer data (if requested by the consumer).
This is provided as part of the agreement with customers and our commitment to the Cloud Industry Forum Code of Practice.
Data storage and processing locations
All servers/storage will be allocated a ‘locale’. Each locale is a physically separate set of infrastructure, such that a failure in one locale will not affect another locale, nor can any information pass from one locale to another (without the customer choosing to do so). Any one particular data-centre location will contain at least one locale, but is likely to have more. Each locale will have a security classification (i.e. security impact level) identified.
CloudBuy confirms that servers are in ‘locale’ and that customers can choose the ‘locale’ that they wish to hold their data.
The default service for IL3 and below is that data is replicated to a backup datacentre, and for IL4 and above the default is that data is not replicated.
Deployment Models:
Public and private cloud services in a UK government context:
G-Cloud phase 2 definitions:
Public Cloud means Utility Computing that is available to individuals, public and private sector organisations. Public Cloud is often non-geographically specific and can be accessed wherever there is an Internet connection.
Private Cloud means a Utility Computing infrastructure exclusively for the use of one organisation or community.
Hybrid Cloud means a combination of Public and Private Clouds, both remaining separate entities, but with Workload able to migrate between them.
To elaborate:
In addition to these three G-Cloud deployments, the US National Institute of Standards and
technology (NIST) defines another cloud
deployment model: Community cloud . In UK government terms, private and community cloud deployment models refer to the same thing as the G-Cloud programme founding principles dictate that the Public Sector should be treated as one organisation for cloud services. In other words, this means that there will be only one private cloud (possibly per IL) that is able to be accessed
CloudBuy normally provides Public Cloud Services for IL3 and below and Private Cloud Services for IL4 and above.
of this are expected to be delivered by multiple
suppliers/organisations, but they must be
interconnected and available to all, thus creating a single private cloud.
As laid out in the G-Cloud principles that were defined during phase 2, government should utilise the public cloud deployment model as a default position, utilising private cloud only where essential criteria cannot be met by public cloud
delivery model offerings. For example:
Information Assurance criteria might currently drive the use of government accredited data centre services and infrastructure for sole use of
the public sector where services are
processing/storing information at Impact Level 3 and above. However, how our essential criteria are met is expected to evolve as the cloud market innovates and matures, possibly reducing our need for private cloud delivery.
Service Models:
IaaS and PaaS definitions - NIST defines these as follows :
Cloud Infrastructure as a Service (IaaS).
The capability provided to the consumer is to provision processing, storage, networks, and other fundamental computing resources where the consumer is able to deploy and run arbitrary software, which can include operating systems and applications. The consumer does not
manage or control the underlying cloud
infrastructure but has control over operating systems, storage, deployed applications, and possibly limited control of select networking components (e.g., host firewalls).
Cloud Platform as a Service (PaaS).
The capability provided to the consumer is to deploy onto the cloud infrastructure consumer-created or acquired applications consumer-created using programming languages and tools supported by the provider. The consumer does not manage or
control the underlying cloud infrastructure
including network, servers, operating systems, or storage, but has control over the deployed applications and possibly application hosting environment configurations.
Cloud Software as a Service (SaaS)
The capability provided to the consumer is to use the provider’s applications running on a cloud infrastructure. The applications are accessible from various client devices through a thin client interface such as a web browser (e.g., web-based email). The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, storage, or
CloudBuy’s cloud offerings comply with the NIST definintions.
Normally our PAAS offering is using the CloudBuy platform with an IAAS offering to assist customers with migration onto our PAAS platform.
even individual application capabilities, with the
possible exception of limited user-specific
application configuration settings. Cloud Support Services
In addition to the NIST definitions, the G-Cloud requires support services associated with the different cloud service models. These may include services to transfer data/configuration between G-Cloud providers, management and support of applications (workloads) operating on
G-Cloud services, multi supplier service
integration services and cloud strategy and implementation services.
Burst versus elastic resources:
It is worth defining another key attribute of IaaS and PaaS, elastic versus burst resources. The G-Cloud Phase 2 Technical Architecture work strand report provides a detailed description and definition of these and should be referred to when reading this document.
Burst: Computing Resources automatically
expand and contract in response to changes in application workload.
Elastic: resources must be requested by the user, operator or application. “Elastic” differs from burst in that the application or user must request the
additional resources for example via an
Application Programmatic Interface (API).
Elastic and burst resources can be described from a Service Unit view point (i.e. at the level of units which can be purchased and consumed) and also from a technical view point (components within a service unit). For the purposes of the IaaS and PaaS lots, we will be interested in the elasticity and/or burstability of the service both at the level of the units we consume as well as the components thereof. It is fundamental for cloud consumers to understand this aspect of the IaaS and PaaS services being offered.
Suppliers will need to define elasticity versus burstability for services at the level of the chargeable service units offered as well as at the components thereof.
CloudBuy provides multiple options in this area. The technology can provide both Burst and Elastic load management of both IAAS and PAAS systems.
The CloudBuy Platform normally operates in Burst mode, and is normally operating at less than 1% of capacity. This is partly due to a very high scalability design, and the very small size of the virtual machines (less than 2gig).
Load balancers are able to add additional resources in real time.
In normal operation of the CloudBuy PAAS platform infrastructure is not charged for since no customer do date has created anything above a minimal load on the platform.
IAAS often requires elastic or burst performance for customer applications since most mainstream
(php/mysql, dotNet/MSsql or Java/Oracle)
applications stacks have a low tolerance of load and require additional resources to service a reasonable number of users.
Customers can choose elastic or burst, the configuration and pricing depends on the applications which require the performance. Guaranteed and non guaranteed resources:
Within the elastic and burst resource allocation models (above) the concept of guaranteed and non-guaranteed capacity also exists.
Guaranteed: Additional capacity that is reserved when not in use so that it is always available, as and when needed. It is likely that having this capacity reserved will come at a cost.
Guaranteed additional capacity is normally part of the CloudBuy PAAS platform as a service offering.
Other applications need to be benchmarked and then either guaranteed or non-guaranteed resources are offered as required by the customer.
Non Guaranteed: Additional capacity is not reserved and thus not guaranteed, it is available for use by all customers on a “first come first served” basis. This is the predominant model used in the multi tenancy public cloud.
Suppliers will need to define the levels of
guaranteed and non guaranteed resource
capacity included in the services they offer. Persistence of storage
Storage can be defined as persistent or non persistent when related to a virtual compute resource.
Persistent: Storage is allocated/de-allocated
separately to virtual compute instance
allocation/de-allocation. As such data stored in persistent storage will still be available after a virtual compute instance to which it is attached is terminated.
Non Persistent: Storage is inherent to the virtual compute instance and thus any data it contains disappears when the virtual compute instance is terminated.
It is important for consumers to understand the persistence model being offered to ensure that data/configuration is not lost when virtual compute resource is terminated and that creation of additional virtual compute instances is as efficient as possible through applying existing configuration.
Suppliers will need to define the persistence or non persistence of the storage units on offer.
Normally CloudBuy provides Persistent Storage to customers.
Service provisioning:
Suppliers will provide rapid provisioning and de-provisioning for all G-Cloud services. This will include providing full “self service” capabilities for the ordering and provisioning/de-provisioning and cancelling of G-Cloud services.
CloudBuy provides rapid provisioning.
Utilisation monitoring/reporting:
Utilisation reporting will be available at both a consumer level as well as at a Crown level (i.e. aggregate of all consumer organisations, broken down by organisation)
“Real-time” online management information including, usage reporting by unit consumed. This
will include the information required for
consumers and/or the Crown to understand and control consumption e.g. units that are, and are not, being utilised, trends etc.
CloudBuy provides utilisation and
monitoring/reporting for chargeable IAAS and PAAS services.
The CloudBuy PAAS platform normally provides free infrastructure, and provides a performance breakdown in terms of transactions, visits and user tracking rather than CPU usage etc. This is because there is normally minimal CPU, and a few gigs of memory usage, and high bandwidth usage as standard with the platform. (Roughly 1 million pages per gig of memory cache), and 1 vm can saturate a gig link with load dependant on page size.
Data centre(s):
Suppliers will identify either the TIA-942 or the Uptime Institute tier of the data centre(s) used to provide the services. Where tier identification is conducted through self-assessment, this must be clearly noted and the supplier must commit to providing visibility of workings if requested. The EU Code of Conduct for data centre operations (EU CoC) provides a number of best practices which can be applied to data centres regardless of whether they are already in use, undergoing a retrofit process or still being planned. Suppliers will commit to providing visibility of their application of those best practices.
CloudBuy uses Uptime Tier 3 data centres.
The public service normally runs across multiple data centres and thus has a better level of availability than the individual data centres.
The private cloud service runs in customer data centres appropriate to the classification of the data being processed normally IL4 or above, and the customer chooses the Tier of service that they wish to provide.
Network:
The supplier will ensure that G-Cloud Services utilise an assured data transport mechanism, appropriate for the Services and BIL being delivered and aligned to HMG PSN strategy. Suppliers will need to ensure that they have
received approval (against the relevant
requirements/assurance mechanisms) from the network provider for connection of their services (e.g. PSN Compliance).
CloudBuy currently connects to the public internet along with the N3 network (NHS) with a Janet connection in progress.
CloudBuy anticipates in a similar manner to N3 and Janet having multiple connections to the PSN.
It is expected that CloudBuy will initially connect to VPoC’s 14 and 18 (London and Reading) of the PSN.
Use by other suppliers:
Suppliers will commit to make their IaaS/PaaS G-Cloud services available for purchase by third parties who intend to supply services to government so they can offer SaaS or more traditional infrastructure/application delivery (on same or better terms) etc. This is applicable to both the Public and Private cloud delivery models, but probably needs to be emphasised for the Private cloud.
CloudBuy will make their IaaS, PaaS and SaaS
services available to 3rd parties to provide
services both in public and private cloud solutions.
Standard Configurations
Where defined, suppliers will provide pricing for at least one standardised configuration or to identify a “closest fit” from existing offerings. This is to allow government consumers to compare like for like across suppliers. The current standardised configurations are defined below.
IaaS “standardised” configuration is currently defined as follows:
Compute:
Type Value Units Notes
Processor 1 Equivalent of the
Amazon EC2 Compute Unit (ECU) i.e. the
equivalent CPU capacity of a 1.0-1.2 GHz 2007 Opteron or 2007 Xeon processor.
CloudBuy complies with the standard
configurations outlined for IaaS
a current defacto standard.
Memory 1.7-2 GigaBytes
Storage 160 GigaBytes Local non
persistent block storage Storage:
Type Value Units Notes
Size 1 GigaByte Persistent object
storage
Data Durability and Reliability >1 Copies
of data held In logically and physically
separate infrastructure Content Delivery Network:
Type Value Units Notes
Data Transfer Out 1 GigaByte
If multiple regions are available, provide closest (geographically) to the UK.
Service Roadmaps
This should contain notice periods for deprecation of features/functionality, listings of scheduled feature/functionality deprecation and preferably a forward look to new features/functionality or defect resolution that will be introduced.
CloudBuy provides a roadmap that is updated on a quarterly basis.
PaaS Types
Managed components = managed server
components, available individually or grouped together in a configuration defined by the
consumer. Component examples: operating
system, database, application server, web server etc.)
Managed application deployment platform = a pre-configured grouping of components that provides a fully managed environment into which application code can be deployed and executed (e.g. springsource, mod_rails, LAMP etc.).
CloudBuy provides most common PaaS types, and is happy to host custom PaaS for customers, as part of a migration to the CloudBuy PaaS platform.
DotNet/MS Sql Php/MySql Java/Oracle
Are some of the standard PaaS supported along with the CloudBuy PaaS platform.