Week 1: Introduction to Cloud Computing
Object
An encapsulation of a data structure, and the methods or operations to access those structures
4 Cloud Computing Obstacles
* Quality of provided service to end users * Vendor Lock-in * Data Confidentiality and Auditability * In-house personal implications
Evolution in Computing Software
- Changes in the design philosophy for engineering computing software - Process-Oriented Architecture * Programs are functionally decomposed into processes, that act upon shared data * Data structure are complex and large
4 Key Aspects of Utility Computing
- Computing resources can be requested and provided to any one on demand - Seamless up-scale and down-scaling of resources from the utility providers - Low or no initial set-up costs - Pay-as-you -go resource usage
6 Key parameters of Cloud Computing
- Pooled computing resources - Elastic scaling of resources - Virtualisation of resources - Pay-as-you-go or Metered resource usage - Resource delivery over the internet - Automation of new resource deployment and deprovisioning
Advantages of Cloud Computing
- Reduction in business costs * CapEx to OpEx * Cheaper OpEx costs * Reduction of space usage * Huge reduction in time and man-power - Technology to Core Business Shift * Enables organisations to focus on core-business activities * Gain competitive advantage by focusing on core-business activities
Object-Oriented Architecture
- Reflection of the real world comprising of objects or entities - Objects communicate with each other by passing messages
Evolution of Computing Harware
- Single stand-alone machine (1950s) - Commercial Mainframes (1960s) - Personal Computers (1980s) * 1990s - World Wide Web
Utility Computing
- The notion that computing resources can be organised and distributed as a utility - "fifth utility" for human beings
Service-Oriented Architectures
- The software application is construed as bein organised of "software services (components)" - A software service can be "invoked" to deliver its functionality
Grid Computing
- late 1990s - "knitting" of autonomous computing resources - Harnessing the power of the web for solving complex problems that cannot be solved by a single computer
NIST Definition of Cloud Computing
A model for enabling convenient, on-demand network access to a shared pool of configurable computing resources that can be rapidly provisioned and released with minimal management effort or service provider interaction
Software Service
A piece of code that provides a given (well defined) functionality e.g. Authentication, Registration, Billing, etc.