Module - 05 CC (Bcs601) Search Creators
Module - 05 CC (Bcs601) Search Creators
Created By:
Hanumanthu
Dedicated To.
📺 YouTube: https://www.youtube.com/@searchcreators7348
📸 Instagram : https://www.instagram.com/searchcreators/
📱 Telegram: https://t.me/SearchCreators
💬 WhatsApp:+917348878215
Module – 05
Cloud computing has transformed how software applications are designed, developed,
and deployed.
This chapter introduces cloud computing concepts, compares it with grid computing,
explores features of cloud platforms, and discusses challenges and best practices in
cloud development.
Both cloud computing and grid computing involve distributed resources, but they serve
different purposes.
Similarities
Cloud platforms offer a set of features that make them suitable for modern
applications.
Scalability
Types of scalability:
Example: AWS Auto Scaling, Azure Virtual Machine Scale Sets, Google Kubernetes
Engine (GKE).
Elasticity
Elasticity ensures that resources are dynamically allocated and deallocated as needed.
Example: A retail website automatically provisions more servers during peak sales
periods and reduces them during off-peak times.
On-Demand Provisioning
Users can request and release computing resources as needed without long-term
commitments.
Example: Developers can instantly launch virtual machines on AWS EC2 or containers
on Kubernetes.
Multi-Tenancy
A single cloud instance can serve multiple users while ensuring data isolation.
Example: SaaS platforms like Gmail and Dropbox serve multiple users on shared
infrastructure.
Cloud platforms provide identity and access management (IAM), encryption, and
security compliance (GDPR, HIPAA, SOC 2).
Developing software in the cloud introduces new challenges that developers must
address for reliability, security, and cost efficiency.
This chapter explores the key features of cloud and grid platforms, focusing on compute,
storage, networking, and security in cloud computing.
It also covers grid computing features, the role of virtualization and containerization, and
a comparison of major cloud service providers (AWS, Azure, Google Cloud, IBM Cloud).
Compute
Storage
Object Storage: Stores unstructured data (e.g., AWS S3, Google Cloud Storage,
Azure Blob Storage).
Block Storage: Used for virtual machines and databases (e.g., AWS EBS, Azure
Disk Storage).
File Storage: Managed file systems for applications (e.g., AWS EFS, Azure File
Storage).
Networking
Cloud networking enables seamless communication between cloud resources and the
internet.
Networking components:
o Virtual Private Clouds (VPCs) – Isolated networks within cloud providers.
o Load Balancers – Distribute traffic for scalability and reliability.
o Content Delivery Networks (CDNs) – Improve performance by caching
data at edge locations.
o Private Connectivity – Direct connection between on-premises data
centers and cloud providers (e.g., AWS Direct Connect, Azure
ExpressRoute).
Security
Cloud platforms offer identity and access management (IAM), encryption, firewalls, and
compliance tools.
Security features:
o IAM (AWS IAM, Azure AD, Google Cloud IAM) for role-based access
control.
o Data encryption (AWS KMS, Azure Key Vault, Google Cloud KMS).
o Distributed Denial of Service (DDoS) protection.
Virtualization
Benefits:
Containerization
Containers are lightweight, portable environments that package applications with their
dependencies.
Benefits:
Strengths: Largest cloud provider, strong compute, AI/ML, and storage services.
Popular Services: EC2, S3, Lambda, RDS, CloudFormation.
Best for: Enterprises, startups, AI/ML, serverless applications.
Microsoft Azure
IBM Cloud
Multi-threading
Multi-core Processing
Cluster Computing
Client-Server Model
Basics of MapReduce
Map Phase: Splits input data into smaller chunks and processes them
independently.
Reduce Phase: Aggregates and processes mapped data to produce final output.
Designed for fault tolerance and scalability in cloud computing environments.
Implementation in Cloud
Big data processing in cloud environments involves frameworks that support large-
scale data storage and real-time analytics.
Hadoop Ecosystem
Apache Spark
Examples:
Workflow Orchestration
Examples:
Job Scheduling
Batch Scheduling: Runs non-interactive jobs at scheduled intervals (e.g., Cron jobs).
Examples:
Google App Engine (GAE) is a Platform-as-a-Service (PaaS) offering from Google Cloud
that enables developers to build, deploy, and scale applications seamlessly.
Google App Engine (GAE) is designed for serverless application development and
provides a fully managed platform where developers can deploy applications without
worrying about underlying infrastructure.
Features:
GAE is ideal for applications that experience fluctuating traffic patterns, such as web
applications, APIs, and microservices.
GAE Architecture:
Standard Environment: Supports Python, Java, Go, PHP, and runs applications in
pre-configured containers.
Flexible Environment: Supports custom runtimes, allowing developers to use any
language that runs on a Linux-based Docker container.
Use the Google Cloud Console to track logs, manage instances, and adjust settings.
Datastore:
Google Cloud Datastore is a highly scalable NoSQL database designed for applications
running on GAE.
Task Queues:
Cron Jobs:
Cron jobs schedule recurring tasks such as data backups, email notifications, and
cleanup operations.
GAE seamlessly integrates with multiple Google Cloud services to enhance application
functionality.
This chapter covers cloud application development using Amazon Web Services (AWS)
and Microsoft Azure.
Both cloud platforms offer robust compute, storage, database, and serverless solutions,
enabling developers to build and deploy applications efficiently.
AWS provides Software Development Kits (SDKs) and APIs to integrate cloud services
into applications.
AWS Lambda allows developers to run code without provisioning or managing servers. It
supports multiple languages like Python, Node.js, Java, and C#.
Event-driven execution: Triggers from S3, DynamoDB, API Gateway, and SNS.
Auto-scaling: Handles traffic dynamically.
Pay-per-use pricing: Charges based on execution time and memory usage.
Microsoft Azure
Microsoft Azure is a cloud computing platform offering IaaS, PaaS, and SaaS solutions.
It supports AI, IoT, big data, and enterprise-grade applications.
Azure provides SDKs for Python, Java, .NET, Node.js, and Go.
Example: Using Azure SDK for Python to interact with Azure Storage
Azure DevOps provides tools for continuous integration and deployment (CI/CD).
Azure App Services enables hosting web applications, RESTful APIs, and mobile
backends.
This chapter explores key trends such as serverless computing, edge computing,
containerization, AI/ML in the cloud, and quantum computing.
Edge computing processes data closer to the source (devices, sensors) instead of
centralized cloud data centers. This reduces latency and bandwidth usage.
Real-time processing: Critical for applications like self-driving cars and industrial
automation.
Reduced latency: Data is processed locally, minimizing delays.
Improved security: Sensitive data stays closer to the source.
Benefits of Containers
Cloud platforms provide AI/ML services for training and deploying models at scale.
AI/ML Services