We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 53
Unit 3
Cloud Architecture, Services and
Storages • Infrastructure as a Service (IaaS) - The capability provided to the consumer is to provision processing, storage, networks, and other fundamental computing resources where the consumer is able to deploy and run arbitrary software, which can include operating systems and applications. • The consumer does not manage or control the underlying cloud infrastructure but has control over operating systems, storage, deployed applications, and possibly limited control of select networking components (e.g., host firewalls). (Source: NIST CC Definition) Key Components of IaaS: • Physical Infrastructure: – Data Center: A physical facility housing servers, storage devices, and networking equipment. • Virtualization Layer: – Hypervisor: Software that creates and manages virtual machines (VMs). – Virtual Machines: Software-based simulations of physical servers. • Resource Pool: – Computing Resources: CPUs, RAM, and storage. – Networking Resources: Virtual networks and IP addresses. • User Interface: – Dashboard: A web-based interface to manage and monitor resources. Benefits of Using IaaS: • Cost-Effectiveness: Pay only for the resources you consume, avoiding upfront costs of hardware and software. • Scalability: Easily scale your infrastructure up or down to meet changing demands. • Reliability: IaaS providers offer high availability and disaster recovery solutions to ensure business continuity. • Flexibility: Customize your infrastructure to fit your specific needs. • Focus on Core Business: Spend less time managing infrastructure and more time on your core business. Popular IaaS Providers: • Amazon Web Services (AWS): Offers a wide range of IaaS services, including EC2 (Elastic Compute Cloud), S3 (Simple Storage Service), and VPC (Virtual Private Cloud). • Microsoft Azure: Provides a comprehensive cloud platform with IaaS services like Virtual Machines, Storage Accounts, and Virtual Networks. • Google Cloud Platform (GCP): Offers scalable and reliable IaaS services, including Compute Engine, Storage, and Virtual Private Cloud. Disadvantages of IaaS: • Dependency on Providers: Users rely heavily on the cloud provider. • Security Concerns: Data stored on the cloud may face potential security risks. • Complex Management: Requires expertise to manage and optimize resources. • Downtime Risks: Service outages from providers may impact operations. Applications of IaaS: • Hosting websites and applications. • Data storage and backup. • Running test and development environments. • High-performance computing tasks. • Platform as a Service (PaaS) - The capability provided to the consumer is to deploy onto the cloud infrastructure consumer-created or acquired applications created using programming languages and tools supported by the provider. • The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, or storage, but has control over the deployed applications and possibly application hosting environment configurations. (Source: NIST CC Definition) Components of PaaS: • Application Development Frameworks: Tools like .NET, Java, or Python for faster coding. • Middleware: Software for application integration and communication. • Database Management: Built-in databases for data storage and management. • Runtime Environment: Pre-configured operating systems and runtime environments. • Deployment Tools: Simplified deployment and scaling mechanisms. Benefits of Using PaaS: • Focus on Application Development: Developers can concentrate on coding without worrying about infrastructure. • Faster Time to Market: Rapidly build, test, and deploy applications. • Scalability: Easily scale applications to handle increasing workloads. • Cost-Effectiveness: Pay-as-you-go pricing model. • Collaboration: Seamlessly collaborate with team members. Popular PaaS Providers: • Heroku: A popular platform for deploying web and mobile applications. • Google App Engine: A platform for building scalable web applications. • Microsoft Azure App Service: A comprehensive platform for building and deploying web and mobile apps. • AWS Elastic Beanstalk: A fully managed platform for deploying and scaling web applications. Applications of PaaS: • Developing web and mobile applications. • Hosting APIs and microservices. • Collaborative software development projects. • Automating deployment pipelines. • Software as a Service (SaaS) - The capability provided to the consumer is to use the provider’s applications running on a cloud infrastructure. The applications are accessible from various client devices through a thin client interface such as a web browser (e.g., web-based email). • The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, storage, or even individual application capabilities, with the possible exception of limited user-specific application configuration settings. (Source: NIST CC Definition) • Software as a Service (SaaS) is a cloud computing model that provides software applications over the internet on a subscription or pay-per-use basis. Users can access these applications through a web browser without installing or maintaining them locally. Key Components of SaaS: • Application Layer: The software application itself, accessible via a web browser. • Data Layer: Stores and manages the data associated with the application. • Infrastructure Layer: Underlies the application and data layer, providing the necessary hardware and software. Benefits of Using SaaS : • Accessibility: Access applications from anywhere with an internet connection. • Cost-Effectiveness: Pay a subscription fee, eliminating upfront costs. • Automatic Updates: Software is automatically updated, ensuring the latest features and security patches. • Reduced IT Overhead: No need to manage software installations and updates. • Enhanced Collaboration: Facilitate teamwork and real-time collaboration. Popular SaaS Applications: • Google Workspace: Includes email, document editing, and cloud storage. • Microsoft 365: Offers productivity tools like Word, Excel, PowerPoint, and Outlook. • Salesforce: A CRM platform for managing customer relationships. • Zoom: A video conferencing and collaboration tool. • Dropbox: Cloud storage and file-sharing service. Applications of SaaS: • Email services (e.g., Gmail). • Office tools (e.g., Microsoft 365). • Customer relationship management (CRM) platforms. • Project management tools (e.g., Trello, Asana). • What is Cloud Storage? • Cloud storage is a technology that allows you to store and access your data over the internet. Instead of saving files on your local device, you store them on remote servers maintained by a cloud service provider. This provider is responsible for ensuring the security, availability, and scalability of your data. • Cloud storage delivers a cost-effective, scalable alternative to storing files on premises (or offline) on hard disk drives or storage networks. Computer hard disk drives can only store a finite amount of data. When users run out of storage, they need to transfer files to an external storage device. Features : • Scalability: Storage capacity can be increased or decreased based on user needs. • Accessibility: Data can be accessed anytime, from anywhere, using the internet. • Data Redundancy: Ensures data availability through replication across multiple servers. • Pay-As-You-Go: Users only pay for the storage they consume. • Security: Includes encryption and authentication mechanisms to protect data. • How Does Cloud Storage Work? • Data Upload: You upload your files to the cloud storage provider's servers through their website or mobile app. • Data Storage: The provider stores your data on multiple servers in different locations for redundancy and disaster recovery. • Data Access: You can access your files from any device with an internet connection. Types of cloud storage There are three main cloud storage types, each offering its own advantages. • File storage • Block storage • Object storage 1. File Storage File storage organizes and stores data in a hierarchical structure using directories and files, much like traditional file systems in a local computer. • Files are stored with metadata (name, size, file type). • Accessible via network protocols like NFS (Network File System) or SMB (Server Message Block). • Used for shared storage, allowing multiple users to access files concurrently. Applications: • File sharing and collaboration. • Media content storage for images, videos, and audio files. • Backup and archival systems. Advantages: • Easy to understand and implement. • Ideal for use cases requiring file-level access. Disadvantages: • Limited scalability for massive datasets. • Performance can degrade with high data volume. 2. Block Storage Block storage breaks data into fixed-sized chunks (blocks) and stores them separately. Each block has a unique identifier, and applications assemble blocks when accessing data. • Provides low-latency and high-performance storage. • Commonly used with virtual machines and databases. • Accessible via protocols like iSCSI (Internet Small Computer System Interface) or Fibre Channel. Applications: • Databases that require high IOPS (Input/Output Operations Per Second). • Virtual machine (VM) storage. • Enterprise applications needing low latency. Advantages: • Highly scalable and efficient for structured workloads. • Provides flexibility to format storage as needed. Disadvantages: • Does not manage metadata, requiring applications to handle it. • More complex to implement than file storage. 3. Object Storage Object storage stores data as objects, where each object includes the data, metadata, and a unique identifier. This storage system is flat, unlike the hierarchical structure of file storage. • Data is stored in a flat namespace across multiple distributed systems. • Accessible using RESTful APIs like Amazon S3 API. • Ideal for unstructured data like images, videos, and logs. Applications: • Big data analytics. • Content distribution and streaming. • Backup and archival solutions. Advantages: • Highly scalable and cost-effective. • Optimized for storing massive amounts of unstructured data. Disadvantages: • Higher latency compared to block storage. • Not suitable for traditional database applications. Benefits of Cloud Storage : • Accessibility: Access your files from anywhere, anytime, on any device. • Security: Cloud providers employ advanced security measures to protect your data. • Backup and Recovery: Automatic backup and easy recovery of lost or deleted files. • Collaboration: Share files and collaborate with classmates and professors. • Cost-Effective: Pay only for the storage you need, without the upfront cost of hardware. Disadvantages of Cloud Storage: • Internet Dependency: Requires a stable internet connection for access. • Security Concerns: Data stored in the cloud may be vulnerable to cyber threats. • Data Transfer Costs: Large data uploads/downloads may incur additional costs. • Downtime Risks: Service outages from providers may impact data access. Examples of Cloud Storage Providers: • Google Drive: Personal and collaborative file storage. • Amazon S3: Scalable object storage for developers and businesses. • Microsoft OneDrive: File storage with integration into Microsoft Office. Applications of Cloud Storage: • Backup and disaster recovery. • Data sharing and collaboration. • Hosting multimedia content. • Storing IoT-generated data. • Storage as a Service (StaaS) is a way for organizations to manage storage capacity and workloads without the overhead costs associated with storage hardware and software or staff time. Organizations subscribe to virtual storage services and simply access and use a vendor’s infrastructure on demand. • Advantages of STaaS : • Accessibility: – Remote Access: Students can access their files from anywhere with an internet connection, making it convenient for collaborative projects and off-campus learning. – Device Independence: Data can be accessed from various devices like laptops, smartphones, and tablets. • Scalability: – Dynamic Storage: Students can easily scale their storage capacity as needed, accommodating growing project requirements or data accumulation. – Cost-Effective: Pay only for the storage used, avoiding upfront costs associated with traditional storage solutions. • Data Security: – Robust Security: Cloud storage providers implement advanced security measures to protect data from unauthorized access, loss, or damage. – Regular Backups: Automatic backups ensure data integrity and facilitate disaster recovery. • Collaboration: – Shared Access: Students can collaborate on projects by sharing files and folders with classmates or professors. – Real-time Updates: Changes made to files are instantly reflected for all collaborators. • Cost-Efficiency: – Reduced Hardware Costs: No need to invest in expensive storage devices or servers. – Lower Maintenance Costs: Cloud providers handle maintenance and updates. • Public Cloud - The cloud infrastructure is made available to the general public or a large industry group and is owned by an organization selling cloud services. • A public cloud is a cloud computing environment where resources like servers, storage, and networking are shared among multiple organizations. These resources are delivered over the internet, allowing users to access them on a pay-per-use basis. Key Features: • Shared Infrastructure: Resources like servers and storage are shared among users. • Accessibility: Services are accessible to the public over the internet. • Cost-Effective: Users pay only for the resources they consume. • High Scalability: Ideal for fluctuating workloads and scaling needs. • Security: Cloud providers implement robust security measures to protect data. Benefits of Public Clouds: • Cost-Effective: Pay only for the resources you use, eliminating upfront hardware and software costs. • Scalability: Easily scale resources to meet project demands. • Accessibility: Access resources from anywhere with an internet connection. • Reliability: Cloud providers ensure high availability and disaster recovery. • Focus on Core Competencies: Spend less time managing infrastructure and more time on application development and innovation. Disadvantages: • Security concerns due to shared infrastructure. • Limited customization options. Examples: • Amazon Web Services (AWS). • Microsoft Azure. • Google Cloud Platform (GCP). • Private Cloud - The cloud infrastructure is operated solely for an organization. It may be managed by the organization or a third party and may exist on premise or off premise. • A private cloud is a cloud computing environment dedicated to a single organization. It provides a secure and customizable platform for hosting applications and storing data. • It offers enhanced control, security, and privacy as the resources are not shared with other users. Key Characteristics of Private Clouds: • Dedicated Infrastructure: The infrastructure is exclusively for the organization. • High Security: Strict control over data and security. • Customization: Tailored to specific organizational needs. • Higher Costs: Requires significant upfront investment in hardware and software. Benefits of Private Clouds : • Enhanced Security: Strict control over data and security. • Customization: Tailor the cloud environment to specific needs. • Compliance: Adherence to industry regulations and compliance standards. • Predictable Performance: Consistent performance and reliability. Deployment Models of Private Clouds: • On-Premises: Cloud infrastructure is hosted within the organization's data center. • Off-Premises: Cloud infrastructure is hosted by a third-party provider. Disadvantages: • Expensive to set up and maintain. • Limited scalability compared to public cloud. • Examples: • On-premise private cloud environments. • VMware vSphere-based private cloud. Hybrid cloud: • A hybrid cloud combines the benefits of both public and private clouds, allowing organizations to use both environments seamlessly. It enables data and application sharing between the two. Key Characteristics of Hybrid Clouds: • Combined Infrastructure: Uses both public and private cloud resources. • Flexibility: Enables organizations to leverage the best of both worlds. • Data Portability: Easy migration of data between public and private clouds. • Complex Management: Requires careful planning and management. Benefits of Hybrid Clouds for : • Cost-Effectiveness: Optimize costs by using the most appropriate cloud model for different workloads. • Scalability: Easily scale resources up or down to meet changing demands. • Security: Maintain strict control over sensitive data while leveraging the scalability of public clouds. • Flexibility: Adapt to evolving business needs and technological advancements. Use Cases of Hybrid Clouds: • Disaster Recovery: Using a public cloud as a backup for critical applications. • Bursting: Shifting workloads to a public cloud during peak demand. • Data Archiving: Storing historical data in a cost-effective public cloud. • Hybrid Applications: Deploying applications with components running on both public and private clouds. • Examples:AWS Outposts (integrates AWS with on-premise), Microsoft Azure Stack. Architectural Design Challenges in Cloud Computing: • Scalability: Designing systems to handle increasing workloads dynamically without performance degradation. • Resource Management: Efficient allocation, provisioning, and utilization of resources across a distributed environment. • Interoperability: Ensuring compatibility among various cloud platforms and applications for seamless integration. • Security: Addressing risks related to data breaches, unauthorized access, and compliance with regulations. • Reliability: Building fault-tolerant systems that ensure continuous availability even in case of failures. • Performance Optimization: Minimizing latency and ensuring high throughput for better user experience. • Cost Efficiency: Balancing performance and scalability while keeping operational costs low. • Data Management: Ensuring proper storage, transfer, and consistency of data across multiple locations. • Energy Efficiency: Reducing power consumption in data centers to address environmental concerns. • Customization: Designing architectures that cater to diverse requirements of users and applications. Cloud storage providers : Cloud storage providers offer a wide range of solutions to store and manage data in the cloud. Here are some of the leading providers: Major Cloud Providers • Amazon Web Services (AWS) S3 • Microsoft Azure Storage • Google Cloud Storage AWS • Launch Year: Launched in 2006, AWS holds the largest market share in cloud computing. • Core Strengths: AWS is known for its extensive range of services, global reach, and maturity in the market. • Storage Options: Offers storage solutions like Amazon S3, Elastic Block Store (EBS), and Glacier for backups and archiving. • Compute Services: Includes Elastic Compute Cloud (EC2) for virtual servers and Lambda for serverless computing. • Pricing Model: Follows a pay-as-you-go model with reserved pricing options for discounts. • Machine Learning: Provides tools for AI and ML applications. • Networking: Features Virtual Private Cloud (VPC) and Direct Connect for secure networking. • Data Centers: Operates the most extensive global network of data centers for high availability. • Target Audience: Suited for all industries, from startups to large enterprises. • Free Tier: Offers a 12-month free tier with limited services. Microsoft Azure • Launch Year: Launched in 2010, Azure is the second-largest cloud provider. • Core Strengths: Known for hybrid cloud solutions and seamless integration with Microsoft tools like Windows and Office 365. • Storage Options: Includes Azure Blob, Disk Storage, and File Storage for diverse needs. • Compute Services: Provides Virtual Machines (VMs) and Azure Functions for serverless computing. • Pricing Model: Pay-as-you-go model with hybrid benefits for users of Windows licenses. • Machine Learning: Features Azure AI and Cognitive Services for advanced AI capabilities. • Networking: Includes Virtual Network and ExpressRoute for private and secure connections. • Data Centers: Extensive global presence, catering especially to enterprise-level requirements. • Target Audience: Designed primarily for enterprise users and hybrid cloud setups. • Free Tier: Includes a 12-month free tier and some always-free services. Google Cloud Platform • Launch Year: Launched in 2008, Google Cloud has a growing market share. • Core Strengths: Excels in big data, artificial intelligence (AI), and machine learning (ML) solutions. • Storage Options: Provides Google Cloud Storage and Persistent Disks for scalable and secure data storage. • Compute Services: Includes Compute Engine for VMs and Kubernetes Engine for containerized workloads. • Pricing Model: Competitive pricing with sustained-use discounts to reduce costs over time. • Machine Learning: Offers tools like TensorFlow, AutoML, and AI Hub for ML development. • Networking: Features Google VPC and Cloud Interconnect for high-speed networking. • Data Centers: Leverages high-speed infrastructure for fast and reliable services. • Target Audience: Favored by developers, data scientists, and organizations focused on AI/ML. • Free Tier: Provides $300 in credits for 90 days and access to several free tier services. Other Providers • Dropbox: Primarily a file-sharing and synchronization service, also offers cloud storage. • Google Drive: Integrated with Google Workspace, offering storage for documents, spreadsheets, and other files. • Microsoft OneDrive: Integrated with Microsoft 365, providing cloud storage for personal and business use. • Box: A cloud content management platform with features like file sharing, collaboration, and security. • pCloud(personal cloud): A secure cloud storage service with end-to-end encryption. • Sync.com: Another secure cloud storage option with strong privacy features. Choosing the Right Provider When selecting a cloud storage provider, consider the following factors: • Storage Needs: Determine the amount of storage required and the types of data to be stored (e.g., files, images, videos). • Performance Requirements: Assess the required data transfer speeds and latency. • Security and Compliance: Evaluate the provider's security measures, encryption options, and compliance certifications. • Cost: Compare pricing models (e.g., pay-as-you-go, reserved capacity) and consider factors like data transfer costs and storage costs. • Scalability: Ensure the provider can accommodate future growth and scaling needs. S3 (Simple Storage Service): S3 (Simple Storage Service) is a scalable, durable, and secure object storage service provided by cloud providers. It is designed to store and retrieve any amount of data at any time from anywhere on the web.
Key Features and Benefits:
• Scalability: S3 can handle massive amounts of data, making it suitable for various use cases, from small websites to large-scale data lakes. • Durability: S3 is designed to be highly durable, with data replicated across multiple availability zones to ensure data redundancy and availability. • Performance: S3 provides high-performance data transfer speeds and low latency, making it ideal for applications that require fast data access. • Cost-Effective: S3 offers a variety of storage classes to meet different performance and cost requirements, allowing you to optimize your storage costs. • Accessibility: Allows access to data over the internet using APIs, making it easy to retrieve and use data. • Storage Tiers: Offers different tiers of storage (e.g., high-performance, archival) to optimize costs based on data usage. • Security: Provides encryption and fine-grained access control to protect sensitive data. • Lifecycle Management: Automates moving data between storage tiers based on policies to save costs. Working of S3 in Cloud Computing • Buckets: Data is stored in containers called buckets, each with a unique name. Buckets act as storage locations and can have defined access permissions. • Objects: The actual data (like files, images, or documents) is stored as objects within buckets. Each object consists of: – Data (the content to be stored). – Key (a unique identifier for the object within the bucket). – Metadata (additional information about the object, like file type or permissions). • APIs for Access: S3 uses APIs for operations like uploading, downloading, and managing data, enabling seamless application integration. • Region-Based Storage: Buckets are created in specific geographic regions to ensure low latency and comply with regional regulations. • Data Redundancy: Data is replicated across multiple servers within a region for durability and availability, even during server failures. • Lifecycle Management: Users can define rules to move data between different storage classes (e.g., from frequently accessed to archival storage) based on usage patterns. This helps in optimizing storage costs. • Security: Ensures data protection through encryption and access controls. IMPORTANCE OF S3: 1) Data Storage and Backup: • Securely store project files: Protect your important project files, code, and data from accidental loss or hardware failures. • Create data backups: Regularly back up your work to ensure data integrity and recoverability. 2) Data Sharing and Collaboration: • Share files with classmates: Easily share large files with your peers, eliminating the need for physical storage devices. • Collaborate on projects: Work on projects with your team members, regardless of their location, by storing and sharing files on S3. 3) Web Hosting and Deployment: • Host static websites: Deploy your static websites directly to S3, making them accessible to the world. • Store website assets: Store images, CSS, and JavaScript files on S3 to improve website performance and scalability. 4) Machine Learning and Data Science: • Store large datasets: Store and process large datasets for machine learning and data science projects. • Share datasets with others: Share datasets with your classmates or the wider research community.