Cloud Computing Design Patterns

Authors: Thomas Erl, Robert Cope and Amin Naserpour 
Publisher: Prentice Hall
Pages: 592
ISBN: 978-0133858563
Print: 0133858561
Kindle: B001IGOVVY
Aimed at: Cloud system implementers
Rating: 4
Reviewed by: Kay Ewbank

The problem with cloud services, according to the authors of this book, is that they’re too easy to set up...

This means they’re put into service without enough consideration to the dangers inherent on the Web, or the difficulties of creating a cloud system that works in real life.

 

This is a book mainly drawn from content from Cloud Certified Professional courses developed by Arcitura Education, and its aim is to provide a catalog of design patterns that show how particular problems can be solved or requirements met. The design patterns are templates showing how to solve particular problems. The easiest way to illustrate this is with an example. Suppose you want to set up direct I/O access to a database, and that your problem is ‘how can a virtual server overcome data transfer capacity thresholds imposed by its surrounding virtualization environment?’ Each pattern starts by describing a problem or requirements such as this one. The solution is then described (let the virtual server circumvent the hypervisor and directly access the physical server’s I/O port). You’re then given a description of how this can be achieved, and how the hardware should be configured to achieve it. Diagrams are used to show the design, and the pattern ends with a set of mechanisms that are used in the design. In the case above, mechanisms include a logical network perimeter that ensures that the allocated physical I/O cloud doesn’t allow any cloud consumers to access other cloud consumers’ IT resources.  

Banner
 

The book has around 100 templates, all following the layout of problem, solution, application and the mechanisms used to solve the problem. The first chapter of patterns covers sharing, scaling and elasticity, with topics including workload distribution, elastic resource and network capacity, and load balancing.

The next chapter’s topic is reliability, resiliency and recovery patterns. Templates in this look at problems such as hypervisor clustering, dynamic failure detection and recovery, and non-disruptive service relocation.

The chapter on data management and storage device patterns takes different types of access, increasing in complexity from direct I/O through LUN, single root I/O virtualization, up to cloud storage and RAID-based data placement. There are several cloud storage templates, and this seemed a useful chapter.

 

ccdespats

 

Virtual server and hypervisor connectivity and management are next on the agenda, with templates covering virtual server connectivity isolation, NAT connectivity, server-to-host affinity and anti-affinity, all the way through to stateless hypervisors.

The need to monitor, provision and administer cloud systems is the topic of the next chapter, with templates for real time resource availability, platform provisioning, self-provisioning and automated automation.  

The authors then move on to Cloud Service and Storage Security, with templates for geotagging, hypervisor protection, trusted cloud resource pools, mobile BYOD security, and cloud data breach protection among others. Network Security, Identity and Access Management is the next topic. There were some interesting templates in this chapter, such as cloud denial-of-service protection, traffic hijacking protection, and federated cloud authentication.

The final chapter covers Common Compound Patterns, where several earlier templates are combined to form an entire system – software as a service, infrastructure as a service, multitenant environment, and a variety of burst out and burst in patterns.

I found this an interesting book, but I think its relevance would only be truly understood by people actually setting up cloud systems. It is strictly vendor neutral, which sounds good but means you don’t know which particular hypervisor (say) the authors would recommend. On the whole, if you need to configure cloud systems, it would be a useful read.  

Banner
 


Functional Programming in C#, 2nd Ed (Manning)

Author: Enrico Buonanno
Publisher: Manning
Date: February 2022
Pages: 448
ISBN: 978-1617299827
Print: 1617299820
Kindle: B09P1Z2PPB
Audience: C# developers
Rating: 5
Reviewer: Mike James
Is C# a good language for functional programming?



Data Structures & Algorithms in Python

Author: Dr. John Canning, Alan Broder and Robert Lafore
Publisher: Addison-Wesley
Date: October 2022
Pages: 928
ISBN:978-0134855684
Print: 013485568X
Kindle: B0B1WJF1K9
Audience: Python developers
Rating: 4
Reviewer: Mike James
Data structures in Python - a good idea!


More Reviews

Last Updated ( Tuesday, 25 August 2015 )