CLOUD PROGRAMMING WORKSHOP – GTC5

Course Description

Cloud Computing is gaining increasing attention within enterprises of all shapes and sizes, but few technologists actually have hands-on experience building Cloud solutions.  Taking standard software applications, databases, and user interfaces and deploying them in a Cloud environment is a recipe for disaster.  The Cloud is a different animal, requiring different skills and expertise to be successful.

This two day workshop introduces a Cloud Reference Model and explores various aspects of Cloud solution development.  Special attention is given to cloud programming standards and development best practices.  Upon completion of this course, students will have an understanding of the Cloud Computing environment and practical experience in designing, developing, and deploying Cloud-based solutions.

This hands-on workshop consists of 50% hands-on labs in an actual Cloud Computing development environment, and 50% lecture and discussion.  Students should have some hands-on experience developing software using any object-oriented programming language.  All labs are developed using the Java Programming Language and supporting Application Programming Interfaces (API).

^^

Duration

2 days

^^

Target Audience

Information Technology Developers and Architects

^^

Course Prerequisites

Foundational Knowledge in Cloud Computing, such as is provided by our Cloud Computing Primer (GTC2) and / or Cloud Computing Workshop (GTC3)

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

Please contact us for further details.

^^

Course Content

1. CLOUD REFERENCE MODEL

This section aims to describe a comprehensive view of all the things that fall into a cloud context.  Several examples of cloud need to be articulated to describe how the cloud stack manifests itself in different contexts.

  1. Objectives [Already Exists]
  2. Cloud Computing Stack [Already Exists]
  3. Cloud Infrastructure
  4. Cloud Storage
  5. Cloud Platform
  6. Cloud Services
  7. Cloud Applications
  8. Categorizing Clouds [Already Exists]
  9. Scoping Clouds [Already Exists]
  10. Cloud Types [Already Exists]
  11. Cloud Roles [Already Exists]
  12. Cloud Solution Stacks
  13. Solution Stack – Cloud Desktop
  14. Solution Stack – Cloud Software
  15. Solution Stack – Cloud Service
  16. Solution Stack – Cloud Processing
  17. Solution Stack – Cloud Storage
  18. Summary [Already Exists]

2. CLOUD LAYERING

Much like we talk about in an SOA context, this section should articulate the various flavors of cloud service, what they are, and how they fit together.

  1. Cloud Application Services
  2. Cloud Business Services
  3. Composite Cloud Services
  4. Cloud Security Services
  5. Cloud Data Services
  6. Orchestration in the Cloud

3. CLOUD DEVELOPMENT LIFE CYCLE

What should a developer think about differently when designing / building / testing / etc. for the cloud?  How should the standard development life cycle shift to accommodate cloud-centric considerations?

  1. Cloud Development Life Cycle
  2. Requirements Discovery
  3. Analysis & Design
  4. Development
  5. Testing
  6. Deployment
  7. Monitoring
  8. Retirement

4. DEVELOPMENT

Work through a basic tutorial-style steps to demonstrate building / deploying / consuming cloud services in the Amazon and Google clouds.  Finish up with a compare / contrast at the end.

  1. Implementing Cloud Services
  2. Building Composite Solutions
  3. Creating Services for Amazon
  4. Testing Amazon Cloud Services
  5. Deploying Amazon Services
  6. Consuming Amazon Services
  7. Creating Services for Google
  8. Testing Google Cloud Services
  9. Deploying Google Services
  10. Consuming Google Services

5. CLOUD PROGRAMMING STANDARDS

Describe the state of standards and elaborate on the SOA and Web 2.0 standards that come input play as well as the handful of unique Cloud standards.

  1. Perspectives on Cloud Standards [Already Exists]
  2. Cloud Standards Turf War [Already Exists]
  3. Interface Standards
  4. Messaging Standards
  5. Networking Standards
  6. Platform Standards
  7. Security Standards

6. PROGRAMMING CLOUD USER INTERFACES

The cloud can be accessed through multiple mechanisms.  This module demonstrates the ubiquitous nature of the cloud.  Students are taught how the cloud can be accessed via desktop / mobile app, web, and through mashups (a variation on web).

  1. User Interface Types
  2. User Interface Considerations
  3. Cloud Desktop UI
  4. Cloud Web UI
  5. Mashups in the Cloud
  6. Handling Error Messages in the Cloud
  7. Cloud Consumption Best Practices

7. PROGRAMMING CLOUD SERVICE INTERFACES

Leverage standard SOA strategies and apply them to programming cloud interfaces.  What are the key considerations in properly designing and programming cloud service interfaces?

  1. Service Interface Elements
  2. Data Model Design Considerations
  3. Service Interface Standards
  4. Service Interface Examples
  5. Granularity Considerations
  6. Interface Version Management
  7. Service Interface Design Best Practices

8. TESTING CLOUD APPLICATIONS

Basics of testing cloud apps.  What are the risks?  What are the opportunities?  How does it change testing?  What is still the same as compared to traditional testing strategies?

  1. Cloud Testing Overview
  2. Layered Testing
  3. Phase Testing
  4. Unit Testing Cloud Solutions
  5. Integration Testing Cloud Solutions
  6. Exception-based Testing
  7. Black box and White box testing
  8. Interoperability Testing in the Cloud
  9. Testing Best Practices

9. SECURING CLOUD APPLICATIONS

Everyone is terrified about security in the cloud.  Let’s put those fears to rest and also provide some concrete demonstrations of providing security with Amazon AWS and also with Google App Engine.

  1. Security in the Amazon Cloud
  2. Working with the AWS Cloud ID Service
  3. AWS Security Example
  4. Security in the Google Cloud
  5. Working with the Google Developer ID
  6. Google App Engine Security Example

^^

See more Internet Technologies courses