Course Description

Cloud Computing requires a degree of cognitive shift on the part of technologists working on designing solutions for the Cloud. This two day class provides students with a frame of reference of needed concepts, means and techniques that will enable them to make informed decisions when designing solutions for the Cloud. This hands-on workshop includes 9 labs, 4 of which use OpenStack to illustrate the main aspects of the IaaS platform.

Topics include:

  • Cloud Reference Model
  • Designing Cloud Solutions
  • Cloud Design Best Practices
  • Security in the Cloud
  • Cloud Governance
  • Cloud SLAs



2 days


Target Audience

Information Technology Architects, Developers, and Business Analysts


Course Prerequisites

Foundation Knowledge in Cloud Computing.

If you have any questions or doubts as to whether you meet the pre-requisites for this course, or indeed are wondering which course best suits you, please consult with us to discuss your suitability for course attendance.


Suggested Follow on Courses

There are a number of options of suitable follow-on courses, depending on your business needs. Please Contact Us for further details.


Course Content

Chapter 1. Cloud Reference Model

The Need for a Cloud Reference Model

Cloud Reference Model

Cloud Infrastructure

Cloud Infrastructure – Virtual Machines

A Bootable OS Image

Defining a “Compute Unit”

Instance Templates (Flavors)

Launching an Instance in OpenStack

Block Storage for Instances

Cloud Infrastructure – Cloud Object Storage

Additional Data Storage Options

Cloud Multi-Tenancy Model

Common Characteristics of Multi-tenant Applications (1/2)

Common Characteristics of Multi-tenant Applications (2/2)

The PaaS Platform

Google App Engine (GAE) PaaS Overview

GAE’s Stats

Google Cloud Storage

The SaaS Platform

Cloud Service Model Implementations

Google Compute Engine’s Simplified Architecture

Google Cloud Platform


Chapter 2. Cloud Services

Defining Cloud Services

User-Cloud Interaction

Cloud Service Characteristics

The Typical Cloud Services

Application Services

Messaging Application Service

Email Application Service

Cache Application Service

Specialized Application Services

AWS Analytics Systems

Google App Engine (GAE) MapReduce Service

Use Cases for MapReduce Jobs

Integration Platform as a Service (IPaaS)

Storage Services

Object Storage

Archive Storage

Relational Storage

NoSQL Storage

Some AWS Storage Services

Data Warehouses in the Cloud

Cloud Utility Services

Scalability and HA of Your Applications in the Cloud

The Auto-scaling Service

Monitoring Services

Configuring Instance Health Check in AWS

Amazon Web Services Integration Diagram

Google App Engine (GAE) Services Integration Diagram

Microsoft Azure Services

Comparing Cloud Service Stacks


Chapter 3. Cloud Development

Common Pitfalls for Cloud Developers

Ephemeral Storage?

Cloud Development Stacks

AWS Toolkit for Eclipse

AWS Explorer

AWS Toolkit for Visual Studio

Creating Services for Google

Testing Google Cloud Services

Consuming Google Services


Chapter 4. Cloud Design Strategies

Implications of Vendor Lock-In

Dealing with Vendor-specific Service API

Know Your Cloud Application’s Needs

Data Physics

Cloud Design Strategies

Designing for Scalability

Designing for Cloud Availability

Designing for Failure

Designing for Cloud Security

Designing for Cloud Security – OWASP 10

Designing for Cloud Security – OWASP 10 (Cont’d)

Designing for Cloud Security – Multi-Factor Security

Stepping Across Site Silos

Stepping Across Site Silos – the SAML Protocol

Stepping Across Site Silos – t

he OpenID Protocol

SAML vs OpenID

History of OAuth

Stepping Across Site Silos – OAuth

Selecting the Right Storage


Designing for Cloud Management

Designing for Cloud Maintainability

Other Considerations

Designing for Cloud Service Reuse

Designing for Cloud Service Reuse (Cont’d)

Designing for Cloud Agility

Designing for Cloud Usability

Additional Usability Considerations 


Chapter 5. Adopting Your Very Own Cloud

What Drives Cloud Adoption?

What May Go to the Cloud?

Capacity Planning

Critical Run-time and Storage Parameters

The Cloud Adoption Stages (Example)

Getting to the Cloud (Example Road Map)

Pre-Cloud Stages

Cloud Stages

Cloud Stages (Cont’d)

Cloud Adoption Steps

Identify your business drivers (Step #1)

Get Educated (Step #2)

Get Educated (Things to Avoid … )

Articulate a Value Proposition (Step #3)

Define one or more scenarios (Step #4)

Produce a Road Map (Step #5)

Gain Stakeholder Buy-in (Step #6)

Establish Governance (Step #7)

Invest in Infrastructure (Step #8)

Cloud Pilot (Step #9)

Scoping the Pilot Project

Pilot Project Scope (Cont’d)

Enterprise Roll-out (Step #10)

Start Small and Grow Incrementally

Amazon WS Technical Lessons When Moving To the Cloud

Hype Cycle and Technology Adoption Model

Chapter 6. Designing Cloud Solutions

Getting Started …

Analyzing Cloud Requirements

“Good/Not-so-Good” Use Cases for the Cloud

Design the Cloud Service Interface

Designing for Cloud Non-Functional Requirements

Practical Observations and Rules

Analysis and Design (A&D) Best Practices

A&D Best Practices – Prototyping

A&D Best Practices – System Partitioning

A&D Best Practices – Leveraging Cloud Platform Services

A&D Best Practices –

Using Asynchronous Communication Patterns

MOM to the Rescue

A&D Best Practices – Preempt Possible Data Corruption

A&D Best Practices –


A&D Best Practices – Staying Hands-On

Be Aware of the CAP Theorem Constraints

The CAP Triangle

Cloud Layering

Cloud Layering Overview

Content Services

Separate Static Content from Dynamic Content

Logic Services

Orchestration in the Cloud

Creating Services for OpenStack

Creating Services for OpenStack (Cont’d)

Creating Applications for OpenStack

Testing OpenStack Solutions

Consuming OpenStack Solutions

Utility – Security Services

Out-of-the-Box Security Service Example

Layering Example – 1/5

Layering Example – 2/5

Layering Example – 3/5

Layering Example – 4/5

Layering Example – 5/5

Architecting for HA in AWS (Same Data Center)

Architecting for HA in AWS (Different AZs)

Handling Error Messages in the Cloud


Chapter 7. Designing Cloud Web UIs

Main User Interface Types

Other User Interface Types

Primary UI Considerations

Additional UI Considerations

Real-time Considerations

Social Network Considerations

Cloud Client and Web User UIs

Data Transportation Considerations

Emerging Standard – the WebSocket Protocol

Mashups in the Cloud

Review – 1 / 2

Review – 2 / 2


Chapter 8. Cloud Security

The Heartbleed OpenSSL Bug

A Notable Breach (a Spear-phishing Attack Example)

Cloud Vendor Security Certifications

Google Compute Engine Data Security

Cloud Access Security Features

Security of Cloud Vendor Networks

Insecure Interfaces

Top Threats for Cloud Computing

The Common Cloud Security Concerns

Authorization and Data Access Constraints

Cloud Security Domains

The CIAs of Security

Access Control: Physical Security

Access Control: Authentication & Authorization

Federated Identity Management

Access Control: Auditing

Identity Management

AWS Identity and Access Management Service

Security in the Google Cloud

GAE Cloud Security Module

Application Security

Application Multi-Layer Security Design

Access Control List Extensions

Information and Data Security

Data-at-rest Security

Amazon S3 Security

Amazon S3 Security (Cont.)

Network Security

Operational Security

DevOps Security Concerns

Chapter 9. Cloud Standards

What Exactly Are We Standardizing?

Standardizing on a Definition

Why Standardize?

Simple Concept, Difficult Implementation

Perspective #1 – Turf Wars

Perspective #1 – Turf Wars (Cont.)

Turf Wars

Turf Wars (Cont.)

Turf Wars

Other Groups Defining Standards

Recent Progress

Perspective #2 – Let the Market Decide

Standardization is Restrictive not Creative

Fostering Creativity

Survival of the Fittest

OpenStack Foundation Model

Perspective #3 – The Simple View

Standards to Date

OCCI Details

OCCI Client Handshake

OCCI Server Response…

OCCI Server Response (cont.)

OCCI Cloud Infrastructure Categories

Best Practices for Working with Cloud Standards: Building Cloud Solutions Today

Advice #1 – Build on Proven Standards

Advice #2 – Focus on Solid Design

Advice #3 – Good Standards Take Time


Chapter 10. Cloud Governance

IT Governance

IT Governance (Cont’d)

Unmanaged Clouds

Defining Cloud Governance

Defining Cloud Governance (Cont’d)

An Internal Service Registry and Repository

IBM WebSphere Service Registry and Repository (Example)

Cloud Risks to Consider

Top Cloud Computing Consumer Risks

Top Cloud Computing Provider Risks

Risk Mitigation

Governance and Risk Mitigation

Cloud Governance Model

Roles and Responsibilities

Policies and Procedures

Governing Cloud Services

Business alignment

Asset Ownership

Contract-driven Services

Contract-driven Services (Cont’d)

Agile IT in the Cloud

The Cloud Systems Checklist

Capacity Planning Concepts and Challenges

Governance Best Practices

Governance Best Practices (Cont’d)

Governance Gotchas


Chapter 11. Cloud SLAs

What is an SLA?

Two SLA Management Phases

Some SLA Parameters

The Importance of Cloud SLAs

Amazon Storage SLAs

Understanding your SLA

Example of Google Infrastructure Failure Rates

Assess Consequences for Your Business

Characteristics of a Service Quality Metric

Service Quality Metrics

SLA Monitoring Components



See more Cloud Computing courses