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 |
