Search This Blog

Showing posts with label Cloud Computing. Show all posts
Showing posts with label Cloud Computing. Show all posts
Wednesday, 2 July 2025

Cloud Computing Model as per NIST Definition

0 comments
  • In Cloud Computing model, the computing resources - be it a server hardware, storage, network, or application software - are available from the cloud vendor or provider's site/premises

  • Resources available on the cloud can be accessed over the Internet from any remote location and by any local computing device. 
  • In addition, the usage or accessibility is to cost only to the level of usage to the customers based on their needs and demands, also known as the pay-as-you-go or pay-as-per-use model.
Here is the Presentation on Five-Four-Three Rule of NIST

Cloud Computing is a Service:
  • All the resources available on the cloud are considered as services that can be availed on demand.  
  • One such service available on the cloud is the storage service.  With the help of this service, we can store our family photographs, our favorite songs, and even movies on the cloud.
  • Flickr is an example for storage service on the cloud through which we can store our images and photos, as well as share them with others
  • Some of the advantages of using Flickr for storing our photos online are as follows:
    • Flickr allows us to easily access our images no matter where we are or what type of device we are using
    • Flickr lets us share the images
    • Flickr provides backup for our files. By uploading the images to Flickr, we are creating  backup on the web

Cloud Computing is a Platform:
  • The basic meaning of the term platform is that it is the base or ground that provides the support for applications to exist and run on a hardware. 
  • For example, Microsoft Windows is a platform on which application software can be installed and run for the user to interact.
  • The term platform refers not only operating system, but also many more in computer science:
    • Java is a platform even though it is not an operating system.  It provides the environment on which developers can develop and run applications of various kind using Java.
    • Similarly, the World Wide Web (WWW) can be considered as the operating system (or platform) for all our Internet-based applications.
  • In cloud computing model, WWW is a platform on which software such as Office 2.0, which was originally available on desktop computers, is now  available on the web.
  • Word processors like Buzzword and office suites like Google Docs are now available in the cloud as their desktop counter-parts.

Essential Characteristics of Cloud Computing:
  • As per the definition of NIST, cloud model is composed of five essential characteristics, three service models, and four deployment models.
  • Here is the description of those essential characteristics of Cloud Computing:
1. On-demand self-service: Consumers have the ability to independently and automatically provision computing resources—such as server time and network storage—without the need for direct human intervention with the service provider.  
  • This capability exemplifies the on-demand nature and elasticity of cloud services.
  • Examples of resources available on the cloud include storage, processing, memory, and network bandwidth.

2. Broad network access: Cloud resources are accessible via network connections using standard protocols and interfaces, which facilitate their use across diverse client devices, including mobile phones, laptops, and PDAs. 
  • This approach ensures broad compatibility and interoperability among heterogeneous platforms, supporting varied client environments

3. Elastic resource pooling: The provider’s computing resources are pooled to serve multiple consumers using a multitenant model, with different physical and virtual resources dynamically assigned and reassigned according to consumer demand.
  • There is a sense of location independence in accessing the cloud
  • The customer generally has no control or knowledge over the exact location of the provided resources but may be able to specify the location at a higher level of abstraction (e.g., country, state, or data center).

4. Rapid elasticity: Capabilities can be rapidly and elastically provisioned, in some cases automatically, to quickly scale out and rapidly released to quickly scale in.

  • To the consumer, the capabilities available for provisioning often appear to be unlimited and can be purchased in any quantity at any time.

5. Measured service: Cloud systems automatically control and optimize resource use by leveraging a metering capability at some level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts).
  • Resource usage can be monitored, controlled, and reported providing transparency for both the provider and consumer of the utilized service.
Continue reading →
Wednesday, 11 June 2025

Fundamentals of Cloud Computing

0 comments

Cloud Computing Paradigm

  • From one computer, we have learnt how to use multiple computers to solve large scale problems using the Internet as our communicating medium. 
  • Our applications have become more data-intensive and network-centric. All these have helped to solve larger computational problems that have become the need of the day 
  • The ability to grow and shrink if required, is known as scalability. With the advent of computing technology, we need to have scalability that will accommodate the changes.
  • Web hosting is the mechanism of providing space in the World Wide Web (WWW) to host one's web resources.  However, such service offerings suffered from the problem of scalability, which was mitigated by the user of virtualization.

Here is a Presentation on Cloud Computing.

Scenario Prior to Cloud Computing:
  • Prior to cloud computing, users of computing devices are supposed to invest money on computing resources such as hardware, software, networking, and storage. 
  • The investment on IT resources requires a lot of money for its users as they have to buy these computing resources, keep them in their premises, and maintaining them to make them operational. 
  • The upfront cost will become a huge expenditure to an organisation that requires enormous computing and storage resources.


Cloud Ecosystem

  • In traditional on-premise model, the consumer is responsible for purchasing and maintaining all of the IT infrastructure. This can be a significant upfront cost, but it can also give the consumer more control over their IT environment. There are also ongoing costs associated with staffing, hardware and software maintenance, and facilities maintenance.  
  • In cloud computing model, the provider manages most of the IT infrastructure. This includes purchasing and maintaining hardware, software, data centre space, power, cooling, and IT staff. Cloud users typically pay a monthly fee for the resources they use.

Motivation for Cloud Computing:

  • In cloud computing, users of computing devices (storage and CPU) can avail them from a service provider called Cloud Service Provider (CSP) as and when needed and pay only for the duration of their usage. 
  • This would cost only a reasonable investment or spending, compared to the huge investment required for buying the entire computing infrastructure.
  • The cloud represents Internet-based computing resources which are made  available to the general public or an individual through some secured network connectivity. 


Usage of Cloud Computing in an Enterprise

  • In this model of computing, an organisation's core computing power resides offsite and is essentially subscribed to rather than owned.  
  • Cloud computing has the power to bring the computing resources (CPU, storage etc.) to an organisation or an individual without the need for capital investment, instead just by hiring them online from a service provider and paying only for the consumed services. 


Need for Cloud Computing:

  • In an organisation, cloud computing is needed in getting the services of computing resources at the user level at an operational cost. This results in saving a lot of money by eliminating the upfront cost - cost involved in setting up and running IT resources on the premise.
  • Cloud computing encompasses the subscription based or pay-as-you-go service model  for offering computing to end users or customers over the Internet and thereby extending the IT's existing capabilities.
  • Cloud computing makes our life easy in the field of computing by providing resources available on the computer over the Internet .  As end users, we need to know how to tap into the resources available on the cloud through a system which is connected to Internet.
  • Reliability is another major benefit of using cloud computing in our day to day lives.  On the cloud, losing our data/file is much less likely.  However, just like anything online, there is always a risk that someone may try to gain access to our personal data.
  • Now-a-days, cloud computing is growing in popularity, especially among individuals, and Small and Medium Enterprises (SMEs).


Definition of Cloud Computing:

  • In the simplest terms, cloud computing is a kind of distributed computing in which storage and processing of data or application take place over the Internet on a remote machine instead of doing them on the local machine. The term cloud is just a metaphor for the Internet in this definition.
  • When we store and run a program from the local computer's hard drive, that scenario is called on premise storage and computation. That means, we have our own resources such as CPU and storage device for performing computation and storage on premise.
  • Whereas, in cloud computing users are allowed to store and process data or programs on a computer running remotely (on the cloud) over the Internet. With an online connection, cloud resources such as computing power (CPU), storage capacity (hard disk), networking features and application software such as ERP can be availed from anywhere, anytime and at any device.
  • Here is a simple definition of Cloud Computing: "Cloud Computing is a type of Computing System In which High Performance Computing resources (such as servers, application and networking) are available to its users over the Internet."

NIST Definition of Cloud Computing:
  • The formal definition of cloud computing comes from the National Institute of Standards and Technology (NIST) as follows:
"Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. "
  • It means that the computing resource or infrastructure - be it server hardware, storage, network, or application software - all available from the cloud vendor or provider's site/premises, can be accessible over the Internet from any remote location and by any local computing device. 
  • In addition, the usage or accessibility is to cost only to the level of usage to the customers based on their needs and demands, also known as the pay-as-you-go or pay-as-per-use model.
  • Minimal management effort implies that at the customer's side, the maintenance of computing systems is very minimal as they will have to look at these tasks only for their local computing devices used for accessing cloud-based resources, not for those computing resources managed at the provider's side. 
    Continue reading →
    Tuesday, 10 June 2025

    Emerging Computing Paradigms

    0 comments

    Advanced Computing Paradigms

    Mobile computing:

    • In mobile computing handheld devices are used for processing and they communicate with each other through wireless medium. This includes smart phones, tablets, smart watches, and other portable devices that users interact with.
    • Mobile Ecosystem refers to the networking infrastructure, technologies and services that enable end users to make use of mobile computing and communication.  
    • The mobile ecosystem has become a fundamental part of modern life, impacting how we communicate, work, learn, and interact with the world around us.
    • Some of the useful applications of mobile computing include:
      1. Voice communication
      2. Sending and receiving messages
      3. Video call or conferencing
      4. Sending and receiving money using applications online
    • The users of mobile computing environment will be able to access data and applications from any device and on any network while on the move.
    • While on the move, the preferred device will be a mobile device, while back at home or in the office the device could be a desktop computer.  
    • To make the mobile computing environment ubiquitous (seeming to be everywhere or in several places at the same time), it is necessary that the communication bearer is spread over both wired and wireless media.


    Bio Computing:

    • Bio Computing refers to the user of biological systems like DNA or cells to perform computations.
    • It's a field that seeks to harness the computational capabilities of biological molecules and systems, going beyond traditional silicon-based computers. 
    • Bio Computing Systems make use of biologically derived or simulated molecules (or modules) that perform computational processes in order to solve a problem. 
    • The biologically derived models aid in structuring the computer program that becomes part of the application.
    • Using the concepts and techniques defined in this computing, scientists can explore proteins and DNA, which are the basic building blocks of the nature.
    • Examples include DNA computing, which utilises DNA's structure for data storage and manipulation, and cellular computing, in which programs make use of biological cells to perform computational tasks. 


    A Video Presentation on Bio Computing


    Optical computing:

    • Optical computing, also known as photonic computing, is a revolutionary computing paradigm that utilises light waves (photons) instead of electrical signals (electrons) for data processing, storage, and communication.
    • Photons can transmit data much faster than electrons, potentially leading to significantly increased computational speeds.
    • Optical computing system uses the photons in visible light or infrared beams, rather than electric current to perform computations. 
    • Instead of manipulating electron flow in silicon chips, optical computing manipulates the properties of light, such as intensity, phase, polarization, and wave length, to encode and process information.
    • Optical computing also takes advantage of visible and/or IR networks at the device and component level, which will result in a system that runs 10 times or more faster than a conventional electronic computer.
    • Optical fibre is the medium of communication used for data transmission over long distances in optical computing.



    A Video Presentation on Optical Computing

    Quantum Computing:

    • Quantum computing is an advanced form of computation that leverages the principles of quantum mechanics to solve complex problems that are intractable for even the most powerful classical computers.
    • Quantum computing is built using quantum-based solutions that replaces Integrated Circuits (ICs) with quantum-based chips for increasing the speed of the processing, further. 
    • Quantum computers can work much more faster than that of the super computers.
    • At the most fundamental level  itself, quantum computing works differently than that of the existing conventional (serial) and parallel systems. 
    • Qubits (Quantum Bits): Unlike classical bits which can only be either 0 or 1, qubits can exist in a superposition of both 0 and 1 simultaneously. This means a single qubit can hold more information than a classical bit.
    • Although they are available in the form of prototype, they have not been proved to be an alternative for today's silicon based machines.


    A Video Presentation on Quantum Computing


    Nano Computing:

    • Nano computing refers to computing system that are constructed using nano scale components. 
    • In this type of computing systems, computers are made up of transitions constructed using carbon nano tubes instead of silicon transistors which are generally used in the construction of  traditional computers.
    • The successful realisation of nano computers totally depend on the nano scale and integration of nano tubes in forming the transistors. 
    • Nano computing face two major issues in bringing this computing paradigm into reality:
      1. Issues of scale
      2. Issues of integration
    • The issues of scale is related to the dimensions of the components; they are, at most, a few nano meters in at least two dimension.
    • The issues of integration of the components are twofold:
      1. The manufacture of complex arbitary patterns may be economically infeasible
      2. Nano computers may include massive quantities of devices

    Continue reading →

    Distributed and Cloud Computing

    0 comments

    Distributed Computing

    • Distributed computing  makes use of multiple computers or processor machines connected through a network, which can be homogeneous or heterogeneous, but run as a single system. 
    • The systems connected in a distributed computing environment may be located in the same building or in a place that is geographically dispersed. 


    Distributed Vs. Parallel Computing

    • The goal of distributed computing is to make computers of ranging from PC to workstations to minicomputers work together as a single system. 
    • The advantage of distributed computing over centralized systems are  Scalability and Availability.


    Cluster Computing:

    • Cluster Computing uses parallel architecture, especially Shared Disk Architecture for forming the Cluster that can be shared by multiple computers or processors (CPU) simultaneously.  
    • It makes use of a set of same or similar type of processor machines connected using a dedicated network infrastructure. 
    • The individual Computer in a cluster can be referred to as nodes.   Each and every node in a cluster shares a common storage and runs software such as Message Passing Interface (MPI) that allows programs to run across all nodes simultaneously.
    • The advantage of using Cluster Computing is to allow each and every node to work together with other nodes to solve a complex problem that can't be easily solved by any PC with serial processing.  
    • All the nodes in a cluster work cooperatively using the software that implements MPI (Message Passing Interface) to solve the problem in hand.

    Grid Computing:

    • Grid computing uses Shared nothing Architecture of Parallel Computing for connecting multiple computers or processing machines that run parallelly.  
    • It is a kind of distributed computing in which underutilized computing resources of various organization can be made available to its users through some software that acts as the middleware between those resources available remotely. 
    • The idea of grid computing is to make use of nonutilized computing power by the needy organization, and thereby Return on Investment (ROP) of those computing resources can be increased.
    • The managing functions of resources available in a grid are known as grid services. Grid services provide following functionalities to grid users for effectively managing the resources available on the grid:
      1. Access control
      2. Security services
      3. Data access which include accessing databases and digital libraries
      4. Access to large-scale and long-term Storage facilities.
    • Grid computing is thus named because it looks similar to the electric Power Grid, in which the user doesn't need to know where the electricity comes from (source). 
    • There is a grid called power grid which acts as a mediator between the source of electricity and the end user.   The power grid is made up of transmission stations, power stations, transformers, power lines etc.
    • Moreover, Power Grid allows its users to avail power (electricity) as a utility. We ask for electricity and we get it; we also pay for what we get and utilize. 
    • Similarly, in Grid Computing, Grid provides the Infrastructure and necessary mechanism for accessing computing  resources which are available in the form of PC, workstation and servers along with storage elements. 
    • In grid computing, we ask for computing power or storage capacity and we get it.

    Cloud Computing:

    • Cloud Computing is a internet-based paradigm, in which shared resources available to end-users on an on-demand basis
    • Cloud computing is a kind of Distributed Computing, in which computing power is made available to end users as a utility with a help of various concepts of distributed computing that include virtualization, utility computing, Service Oriented Architecture (SOA) etc.
    • The difference between grid Computing and cloud computing is that grid computing supports leveraging several computing and storage devices in parallel to solving a particular problem, while cloud computing supports leveraging multiple resources which are available in one or more data centres to deliver a unified service to the end user. 
    • The resources available in large data centres are provided in the form of services to either an individual or general public
    Continue reading →
    Monday, 2 June 2025

    Introduction to Computing Paradigms and HPA

    0 comments


    • The term paradigm refers to a set of practices to be followed to accomplish a task.  
    • In the domain of computing, paradigm refers to the standard practices to be followed for performing computing with the help of computing hardware and software. 

    Evolution of Computing Paradigms (1960 - 2017)

    • Every aspect of the computer has gone through a sea of change during the past few decades. However, with these changes came the problem of scalability.
    • As we grow or increase in one area, the other related areas must also be able to grow accordingly to accommodate the changes.
    • For example, as we increase the size of the registers used in a computer, the memory size also needs to grow and the software should be able to exploit this power effectively.
    • Therefore, changes in hardware, networking and operating systems caused paradigms of computing to evolve reflecting the need to grow.

    Various Computing Paradigms:
    • Along with all computing devices and the Internet, computing paradigms were also developed keeping pace with these advancements. 
    • There are various computing paradigms available now-a-days that include the following:
      • High Performance Computing (HPC)
      • Network Computing
      • Cluster Computing
      • Grid Computing
      • Cloud Computing
      • Bio Computing
      • Mobile Computing
      • Quantum Computing
      • Optical Computing and
      • Nano Computing


    High Performance Computing (HPC)

    • In High Performance Computing, systems are having a pool of processors (CPU) connected (networked) with other resources such as memory, storage, and input and output devices.  
    • The software deployed on a HPC system is normally enabled to run on the entire system of connected components.  
    • Examples of HPC include a small cluster of desktop computers or a super computer. They are generally used for solving scientific problems.
    • High Performance Computing makes use of any one of the following architectures for connecting devices in a network:

      1. Server Architecture
      2. Parallel Architecture
      3. Distributed Architecture

    • While initially computing was perceived to be centralized, they were decentralized and distributed with the advent of Internet, client/server and parallel architecture. 
    • In centralized computing paradigm, all computer resources such as processors, memory, storage etc. are typically located in one physical system and controlled centrally.
    • In server architecture, computers are connected to a network that consists of one server system and multiple client systems.  
    • In this architecture, functionality of the system is split between two computers - a server and a client.  The server satisfies the requests generated by client systems.

    Client/Server Architecture

    • Systems that deal with large number of users adopt a three-tier architecture, in which the front end is a Web browser which talks to an application server running remotely.  
    • The application server, in turn, talks to the database server for storage and retrieval of data from a centralized database.
    • Computing system that makes use of client/server or multi-tier architecture is also called as Networked Computing.


    Parallel and Distributed Architecture

    • Parallel computing refers to the mechanism of a computer system, which makes it capable of running computations parallel or simultaneously by multiple CPUs.
    • In parallel architecture, processing takes place in multiple CPU of the same computer,  or in multiple processors of various computers that run simultaneously.  The processors (CPU) are mostly of homogeneous type.
    • All the processors running simultaneously share a central memory and communicate through a shared memory in a tightly coupled environment in a parallel computer.
    • Super computer is an example of parallel computer, in which hundreds of thousands of processors are interconnected to solve a computational problem.
    • Parallel systems improve processing and I/O speed by using multiple CPUs and disks in parallel.  
    • In parallel processing, many operations are performed simultaneously as opposed to serial processing, in which the computational steps are performed sequentially.  
    Given below are the major differences between a conventional computer (also called Serial computer) and a Parallel computer:

    Characteristics of a Serial Computer:

    1. Runs on a single Computer/processor machine having a single CPU
    2. Given problem is broken down into a discrete set of instructions executed by a single CPU
    3. Instructions are executed one after another

    Characteristics of a Parallel Computer:

    1. Runs multiple processors (CPU) simultaneously for executing a complex task
    2. Given problem is broken down into discrete parts that can be processed concurrently by multiple CPUs
    3. Each discrete part is further broken down into a set of instructions and are executed simultaneously on different CPUs, which are controlled by a special mechanism

    • There are two main measures of performance of a parallel computer that makes use of parallel processing: through-put and response time.  
    • Through-put refers to the number of tasks that can be completed in a given time interval and response time refers to the amount of time it takes to complete a single task from the time it is submitted.


    Parallel Architecture

    There are several architecture models for parallel machines.  The following are four architectures in which multiple processors are running parallel, and the resources such as memory, processor and databases are shared among them in four different ways:

    1. Shared Memory Architecture:  In this architecture, all the processors share a common memory.
    2. Shared Disk Architecture:  All the processors share a common set of disks and the shared-disks connected to this system are called clusters.
    3. Shared Nothing Architecture:  In this kind of architecture, the processors share neither a common memory nor common disk among themselves.
    4. Hierarchical Architecture:  In this model of parallel processing, a hybrid architecture that makes use of more than one of the above mentioned architecture is used.



    Cluster computing is a type of parallel computing, in which cluster of homogeneous computers are connected, which are cooperatively working together to accomplish a task that can't be easily solved by a serial computer


    Distributed Architecture

    • Distributed computing paradigm consists of a collection of independent computers, each having its own memory and other capabilities, but cooperating with each other computers to solve a problem.
    • The computers connected to the distributed environment communicate with one another through various communication media, such as high-speed networks or telephone lines.
    • The participating computers communicate with each other through message passing and the group appears to be a single coherent system to the users.
    • The computers connected in a distributed system are referred to as sites or nods.
    • Nodes do not share main memory or disks.  They may also vary in size and function, ranging from workstations up to mainframe systems.
    • Distributed architecture looks similar to that of Shared Nothing Architecture in parallel systems.
    The main differences between distributed architecture and  shared-nothing parallel architecture are the following:
    1. Distributed systems are typically geographically separated
    2. They are separately administered and
    3. They may have a slower interconnection between the systems connected in the network

    Video Presentation on Computing Paradigms

    Continue reading →