- Cloud Computing: From Beginning to End
- Cloud Technology: virtualization, Containers, load balancers,
- Cloud Security: availability, data protection, isolation, trust.
- Migration Methodology (how to migrate apps to the cloud).
- Cloud Computing: Concepts, Technology & Architecture <-Interesting
- Fundamentals, mechanisms, architecture and metrics.
- Distributed and Cloud Computing: From Parallel Processing to the Internet of Things
- Models and Enabling Technologies
- Cloud and DataCenter architectures
- SOA for distributed computing.
- Cloud programming
- Grid, P2P and IoT
- Bad reviews!
- Cloud Computing: A Hands-On Approach <- Interesting
- Characteristics, models and services examples
- Chapter 2 seems useful about cloud concepts and technologies (virtualization, load balancing, scalability, deployment replication, SDN, etc).
- Type of services and platforms.
- Multiple examples
- Building Cloud Apps with Microsoft Azure
- Cloud Computing: Automating the Virtualized Data Center
- Book from CISCO seems interesting but not sure how biased would it be.
- Cloud Computing Design Patterns <-Interesting
- Sharing Scaling and Elasticity
- Reliability, resiliency, and recovery
- Data Management
- Virtualized environment and hypervisor
- Monitoring, provisioning, and administrative patterns.
- Cloud Computing: Theory and Practice <- May be interesting
- Cloud Resource virtualization
- Management and Scheduling
- Parallel and distributed algorithms.
- Mastering Cloud Computing: Foundations and Applications Programming
- Foundations (Parallel and Distributed Computing, virtualization, Architecture)
- Framework for building cloud computing applications -> Aneka (.NET based)
- Concurrent, High-throughput, data intensive computing.
- advanced topics-> Federated clouds, market-based management, energy efficiency.
- Cloud Computing Networking: Theory, Practice, and Development <- Interesting for networks
- Cloud Architecture Patterns: Using Microsoft Azure
- Talks about patterns for programming distributed systems in the cloud.
- Software Defined Networks: A Comprehensive Approach
- Useful description of SDN
- Many topics are covered.
Software Defined Networks (SDN)
This project has an individual component and one in teams of 2-3persons.
For this project, you will design, implement, and thoroughly test a software defined network (SDN) for a distributed server that is going to serve a variety of services, from regular HTTP web pages to real-time applications such as sensor streaming and video players. The network has to support protocols such as TCP/IP and UDP simultaneously.
The project would be done a part in the class workshops and a part outside of the class.
Your project grade will be based on the quality of your report, on the usefulness of the system you’ve built, on the extent to which your design is a good fit for the problem you’re solving, and the quality of the code submitted.
This project mainly consists of four modules:
- Research – Individual
- Implementation of a topology using mininet. – Individual
- Implementation of static and dynamic rules using OpenFlow. – Individual
- Simulation and measurements of the previous two steps using real hardware. -Group
- Design, implement and test a network for a data center that fulfills the requirements given. – Group
Tools that may be handy
iperf, wireshark, tc, cbench, and ovs-ofctl
Week by Week
Your code should comply with the given headers and code structure, a significant part of your grade is going to be from automatic grading, if your code does not meet the requirements a zero would be given for the corresponding section. Tests will be provided for you to verify that your code has the required structure.
What to Hand In (Final submission)
- A report with all the contents exposed in the previous sections, following the template from ACM SIG.
- The code for the topology implementation.
- The code for the OpenFlow implementation
- The code for your final system.
- Any test cases used to test your system with the corresponding Makefile.
All the files have to be submitted using the directory structure obtained from T-Square and compress to tar.gz format.
- General Benefits and Architecture
- Business Drivers
- Cloud Service Models (PaaS, IaaS, SaaS)
- Main players in the Field
- Overview of Security Issues
- Microsoft Azure
- DataCenter Architecture
- Resource Management
- Automated provisioning
- Virtualization basics
- Virtualization, hypervisor
- VM management example
- Physical data center network topology and fault-tolerance
- Network virtualization
- Software defined networking
- Congestion control and traffic engineering
- Inter-data center networks
- Filesystems and Data Storage
- Distributed FileSystems
- Programming frameworks and software
- Pig Latin
- Sensor Networks and Stream Processing
- Scalability, performance characterization and benchmarking
Additional interesting topics that may or not be covered
- Operating Systems (Mesos, Akaros, Arrakis)
- Distributed Algorithms
- Overlay Networks
- Consensus (Quorum)
- Coordination (ZooKeeper)
- RealTime cloud -> Reference
- Faults and failures
- Iterative processing (pregel, spark, etc)+
- Web Development and Cloud applications
- RestFUL API’s
- Trending areas
- Disaster and failure recovery.
- Mobile Cloud computing.
- IEEE and this
- CMU and this
- Cornell <-Useful
- NYU and here
- Columbia <- Useful
- Illinois: UC and here and here
- John Hopkins
- Paper about the implementation of the cloud computing class in CMU
Good references for other universities here
Good introductory referency by Berkeley