CENG 390

Cloud Computing

This course provides a hands-on comprehensive study of Cloud concepts, the history and fundamentals of cloud computing across various cloud service models including IaaS, SaaS, PaaS, including requirements, constraints, architecture, principals, areas of implementation, advantages/disadvantages and comparison to hybrid and local architectures. PaaS topics covers a range of Cloud platforms such as Google App Engine, Amazon Web Services(AWS), Microsoft Azure and others. Topics include the design, development and implementation of cloud based mobile applications, web applications, databases and systems as well as migrating existing software applications to the cloud, working on hybrid solutions. Course offers wide range of case studies of globally recognized technology startups, products and brands which are built on cloud platforms and analyze and review them in terms of technology, operations, finance, branding and business plan aspects.

Course Objectives

To introduce cloud concepts, principals and evolution of cloud computing paradigm. To develop mobile application, web application and software development & programming skills on cloud architecture and cloud platforms. To discuss and understand parallel processing, storage, security, scalability, management issues and benefits of the cloud services and architecture.

Recommended or Required Reading

K. Hwang, G. Fox and J. Dongarra, Distributed and Cloud Computing: From Parallel Processing to the Internet of Things, Elsevier, 2012

Learning Outcomes

Be able to explain the fundamental concepts of cloud computing

Understand the advantages and disadvantages of cloud computing systems and be able to use tools on cloud platforms

When developing an application or system, be able to determine and decide on the appropriate platform and configuration by understanding non-functional requirements and considering aspects such as cost, performance, suitability, and security

Be able to design and implement mobile or web applications that run on PaaS platforms such as Amazon Web Services, Microsoft Azure, and Google App Engine

Be able to analyze and monitor applications built on cloud systems and optimize the system according to changing requirements

Be able to productize, brand, and commercialize software developed on cloud systems by establishing it as a company and launching it to the market

Topics
Introduction to Cloud Computing
Service Models (SaaS, PaaS, IaaS)
Cloud Computing Components
Cloud Systems Models (public, private, hybrid)
Public Cloud: AWS, Google App Engine, MS Azure
Data Storage, Processing, Access & security
In-House vs Cloud Strategy & Planning
Scalable Cloud Database Architectures – SQL, NoSql, Hadoop
Migrating to the Cloud Architecture
Big Data & Data Science
Mini Lab – Developing and Deploying Apps on Cloud Platforms
Global Startups, Cloud Applications and Entrepreneurship
Enterprise Cloud-Based High Performance Computing (HPC) Applications
Global Cloud Strategy for Apps and Businesses