CLOUD PROGRAMMING WORKSHOP – GTC5
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).
Information Technology Developers and Architects
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.
Please contact us for further details.
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.
- Objectives [Already Exists]
- Cloud Computing Stack [Already Exists]
- Cloud Infrastructure
- Cloud Storage
- Cloud Platform
- Cloud Services
- Cloud Applications
- Categorizing Clouds [Already Exists]
- Scoping Clouds [Already Exists]
- Cloud Types [Already Exists]
- Cloud Roles [Already Exists]
- Cloud Solution Stacks
- Solution Stack – Cloud Desktop
- Solution Stack – Cloud Software
- Solution Stack – Cloud Service
- Solution Stack – Cloud Processing
- Solution Stack – Cloud Storage
- 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.
- Cloud Application Services
- Cloud Business Services
- Composite Cloud Services
- Cloud Security Services
- Cloud Data Services
- 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?
- Cloud Development Life Cycle
- Requirements Discovery
- Analysis & Design
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.
- Implementing Cloud Services
- Building Composite Solutions
- Creating Services for Amazon
- Testing Amazon Cloud Services
- Deploying Amazon Services
- Consuming Amazon Services
- Creating Services for Google
- Testing Google Cloud Services
- Deploying Google Services
- 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.
- Perspectives on Cloud Standards [Already Exists]
- Cloud Standards Turf War [Already Exists]
- Interface Standards
- Messaging Standards
- Networking Standards
- Platform Standards
- 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).
- User Interface Types
- User Interface Considerations
- Cloud Desktop UI
- Cloud Web UI
- Mashups in the Cloud
- Handling Error Messages in the Cloud
- 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?
- Service Interface Elements
- Data Model Design Considerations
- Service Interface Standards
- Service Interface Examples
- Granularity Considerations
- Interface Version Management
- 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?
- Cloud Testing Overview
- Layered Testing
- Phase Testing
- Unit Testing Cloud Solutions
- Integration Testing Cloud Solutions
- Exception-based Testing
- Black box and White box testing
- Interoperability Testing in the Cloud
- 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.
- Security in the Amazon Cloud
- Working with the AWS Cloud ID Service
- AWS Security Example
- Security in the Google Cloud
- Working with the Google Developer ID
- Google App Engine Security Example