Module 1, Part 1: Introduction to Cloud Computing Services
Course Information and Objectives
Course Identification: - Year: - Subject: Cloud Computing Services () - Class: BE Semester () - Module: , Part - Instructor: Dr Manoj K Sabnis
Course Objectives: - 1.1 Fundamentals: Understand the fundamentals of Cloud Computing including its components, deployment models, service models, and characteristics. - 1.2 Service Models: Explore and analyze cloud service models such as , , and , along with emerging services under the (Anything as a Service) umbrella. - 1.3 Practical Implementation: Gain practical knowledge of and Serverless Computing, including architectural components and serverless functions using . - 1.4 Ecosystems and Integration: Comprehend the structure and role of cloud ecosystems, , and third-party services integration within cloud environments. - 1.5 Security: Understand cloud security challenges and solutions, including Identity and Access Management (), encryption, audit, and risk mitigation techniques relevant to cloud platforms.
Evaluation Scheme
Examination Breakdown: - End Semester Exam: marks. - Midterm Test: marks. - Continuous Assessment: marks.
Continuous Assessment Details: - Module 1 + Module 2: marks (Case study: design of one secondary service). - Module 3 + Module 4: marks (Assignment). - Module 5: marks (Case study: design of cloud security solutions). - Total Assessment: marks.
Evolution of Service Modules: From Single Services to Applications
Single Service Module Architecture: - Structure: Initially, a single program consists of input, code, and output as a single module. - Processing: Small modules run on small machines but are centralized for small-level processing. - Security (Single Service): Object-level programming separates code and data. The user provides data input and receives processed output, while the business logic (code) remains hidden. - Scaling: Large modules require single servers with higher processing power for single medium processing types.
Capacity Planning for Single Modules: - Analysis: Determined by resource requirements (Software and Hardware). - Parameters: Size, cost, availability, robustness, performance, and accuracy. - Reliability Metrics: - : Mean Time To Repair. - : Mean Time Between Failure. - Aim: Selection of hardware and software based on a cost-effective and efficient solution.
Client-Server Models and Security
- Basic Security Model: Client-server models rely on object-oriented programming to process code on the server side while maintaining request-response interactions on the client side.
- Client Types: - Thick Client: Possesses memory and limited processing; allows input to be preprocessed before being sent to the server. - Thin Client: Only sends requests and receives responses; possesses no memory for storage. - Mobile Client: Moves with the user, small size, low processing power, more presentable interface, and uses a special Operating System ().
- Definition of Service Module: A set of inputs processed by code to produce a required output or set of outputs.
Current Scenarios: Service Domains to Enterprise Applications
- Service Progression: - Service: A set of inputs and outputs. - Service Domains: Groups of like services (e.g., Financial, Business, Entertainment). - Application: A collection of different service types/domains. - Enterprise Level Application: Multiple service domains integrated at a high level.
- Implementation Considerations: - Deployment: Can be central or distributed, impacting hardware and software layout. - Scalability: Enterprise applications must be horizontal and vertical scalable in terms of resources. - Business Aspect (Capacity Planning): Profit involves ensuring Resource Provisioning is less than () Resource Requirement through management strategies.
Stakeholder Management and System Design
- Management Planning Phases: Requirements, Design, Implementation, Testing, Evaluation, and Feedback.
- Resource Budgeting (Demand vs. Provisioning): - Status: Resources Required () Resources Provisioned. - Critical Resources: Storage (Space), Processing (Compute), and Communication (Bandwidth).
- Data Challenges: - Data Explosion: Massive volumes of varied data types. - Volatility: Data useful today may be useless tomorrow (runtime applications). - Temporal Data: Analysis of past, present, and predicted (tomorrow) data.
- Information Life Cycle (): Identify, Acquire, Migrate, Archive, and Destroy.
- Compliance: Establishment of rules and security for hardware, software, and human resources (rules).
Human Resources and Strategic Roles
- Top Management: Decision-making team.
- Managers: Database () managers, store managers, and network managers who control activities.
- Implementation Team: Designers, engineers, and network administrators.
- Vendors: Provide hardware and software.
- Service Providers: Offer tailor-made services based on user requirements.
- Brokers: Act as contact persons between parties.
- Consumers: End-users of the services.
Wide Enterprise Level Business Application Requirements
- Compute Power (): - Front-end: User-facing dynamic for queries and visualized data analysis; includes hardware like interactive screens and user-interface software. - Main Processing: Central or distributed high-speed parallel processing servers. - Back-end: Database management and data archiving. - Supporting Features: Load balancing, security, and administration.
- Space for Storage: - Physical Layers: (Front-end), Hard disks (Middle), and Tape drives (Back-end). - Software: Storage management and security software. - Management: Backup facilities, data recovery, protection, and user authentication.
- Bandwidth for Communication: - Software: Various communication protocols. - Hardware: Networking/internetworking devices for , , and infrastructures.
Transitioning to Cloud Service Models
- The Ownership Problem: Owning infrastructure requires high initial investment, significant time/energy for procurement, security maintenance, and server administration.
- The Cloud Solution: - Managed by a Service Provider instead of the developer. - Developer focuses solely on application development. - Resources are provided as needed (Power, storage, bandwidth). - Billing: Pay-per-use basis.
Infrastructure as a Service ()
- Definition: Infrastructure ready-made and customized on rent on a pay-per-use basis. It is the first basic service provided by the cloud.
- Standard Cloud Components: - Interconnection of Nodes: Networks divided into manageable , , and . - Internetworking Devices: Routers and Gateways. - Networking Devices: Hubs, repeaters, and switches. - Nodes: Processing, storage, and end-user nodes.
- Provisioning Process: 1. User lists requirements (processing power, storage space, bandwidth). 2. Requirements are sent to the provider. 3. Provider performs a requirement survey and drafts to design plans. 4. User evaluates and selects one plan. 5. A Service Level Agreement () is drafted, detailing resources, budget, payment methods, and timelines.
- Configurations: Standalone, Centralized, Distributed, Grid Computing, and Utility Computing. - Utility Computing: A business model where users use hardware/software and receive "utility tokens" for usage, benefiting future use and locking in existing users.
Platform as a Service ()
- Requirement: Software development platform, testing, debugging, evaluation, deployment, and interfacing software.
- Problem: Licensing for specialized development platforms is expensive, and tools often are only needed once.
- Solution: Developer provides requirements and timelines; the provider offers the platform and technical support.
- Definition: Softwares and licenses are the provider's responsibility; the developer rents them and pays per use.
Software as a Service ()
- Requirement: Deployment, reaching users, feedback implementation, scalability, and security.
- Solution: Cloud provider handles application deployment, security, advertising, updates, billing, and accounting.
- Goal: Allows the researcher/developer to focus on development rather than administrative and technical support tasks.
Cloud Service Categories
- Primary Services: - : Hardware infrastructure. - : Developing platforms and testing software. - : Application delivery and feedback management.
- Secondary Services: Developer-made applications hosted on the cloud that become services themselves. - Examples: Database as a Service, Storage as a Service, Security as a Service, Integration as a Service, Collaboration as a Service, Backup as a Service, Disaster Recovery as a Service.
Core Features of Cloud Computing
- Standardization: Use of standard hardware and software to ensure "plug and play" compatibility and fewer interfacing issues.
- Automation: Minimal human intervention to control widespread points, reducing human errors.
- Abstraction: Hiding implementation details. Users see the power/storage but not the layout of the physical machines or network.
- Virtualization: Provides stakeholders with the specific view they need. - Types: Virtual Disk ( views), Virtual , Virtual Network (), and Virtual Memory.
Stakeholders and Functions Table
| Stakeholder | Function | Requirement/Feature |
|---|---|---|
| Cloud Owner/Manager | Manage cloud, Capacity planning | Resource provisioning |
| Cloud Administrator | Billing, control, network/server admin | Feature implementation |
| Vendors | Supply hardware and software resources | Standardization |
| Service Provider | Takes user requirements to vendors | Virtualization |
| App Developers | Use cloud resources to build apps () | Virtualization |
| End User | Uses hosted applications () | Virtualization |
Advantages of Cloud Computing
- 12.1 On-demand Services: Services are available based on user request regardless of current provider stock.
- 12.2 Broad Network Access: Multiple networks allow for scaling of communication channels.
- 12.3 Resource Pooling: Dynamic allocation and deallocation; resources are never idle and are reassigned based on timeline need.
- 12.4 Rapid Elasticity: Support for upscaling and downscaling (Horizontal and Vertical).
- 12.5 Measured Service: Usage is measured, audited, and reported.
- 12.6 Lower Cost: Cost reduction strategies for processing and storage.
- 12.7 Vendor Independence: Standardization and modular architecture reduce lock-in.
- 12.8 Ease of Utilization: Supports Bring Your Own Device ().
- 12.9 Latest Updates: Document sharing ensures only the final updated copy is accessible from any location.
- 12.10 Single Sign-On (): Users log in once and move across networks without re-authentication.
- 12.11 Pay-per-use: Payment is strictly based on the duration of usage (e.g., booked for days but used for , pay for ).
- 12.12 No Human Intervention: Avoids human errors through automated control.
- 12.13 Trust and Faith: Established through the .
- 12.14 Comprehensive Security: Coverage for data, information, network, and infrastructure.
- 12.15 Layered/Modular Approach: Modules can be added or removed as needed.
- 12.16 Multitenancy: Efficient resource relocation (e.g., User 1's freed resource is given to User 2, potentially lowering User 1's bill).
Disadvantages of Cloud Computing
- Downtime: Significant risk as businesses depend entirely on internet access.
- Vendor Agreement: Potential difficulty in shifting platforms once dependent on a specific vendor.
- Limited Control: Users have little freedom; resources are provider-controlled.
- Security Risks: Sensitive data is managed by third parties; unresolved or unused nodes are vulnerable.
- Internet Dependency: The internet is the absolute backbone of the infrastructure.
- Cost for Providers: While low cost for users, providing high-quality , , and is expensive for the provider.
- Technical Issues: Complexities arising from distributed infrastructure.
Deployment Models
- Private Cloud: Dedicated to a single organization (Primary + Secondary services).
- Public Cloud: Services available to the public; accessed over the internet.
- Community Cloud: Shared by multiple organizations with common concerns (Shared storage/servers).
- Hybrid Cloud: Integrates Public and Private clouds. Access to authorized persons for private sections while allowing public access to others.
The Cloud Cube Model
- Definition: A four-dimensional model used for designing cloud deployment strategies.
- Dimensions: - 1. Physical Location: Data kept internal or external to the organization. - 2. Ownership: Proprietary vs. Open (Technology, software, vendors, interoperability). - 3. Security Boundary: Perimeterized (inside) vs. De-perimeterized (outside). - 4. Resource Location: Onsite (within the company) or Outsource (external).