In a software release life cycle, there are several stages from the moment a product, service or even a new feature for existing service is announced, until the product is released and available to all customers.
When working with cloud services, there are various services with a similar release life cycle.
In this post we will review the main differences between services that are in the development phase and services that are generally available for all customers.
Prior to releasing a new service to customers, or even new features for existing services, cloud service providers conduct tests with a small amount of customers.
The tests are meant to check the stability, and more importantly, to receive feedback from customers.
Early product release are usually called alpha, beta, preview-release, etc.
In many cases, in-order to get access to a service or product in the preview or beta phase, we need to register and ask the cloud provider for access to the specific service, in most cases, this will be limited to certain regions – such as East Coast of the US or the West Coast.
When the development and testing phases end, the deployment phase for all regions begins and the product or service enters the into GA (General Availability) stage.
Who should use services under development?
Cutting edge companies, such as startups, with demand for new services or new capabilities, might take advantage of the fact that certain services are not available for all customers, in-order to be ahead of their competitors, or in-order to become design partners, assisting in the development of new features and new capabilities.
Disadvantages of using services that are under development
It is important to understand that services in development stages have many disadvantages compared to services generally available:
· SLA – There is no service level commitment from the cloud provider
· Support – There is no support commitment from the cloud provider
· Geographic availability – Services in early development stages are usually only available in certain regions, which might cause problems in terms of data transfer outside country borders or latency in terms of large amount of data transfer to/from the cloud
· Deployment release dates – The developers do not commit to service availability dates for all customers in all regions
· Service capabilities – The product groups do not commit that the final release will be identical to the early development releases in terms of capabilities or even the same API code
· Pricing model – It is extremely challenging to receive pricing model or even costs of early stage developments. It is common to consume such services without extra cost during the development stages, but once the product or service is generally available, the service cost might affect the organization’s ability or even willingness to pay for the services
Publications in cloud providers blogs about new services currently under early release stages (Beta, Preview, etc.), might indicate a certain technological roadmap. We are used to reading a lot of announcements like these during annual conferences.
It is important to understand that services in early release stages are not meant for all customers.
My recommendation – wait until certain service reaches general availability in all regions, or at least in the regions your organization currently has customers or active environments, before you begin deployment in a production environment. This way you will be able to minimize unnecessary service disruption, commitment issues from the cloud provider’s side, availability issues, and potential headaches.
· AWS Service Terms - Betas and Previews
· GCP Product launch stages