Principles of Purullel :ind Distributed Coln porting
• Parallel and distributed computing are essential paradigms in
modern computing that aim to enhance performance, scalability, and
efficiency by leveraging multiple processors or machines.
• These approaches allow for the : imultaneous eKecution of tasks and
the coordination of resowces across diPerent systems.
1. Pamllel Computing
Parallel computing involves the simultaneous execution of multiple tasks or
processes to solve a problem more efficiently.
It is typically used within a single computer system with multiple processors or
COILS.
Key Principles:
Concurrency: This principle refers to the ability of a system to handle multiple
tasks at the same time.
In parallel computing, concurrency is achieved by dividing a problem into smaller
sub-tasks that can be executed simultaneously.
Decomposition: To ePectively utiliw pamllel computing, a problem must be
decomposed into smaller, manageable sub-problems that can be processed in
pamllel.
Decomposition can be done in variow ways, such as task decomposition
(breaking a task into subtasks) or data decomposition (dividing data into chunks).
Communication: Parallel computing systems require efficient communication
mechanisms to coordinate between processors or cores.
This involves sharing data and synchr‹›nizing the execution of tasks.
Communication overhead can impact performance, so minimizing this overhead
is crucial.
Synclirnnizntion: When multiple processors work on shared data or resources,
synchfonization mcchanisms cnsurc that tasks do not interfere with each other,
leading to consistency and correctness.
Common synchronizationtechniques include mutexes, semaphores, and barriers.
Load Balancing: Efficient parallel computing requires balancing the workload
evenly across processors to avoid bottlcnecks and ensure optimal
performance. Load-balancing techniques aim to distribute tasks in a way
that maximizes resource utilization.
Distributed Computing:
Distributed computing involves multiple interconnected computers working
together to achieve a common goal.
Unlike parallel computing, distributed computing systems often span across
different locations and networked environments.
Key Principles:
• Decentralization: In distributed computing, there is no central control
point. Each node (or computer) operates independently and
communicates with other nodes to perform tasks.
This decentralization can enhance reliability and fault tolerance.
• Communication: Effective communication between distributed nodes is
crucial.
This involves sending messages, exchanging data, and coordinating actions
across a network.
Communication protocols and network infrastructure play a significant role
in the efficiency of distributed systems.
• Consistency and Coordination: In distributed systems, maintaining
consistency across nodes can be challenging. Techniques such os
consensus
algorithms, distributed dultibascs, iilid rc;nlicuti‹in urc used ta cesu,e tJ,;,t ¢}J
nodcs Itnvc a cottsistcttt view oftlJc dnln niJd conrdit»ntc tlJcir nctions,
• F'nult Tolcrt\ticc :tii‹I Rclinhility: Dislrihulcd syslcm» nre dcsign¢d to
hanJlc failure» t;raacfully.
Techniques such as redund.ancy, clteckpointing, nnd f:iilover mechonisms
cnsurc that the system remains operational cvcn if individual nodcs fail.
• Scalability: Distributed computing systems are designed to scale out by
adding more nodes to the network.
Scalability ensures that the system cari handle increased londs and larger
dataset by distributing the work across more resources.
liitrotliiction to Cloud Computing
Clou‹l computing is a tcchnolcgy that enables on-demand acccss to a shared pool
of ccm|›uting resources such as scrvcrs, storage, ayplicaticns, and scrvices
over ñic Intcnict. ’I1ic.sc rcsuurccs can bc yrcvisioncd and rclcascd quickly,
without rig\lirijjg yigtli|jCttIjt fj18nogcMCnl CtTUrt Or ill(CraC(iOn With
SCryiCC }jrOvjdCrs.
Servers
Application
.
comem
Platform
p..
Object Storage Databas
e
Infrastructure
Phones Tablets
Key Features of Cloud Computing
1. On-Demand Self-Service: Users can access computing resources as
needed, without requiring human intervention.
2. Broad Network Access: Resources are available over the Internet and can
be accessed from various devices (e.g., smartphones, laptops).
3. Resource Pooling: Resources are pooled and shared among multiple
users using a multi-tenant model.
to meet dcmauJ.
5. hfmsurcd S<rvlre: Usage is m‹miI xcl a«d I›illc‹f ITU ‹»t con<‹i ›tirm
(c.g, paywuy‹xipn m‹xlcl},
.. . . . .— . - . -
S«wlcz h1‹xIcIs
C{rRjd C+rTt{njting OffcfSATCCI fnary smfifi fflfXf¢ls, CdtcFing u› diff¢f¢fft ftcCdS:
(. Infrsstrocturc zs a 6crrlcc flail}:
Provider virtualized computing rmurcci itich ss icrvTrs, tirrage,
and networks.
2. Plztferm zs a .Service (I'aaS):
o PfoVidcs a platform fer developing, nmning, arid managing
applications without handling uixlcriying infrastructure.
< Example: Microsoft Azure, Google App Fmgioe.
c fdtal for applicatim developers.
3. Software at a Service (SaaS):
o Delivers soflware applications over the Internet, accessible via web
Example: Gmail, Salesforce, Microsoft 365.
Jy g g p t main deployment models fet clotid computing:
I. Public Ctood:
dcd and operated by third-party service providers.
o I3cJi«oli:d ie a linglc crpunixati‹›n, uñ\-rin$ enhanced sccurig’ and
contrnl.
c t¿1atxylc: Un-yrcmi»cx data I:cntcrs.
3. 11ybrid Cloitd:
o toflibines public and privalc clouds, enabling data and application
sharing between them.
o Provides Oexibility and cost-eNciency.
4. Community Cloud:
o Shared by multiple organizations xvith similar goals or requirements.
o Example: Research collaborations or industry-specific clouds.
Advantages of Cloed Computing
1. Cost Savings: Eliminates the need for upfiont hardware inxwtmenL
2. Fleaibility: Resources can be scaled up or do»7i based on demand.
3. Accessibility: Enables access to applications and data Aom anyss'here.
4. Disaster Recos'ery: O&ers robust data backup and recot'erj options.
s. Collabomtion: Facilitates teamu'ork through centralized data and toob.
Challenges
1. Security Concerns: Potential risks related to &ta breaches or
unauthorized access.
2. Downtime: Dependence on Internet connectivity' and potential
outages.
3. Vendor Lock-In: Difficulty in migrating from one prox ider to
another.
4. Compliance Issues: Ensuing adherence to regulations and
stan&rds.
Cloud coJxputinğ ürcl1itcÛturù rcÉcrs to thc components ahŞ
subcomponents required for cloud computing. ’l'hese components
include front-end plnìforms, back-tnd platforms, cloud-based
delivery, and a network (usually the Intenlet), IIere's a brief
breakdown:
ArchlteGure of Cloud Computing
Cllent lnfæstructure Front Eød
-\.Inte”rńet!
Back End
1. Front-End (Client-Side)
• The ăont-end is what the user interacts with to access cloud services.
• It includes devices lŁe computers, tablets, or smañphones and applications
such as web browsers or specific cloud soflware.
2. Back-End (Cloud Infrastructure)
• The back-end consists of the core components that provide the computing
resourcesand services.
• Components:
o Servers: Provide the computational power and data storage.
c SÎol‘IlgV SySl8Il1s: lJScd to store do(n sccurtjly (p,g„ Jatabases, }j]p
Vlrliinliriillini: 1.nnhlcs multiple virtvial machines to run on a g¡ngjc
pliysienl iiiticliiiic, optimiziiig rcsourccs.
• <i r •ntlons: Sohwurc that runs on cloud platforms tu providc
spécifie services.
o Mfddl8âvnre: Sofiwnrc that bridges communication between
diflùrctit opplications or services.
3. Cloud Sciwice Modcls
• InnS (Infrastructure as n Service): Provides virtualized computing
resources (e.g., AWS EC2).
• PnaS (Platform as a Service): Offers platforms to develop, run, and
manage applications (e.g., Google App Engine).
• SaaS (Software us a Service): Delivers software over the Internet (e.g.,
Gmail, Microsoft 365).
4. Cloud Deployment Models
• Public Cloud: Services offered over the Internet to multiple customers.
• Private Cloud: Dedicated infrastructure for a single organization.
• Hybrid Cloud: Combines both public and private clouds for flexibility.
• Community Cloud: Shared infrastructure for organizations with similar
interests or requirements.
5. Network
• The network (e.g., the Internet) acts as the medium connecting the
front- end and back-end, enabling users to access cloud services. It
ensures communication, data transfer, and scalability.
Key Characteristics of Cloud Computing Architecture
• Scalability: The ability to scale resources up or down based on demand.
• On-Demand Self-Service: Users can provision resources as necded
without human intervention.
• Resource Cooling: Itcsourccs arc po‹›lcJ tr›gclhcr anJ sharcd among
multiple users.
. y’'njll Tnleriincc: 'pl c urcl›itcctiirc is Jcsigfictl t‹› handle £ailurcs with‹›ut
Q/ñC(ill «rViCC Bv\iilal›ility.
. j1i li Avnllnl›llity: I'insures services arc av«ilahlc t‹› user» 24/7 with
Mlinimal duxvntinlc.
• Automation: Many proccsscs, such as scaling ‘and pr‹›visioning, are
auloj1latcJ IO rCclUCC lJ1ftnI+ftl work luaJ.
ScC1)ri()’ iR Cl0Ut) ArCllitCCtUfic
• Data Security: Includes encryption, securc storage, and access control.
• Network Security: Protects data in transit using firewalls, VPNs, and
intrusion detection systems.
• Identity and Access Management (IAM): Ensures only authorized users
can access cloud resources.
• Compliance: Meets regulatory requirements such as GDPR, HIPAA, or
ISO standards.
Benefits of Cloud Computing Architecture
• Cost-Effectiveness: Reduces the need for physical hardware and
maintenance costs.
• Flexibility: Users can access resources anytime, anywhere.
• Disaster Recovery: Provides robust data backup and recovery options.
• Collaboration: Facilitates teamwork with centralized data and
resources. Challenges
• Latency Issues: Performance can be affected by net ork speed and
connectivity.
• Vendor Lock-In: Moving between providers can be challenging.
• Security Risks: Misconfigurations or breaches can expose sensitive data.
lms alltaii's orgniiixations lo .scec.ss rind rrisnnyc scz]sh1c -csonr..@i”_¡ioz
liox-ing to in 'c•si in or nnainl.am php'.sicsl 1iarJn’nrc.
On-slte JaaS Paa5
You manage “ -
Semñce provider manages
Key Features of lass:
1. Virtualized Resources: Users csn deploy and manage ‹Eline
storage, and nelax orkine resource.s via a cloud plat Atarm.
2. Scalability’. Resources can be scaled up or doxxr based nn Cement fkinc
it cost-effective.
3. Pay-as-You-Go 64odel: Users pay onl3' for the rc•sources dcx c e_
4. Accessibility: IaaS resources are available from anjai'herc a ,th en
in.cmei connection.
5. Managed Infrastructure: The cloud pro nder handles p ,yx
maintenance. updates. and physical sccurip'.
I\nr‹I\x’tiix’.
• lrlcxIt›lIltą”. Ëitțiț›nrls n xvI‹lu rxngc ‹›f nșcrnllng systems and ayyliujîon
sti\«Èx.
. ltn}lItl l3Pțll0yiI›ell1: llllì-nstrllclllro cnlt be provisioned in minutes,
iccelcintiitç dcs'cltipiticnl rind dcpltiyitlcilł cycles,
• DlùnŠtcl• Ïtec«)vely: ÏÎiìÀ\\rcs dotn rcd\ii1Ùni1cy ßnd recovery throu@ tÀc
clotïś ¡›roviüc’r’» ii\fr1»lructtix.
1. Development rind Tcsłing: Dcvclope•rs cnn quickly create enviionmenu
lo tcsl rind deploy opplicntìons.
2. WcbsÍtc Hostlng: I losling websites with scalnble server capacity.
3. B!g Dntii Annlyllcs: Maltaging large datasets using stalable compuüng
ÇOWL*I.
4. Uncl‹i›y nxJ ltccovery: Secure, scalable cloi\d-bucd backups.
ûxnmples of InsS Pl•oviders:
• Ainnzon Web Scrvlccs (AWS): Plastic Compute Cloud (EC2)
• Mtcrosoft Azure: Virtunl Mnclliites
. cooçle Cloud Plnłfornt: Coinpulc Engine
1*}ajfoi ,ii ns :i Scl•vicc {l'iinS) is n clotitl ctiinptitiiig inodcJ lhal provides a
pJ:,t t¡iri„ t,nt1 cils'ilx›lii,ici›t IFi’ tlcvclopcis to tiuil‹1, Jcploy, afld mnnzgc
„J,;,t¡ciil¡i,iis is'illii,tit worrying titsotcl tile tii1t1ci’1yillg infrnstructtirc.
\›ajjS a\»-lrut:I» tl\c cci\›t›}cxilics u7 st:ttii\g tiy servers, xclworks, anJ stc›rag«,
aIlg11*iI1t]c1cI0)›Ci1 to ccus soltly cit nyyliCBtioll £lUvclcymCnt and JcylcymCnt.
PLATFORh1
ASA SERVICE
HOSTIN
G
DATABASE SOFTTVARE
i'JETWORK ACCESS OPERATIi'JG SYST£M
Key Features of PaaS:
l. Development Framework: Offers pre-built frameworks and tools to
simplify application development.
2. Scalability: Automatically scales resources to meet application demand.
3. Integration Tools: Supports integration with databases, APIs, and other
services.
4. Multi-Environment Support: Allows development, testing, staging, and
production environments within the platform.
5. Managed Infrastructure: The provider manages servers, stomge, and
networking.
Bcnefits of PaaS:
• Increased Productivity: Developers can focus on writing code without
woriying about hardware selup or ntainlenance.
• Cost-Effective: Reduces the cost and complcxity of managing hardware
and software licenses.
• Jtnj›irl Ï3CYc)Op4!3cnt: ÑpCCd9 u[› (rte application dcvclr pmcnt )jyecy‹::l
xaitlz huill-in tonls nnJ lcinplatcs.
• Collnboralioii: l'acilitalcs team collaboration with shared development
cnvironiiicnts.
Use Cases:
1. Application Development: Simplir› the pfoccss of creating web and
mobile applications.
2. API Development and Management: Providcs tools to buiÎd, test, and
manage APIs.
3. Business Analytics: Enables integration of data analysis tools for business
intelligence.
4. IoT Applications: Supports the rapid prototyping and deployment of IoT
solutions.
Examples of PaaS Providers:
• Google Cloud Platform (GCP): App Engine
• Microsoft Azure: Azure App Services
• Amazon Web Services (AWS): Elastic Beanstalk
• Salesforce: Salesforce Platform (Force.com)
Seft» n›'e ns ii Seiwice (SanS) is n cloud computing modcl where software
ñ)0//iCi\\iOlJs arc delivcrcrl over lhc inlcrnct on a subscription basis.
Users access these applications through a web browser or client interface
without needing to install. maintain, oi’ manage the underlying infrastructure,
platforms, or softivarc.
Cloud Service Models
Packaged Software
OS & Application Stack
Serven Storage Network
OS & Application Stack
Sewer Storage NeMork
Sewer Storage Network
Key Features of SaaS:
1. Web-Dascd Access: Applications are accessible through web browsers,
eliminating the need for downloads or installations.
2. Subscription Model: Users typically pay on a monthly or yearly basis,
often based on usage or the number of users.
3. Automatic Updates: Providers handle sofhvare updates, scc\irity patches.
and maintenance.
4. Scalability: Easily scalable to accommodate growing user bases or data
requirements.
5. Multi-Tenancy: A single instance of the application serves multiple
users while maintnining data security and privacy.
. (’‹›xt-l*,fȚ*‹'tiIi\'‹': Itf?‹Illt?t?ht?‹›fll1 ‹iNN‹1ci:tlt?¢l w)th yurchafiing,
ț\\t\ÎtțtîtÎltjltȘ, ltt\II tl|JȘl’tJtlil\Ș 1tJl)WttI‘t? tltJll Iti\FClWJFC.
• lQ\îîti ‹tl” [lîîc: N‹1 St?lli|› £1F it tiiiîttînî1nce rCqLiircg; users' can .saft
llhill¡ț the .8t1ll»".li’c iitlillctlitltcly.
• ›teecssiliililj-, Avnilnblcfront amy device with an internet
colsltcctiialt, e-itsbliltg «itiote work and collaboration.
• ltt'gilln›• Uptlntcs: Enstlles uscrs always have access to the latest
lî•ittiics and sectlrity improvelnents.
• Iittcgr:itioii: Oñcn integrates with other SaaS or on-premises
systei›is, enhancing pro.ductivity.
1, fii›siness Applications: Tools for customer relationship management
(CRM). enterprise resowce planning (ERP), and project management.
2. Collaboration nnd Communication: Email, messaging, video
coiiferencing, and team collaboration tools.
3. File Sharing rind Storage: Cloud-based file storage and sharing platforms.
4. Industry-Speeific Solutions: Healthcare management, financial analytics,
and educational platforms.
Examples of SaaS Providers:
• Coogle Workspace: Gmail, Google Drive, and Google Docs
• Microsoft 365: Word, Excel, Teams, and Outlook
• Salesforce: Customer relationship management (CRM) platform
• Dropbox: Cloud storage and frle sharing
• Zoom: Video conferencing and collaboration
Cloud deployment models describe the ways cloud sen4ces zrz
deployed. depending on the o»zership, accessibility. and since
management. They define ho» infrastructure and see ices are
made a ailable to users. The primary cloud deployment models are
Pnbtic Cloud, Private Cloud. Hybrid Cloud. and Community
Cloud.
1. Public Cloud:
• Description: Cloud resources are owned and operated bj‘ a third-
party cloud service proi5der and delivered over the internet.
Services are shared amon=p multiple organizations.
• Characteristics:
o Accessible by the general public or organizationa
o HÎghly scalable and cost-effective.
o No management of hardu or infrastructure by die sur.
• Advantages:
o Los initial cost and maintenance.
o Easy scalability.
Broad accessibiliÇ'.
• Disadvantages:
o Less control over securiÇ and data prix•acy.
o Shared resources may lead to performance s abili .
• Examples: Amazon \Veb Services (AV'S), 8Iicrosoft
Google Cloud Platform.
2. Private Cloud:
. Dcscriptititl: Cloutl ilt1\n.xtrtlcttirc is dedicitted lo a single
oyJal1iz0}iOll filth COIL UC lloSlCd OU-p£ClI1iSCS OF by i1 lhifd•p3f1y
yrc›‹ idcr. lt ctTcis eaililTiccü control :\nü sccurity.
• Cliaractci•islics:
» Exclusive access for a single orgailimtion.
o Can be nianaged intemally or by a service provider.
o Offers more customizntion options.
• Adt'anta„°es:
o ÛRhanced secwity and privacy.
o Greater conöol over resources and configumtions.
o Suitable for regulatory compliance.
• Disadvuntages:
o Higher cost due to dedicated inÖastructure.
o Limited scalability compared to public cloud.
• Examples: VMware vsphere, OpenStack-based pfivate clouds.
Cloud Architecture
Company A's
Company A private cloud Public Cloud
Company C Company D
3. Hybrid Cloud:
. Dcscriptioit: Colttlaiilcs lautlt public #q3 private cloud
illfrilstl”llctures, fl1l°'y¡"b data aHd opplications to move between
tl›e11l tir flexibility .end optiiniizntion,
• Characteristics:
o Offers the benefits of botlt public and private clouds.
» Data synclwonization and integration between
environments.
• Adx'antages:
o Flexible resource allocation.
o Cost efficiency by leveraging public cloud for less-sensitive
tasks.
« Enhanced control for sensitive workloads.
• Disadvantages:
o Complexity in management and integmtion.
o Requires robust networking and security measures.
• Examples: Azure Hybrid Cloud, AWS Outposts.
4. Community Cloud:
• Dcscriptit›n: Sltnred by multiple organizntions with similar
needs, stlclt us coittpliallce or security rcqtiireinents. Resources
are dedicated to Xtis specific group of users,
• Clinrncteristics:
» blanaged collaboratively or by a third-party provider.
» Tailored to meet industry-specific requirements.
• Adx'antnges:
o Cost-effective for organizations wit common goals.
o Promotes collaboration among participants.
o Enhanced security compared to public clouds.
• Disadvantages:
o Limited scalability compared to public clouds.
o Shared ownership can lead to governance issues.
• Examples: Government community clouds, healthcare-specific
clouds.
Community Cloud Model
mmm
Organization 2