Start-up Estate Agency Shares the 5 Lessons It Learned From a Year of Cloud Computing
A recent Computer Weekly article gave an insight into some of the real-life lessons that a start-up business learned after its first year of cloud computing. The subject in the case of the original article was the Purplebricks.com estate agency. Here is a summary of the 5 lessons:
Lesson 1 - Message Queuing is very useful but can be “fiddly”.
Message queuing is essentially a protocol that means that messages / tasks created by the ‘producer’ are sent are stored and queued until the receiver / ‘consumer’ retrieves or processes them. The sender and receiver therefore don’t have to interact with the message queue at the same time.
These kinds of interfaces / message brokering services allow different applications running at different times to communicate across many different types of networks and systems. Jobs are queued until resources become available to process them and in the meantime the rest of the system stays responsive so that other work can be carried out at the same time. In short:
There are lower costs - traditional overheads associated with operating in-house messaging infrastructures are removed.
There is greater leverage of the whole system. Resources like storage, network, memory and processing capacity can be leveraged.
It is scalable. The virtually unlimited cloud resources mean that the message queuing services provide an internet-scale messaging platform. As a project grows, your capacity to deal with it grows too.
It is simpler and there is better integration. Using the cloud in this way simplifies access to messaging resources and facilitates integration efforts in organisations and between them.
Lesson 2 - You Can Reduce Costs By Optimising.
The example in this case was Microsoft Azure but as with other cloud services if you use the resources poorly you can be penalised by being charged more. This means that there is a negative financial incentive to make sure that you get the performance of the application right. As you’re scaling up and improving the way in which you use your cloud services you can optimise things by setting alerts and auto-scaling correctly so that the cloud powers up extra resources when needed, thus minimising costs.
Lesson 3 - Learn about New Features and Learn From Problems.
The cloud is a constantly evolving platform with new features being regularly released. It is best therefore to keep up to date with these new features as much as possible. When problems occur in the cloud such as outage e.g. with Windows Azure or Amazon EC2/S3 a root cause report is published by suppliers. Studying the report is one way that you can learn why things have gone wrong, and become more familiar with the system. You can also share the root cause analysis with your customers e.g. on how you plan to prevent it from happening again. Make sure that the learning is shared among all relevant members of your team.
Lesson 4 - Make Sure You Log Things.
To facilitate your organisation’s learning about working in the cloud make sure that all the information you collect about what went wrong or what worked well is logged. Think too about how you will recover from a fault when you build an application. A lot can be learned from a new application with real users.
Lesson 5 - Be Prepared For The Possibility of Failure.
Even though it is tempting to believe that the cloud will not fail at any time the reality is that there can and have been failures even with well managed clouds. Your cloud provider will provide the platform and the tools but it is ultimately your responsibility to accept that failure is a possibility and to plan and implement your own fail-over system.