Unit – I �Computing Paradigms
Computing Paradigms
Introduction
3
High Performance Computing
The need for High-performance computing (HPC)
In the modern world, As cutting-edge technologies like artificial intelligence (AI), machine learning (ML) and IoT evolve, they require huge amounts of data to improve high processing speeds, which can be critical for many kinds of computing operations, applications and workloads, It helps to lay the foundation for a reliable, fast IT infrastructure that can store, process and analyse massive amounts of data for various applications.
Example for HPC:
Example:
How does HPC work?
The HPC workflow consists of the three components, they are:
Here, we would like to list major points:
HPC systems can run different types of workloads. Two popular types are loosely and tightly coupled workloads.
Benefits of HPC
HPC helps overcome numerous computational barriers that conventional PCs and processors typically face.
The benefits of HPC are many and include the following.
High speeds
HPC is mainly about lightning-fast processing, which means HPC systems can perform massive amounts of calculations very quickly. In comparison, regular processors and computing systems would take longer -- days, weeks or even months -- to perform these same calculations. HPC systems typically use the latest CPUs and GPUs, as well as low-latency networking fabrics and block storage devices, to improve processing speeds and computing performance.
Lower cost
Because an HPC system can process faster, applications can run faster and yield answers quickly, saving time or money. Moreover, many such systems are available in "pay as you go" modes and can scale up or down as needed, further improving their cost-effectiveness.
Reduced need for physical testing
Many modern-day applications require a lot of physical testing before they can be released for public or commercial use. Self-driven vehicles are one example. Application researchers, developers and testers can create powerful simulations using HPC systems, thus minimizing or even eliminating the need for expensive or repeated physical tests.
HPC use cases
Deployed on premises, at the edge, or in the cloud, HPC solutions are used for a variety of purposes across multiple industries. Examples include:
Parallel Computing
Parallel computing use cases
Today, commercial applications are providing an equal or greater driving force in the development of faster computers. These applications require the processing of large amounts of data in sophisticated ways. Example applications include
Distributed computing
How distributed computing works
There are four main types of distributed architecture.
Client-server is the most common method of software organization on a distributed system. The functions are separated into two categories: clients and servers.
Clients
Clients have limited information and processing ability. Instead, they make requests to the servers, which manage most of the data and other resources. You can make requests to the client, and it communicates with the server on your behalf.
Servers
Server computers synchronize and manage access to resources. They respond to client requests with data or status information. Typically, one server can handle requests from several machines.
(2) Peer-to-peer architecture
Peer-to-peer distributed systems assign equal responsibilities to all networked computers. There is no separation between client and server computers, and any computer can perform all responsibilities. Peer-to-peer architecture has become popular for content sharing, file streaming, and blockchain networks.
(3) Three-tier architecture
In three-tier distributed systems, client machines remain as the first tier you access. Server machines, on the other hand, are further divided into two categories:
Application servers
Application servers act as the middle tier for communication. They contain the application logic or the core functions that you design the distributed system for.
Database servers
Database servers act as the third tier to store and manage the data. They are responsible for data retrieval and data consistency. By dividing server responsibility, three-tier distributed systems reduce communication bottlenecks and improve distributed computing performance.
(4) N-tier architecture
N-tier models include several different client-server systems communicating with each other to solve the same problem. Most modern distributed systems use an n-tier architecture with different enterprise applications working together as one system behind the scenes.
Benefits
Use cases
Cluster Computing
Grid Computing
For example, meteorologists use grid computing for weather modeling. Weather modeling is a computation-intensive problem that requires complex data management and analysis. Processing massive amounts of weather data on a single computer is slow and time consuming. That’s why meteorologists run the analysis over geographically dispersed grid computing infrastructure and combine the results.
Grid computing is more popular due to the following reasons:�• Its ability to make use of unused computing power, and thus, it is a cost-effective solution (reducing investments, only recurring costs)�• As a way to solve problems in line with any HPC-based application�• Enables heterogeneous resources of computers to work cooperatively and collaboratively to solve a scientific problem.�- Researchers associate the term grid to the way electricity is distributed in municipal areas for the common man.
How does grid computing work?
Grid nodes and middleware work together to perform the grid computing task. In grid operations, the three main types of grid nodes perform three different roles.
(1) User node
A user node is a computer that requests resources shared by other computers in grid computing. When the user node requires additional resources, the request goes through the middleware and is delivered to other nodes on the grid computing system.
(2) Control node/Server
A control node administers the network and manages the allocation of the grid computing resources. The middleware runs on the control node. When the user node requests a resource, the middleware checks for available resources and assigns the task to a specific provider node.
(3) Provider node/Grid node
A provider node is a computer that shares its resources for grid computing. When provider machines receive resource requests, they perform subtasks for the user nodes, such as forecasting stock prices for different markets. At the end of the process, the middleware collects and compiles all the results to obtain a global forecast.
What are the types of grid computing?
Grid computing is generally classified as follows.
Computational grid
A computational grid consists of high-performance computers. It allows researchers to use the combined computing power of the computers. Researchers use computational grid computing to perform resource-intensive tasks, such as mathematical simulations.
Scavenging grid
While similar to computational grids, CPU scavenging grids have many regular computers. The term scavenging describes the process of searching for available computing resources in a network of regular computers. While other network users access the computers for non-grid–related tasks, the grid software uses these nodes when they are free. The scavenging grid is also known as CPU scavenging or cycle scavenging.
Data grid
A data grid is a grid computing network that connects to multiple computers to provide large data storage capacity. You can access the stored data as if on your local machine without having to worry about the physical location of your data on the grid.
Grid computing Benefits
Organizations use grid computing for several reasons.
Efficiency
With grid computing, you can break down an enormous, complex task into multiple subtasks. Multiple computers can work on the subtasks concurrently, making grid computing an efficient computational solution.
Cost
Grid computing works with existing hardware, which means you can reuse existing computers. You can save costs while accessing your excess computational resources. You can also cost-effectively access resources from the cloud.
Flexibility
Grid computing is not constrained to a specific building or location. You can set up a grid computing network that spans several regions. This allows researchers in different countries to work collaboratively with the same supercomputing power.
Use cases of grid computing
Gaming
The gaming industry uses grid computing to provide additional computational resources for game developers. The grid computing system splits large tasks, such as creating in-game designs, and allocates them to multiple machines. This results in a faster turnaround for the game developers.
Entertainment
Some movies have complex special effects that require a powerful computer to create. The special effects designers use grid computing to speed up the production timeline. They have grid-supported software that shares computational resources to render the special-effect graphics.
Engineering
Engineers use grid computing to perform simulations, create models, and analyze designs. They run specialized applications concurrently on multiple machines to process massive amounts of data. For example, engineers use grid computing to reduce the duration of a Monte Carlo simulation, a software process that uses past data to make future predictions.
Cloud Computing
What is a Cloud?
49
What is a Cloud?
51
CLOUD COMPUTING
(b) Four Cloud Deployment Models
Deployment models describe the ways with which the cloud services can be deployed or made available to its customers, depending on the organizational structure and the provisioning location. One can understand it in this manner too: cloud (Internet)-based computing resources—that is, the locations where data and services are acquired and provisioned to its customers—can take various forms. Four deployment models are usually distinguished, namely,
Bio Computing
In the above Diagram, the molecules A,T,G,C are nothing but bits as classical computers. Here they are performing calculations in Parallel as well as Multiple also.
Example here we have to perform A=B+C+D+E and A= B-C-D-E then as per the above diagram in first strands Addition is performing and in the second strands the subtraction calculation is done.
Mobile Computing
service area.
systems of a mobile phone operator, which provides access to
the public switched telephone network (PSTN).
Mobile
MOBILE COMMUNICATION
others in different locations without the use of any physical connection (wires or
cables).
These are the types of multiplexing options available to communication channels −
Mobile communication framework can be divided in the following four types:
Fixed and Wired: In Fixed and Wired configuration, the devices are fixed at a position, and they are connected through a physical link to communicate with other devices.
For Example, Desktop Computer.
Fixed and Wireless: In Fixed and Wireless configuration, the devices are fixed at a position, and they are connected through a wireless link to make communication with other devices.
For Example, Communication Towers, WiFi router
Mobile and Wired: In Mobile and Wired configuration, some devices are wired, and some are mobile. They altogether make communication with other devices.
For Example, Laptops.
Mobile and Wireless: In Mobile and Wireless configuration, the devices can communicate with each other irrespective of their position. They can also connect to any network without the use of any wired device.
For Example, WiFi Dongle.
Mobile Communication Protocols:
GSM:
CDMA
WLL
GPRS
GPRS stands for General Packet Radio Services. It is a packet based wireless communication technology that charges users based on the volume of data they send rather than the time duration for which they are using the service. This is possible because GPRS sends data over the network in packets and its throughput depends on network traffic. As traffic increases, service quality may go down due to congestion, hence it is logical to charge the users as per data volume transmitted.
GPRS is the mobile communication protocol used by second (2G) and third generation (3G) of mobile telephony. It pledges a speed of 56 kbps to 114 kbps, however the actual speed may vary depending on network load.
�
APPLICATIONS OF MOBILE COMPUTING
Quantum Computing
How Hard Is It to Build a Quantum Computer?
Building a quantum computer takes a long time and is vastly expensive. Google has been working on building a quantum computer for years and has spent billions of dollars. It expects to have its quantum computer ready by 2029. IBM hopes to have a 1,000-qubit quantum computer in place by 2023.
How Much Does a Quantum Computer Cost?
A quantum computer cost billions to build. However, China-based Shenzhen SpinQ Technology plans to sell a $5,000 desktop quantum computer to consumers for schools and colleges. Last year, it started selling a quantum computer for $50,000.
How Fast Is a Quantum Computer?
A quantum computer is many times faster than a classical computer or a supercomputer. Google’s quantum computer in development, Sycamore, is said to have performed a calculation in 200 seconds, compared to the 10,000 years that one of the world’s fastest computers, IBM's Summit, would take to solve it. IBM disputed Google's claim, saying its supercomputer could solve the calculation in 2.5 days. Even so, that's 1,000 times slower than Google's quantum machine.
Optical Computing
Optical Computing
What Are The Major Components Used In Optical Computers?
The following are the primary optical components necessary for computation in an optical computer:
1. VCSEL (Vertical Cavity Surface Emitting Micro Laser)
The VCSEL is a surface-emitting semiconductor Micro Laser Diode that produces light in a vertical direction. It essentially transforms an electrical signal into an optical signal. It is the ideal illustration of a single-dimensional photonic crystal.
2. Spatial Light Modulators
Both the optical beam's intensity and phase can be modulated by spatial light modulators. Due to the fact that they convert the data into a laser beam, they are employed in holographic data storage systems.
3. Optical Logical Gates
In essence, an optical switch that manages light beams is what makes up an optical logic gate. When a gadget transmits light, it is said to be "ON," and when a device blocks light, it is said to be "OFF."
4. Smart Pixels
High-level electronic signal processing optical systems are assisted by smart pixels.
Nano Computing
Nano Computing
What is Nano Computing ???
History of Nanotechnology:��In 1959, renowned physicist Richard Feynman first outlined the ideas that would eventually give rise to nanotechnology in his lecture There's Plenty of Room at the Bottom.��In this discussion, he described the prospect of synthesis by the direct manipulation of atoms. Norio Taniguchi coined the phrase "nano-technology" for the first time in 1974, albeit it was not widely used at the time.��In his 1986 book Engines of Creation: The Coming Era of Nanotechnology, K. Eric Drexler coined the word "nanotechnology" and advocated the idea of a nanoscale "assembler" that would be able to construct a replica of itself and of other items of arbitrary complexity with atomic control.
Moore’s law
- Already microprocessors have more 5 billions of transistors.
- By the year 2020 or later the trend line of Moore’s law states that there should be a 1 nanometer feature size…
Types of nano computers
Types of Nanotechnology?��Top-down or bottom-up processes and dry or wet working environments are used to categorize the many forms of nanotechnology:
Nanotechnology Applications:
Various industrial sectors can benefit from nanotechnology and nanomaterials. The following areas are usually where nanomaterials and nanotechnologies are found:
Advantages
Disadvantages
Nano Mission (Mission on Nano Science and Technology):
Results of the Nano Mission and its Importance:
�Unit – 2�Cloud Computing Fundamentals�
Cloud Computing Fundamentals
(1)Motivation for cloud computing
(2) Need for Cloud
(3) Defining the Cloud computing
(4) Principles of cloud
(5) Five Essential characteristics
(6) Four Deployment Models
Motivation for Cloud Computing
Example : Electricity in our homes or offices
Some of the reasons to go for Cloud computing are :
NIST Definition of Cloud Computing
The formal definition of cloud computing comes from the National Institute of Standards and Technology (NIST): “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.
Principles of Cloud computing
The 5-4-3 principles put forth by NIST describe :
(a) Five essential characteristic features that promote cloud computing
(b) Four deployment models that are used to narrate the cloud computing opportunities for Customers while looking at architectural models.
(c) Three important and basic service offering models of cloud computing
(a)Five Essential Characteristics
Cloud computing has five essential characteristics, which are shown in Figure 2.2. Readers can note the word essential, which means that if any of these characteristics is missing, then it is not cloud computing:
1. On-demand self-service: A consumer can unilaterally provision computing capabilities, such as server time and network storage, as needed automatically without requiring human interaction with each service’s provider.
2. Broad network access: Capabilities are available over the network and accessed through standard mechanisms that promote use by heterogeneous thin or thick client platforms (e.g., mobile phones, laptops, and personal digital assistants [PDAs])
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 that 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 ). Examples of resources include storage, processing, memory, and network bandwidth.
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.
(b) Four Cloud Deployment Models
Deployment models also called as types of models. These deployment models describe the ways with which the cloud services can be deployed or made available to its customers, depending on the organizational structure and the provisioning location. One can understand it in this manner too: cloud (Internet)-based computing resources—that is, the locations where data and services are acquired and provisioned to its customers—can take various forms. Four deployment models are usually distinguished, namely,
(1)Public Cloud
Advantages of using a Public cloud are:
Disadvantages of using a Public cloud are:
(2)Private cloud
Private clouds are distributed systems that work on private infrastructure and provide the users with dynamic provisioning of computing resources. Instead of a pay-as-you-go model in private clouds, there could be other schemes that manage the usage of the cloud and proportionally billing of the different departments or sections of an enterprise. Private cloud providers are HP Datacentres', Ubuntu, Elastic-Private cloud, Microsoft, etc.
The advantages of using a private cloud are as follows:
Disadvantages of using a private cloud are:
(3)Community cloud
Community clouds are distributed systems created by integrating the services of different clouds to address the specific needs of an industry, a community, or a business sector. But sharing responsibilities among the organizations is difficult.
In the community cloud, the infrastructure is shared between organizations that have shared concerns or tasks. An organization or a third party may manage the cloud.
Advantages of using Community cloud are:
Disadvantages of using Community cloud are:
(4) Hybrid cloud:
A hybrid cloud is a heterogeneous distributed system formed by combining facilities of the public cloud and private cloud. For this reason, they are also called heterogeneous clouds. �A major drawback of private deployments is the inability to scale on-demand and efficiently address peak loads. Here public clouds are needed. Hence, a hybrid cloud takes advantage of both public and private clouds.
Disadvantages of using a Hybrid cloud are:
(c) Three Service Offering Models
Infrastructure as a Service (IaaS)
Characteristics of IaaS
There are the following characteristics of IaaS -
Companies providing IAAS are DigitalOcean, Linode, Amazon Web Services (AWS), Microsoft Azure, Google Compute Engine (GCE)
Example: AWS provides full control of virtualized hardware, memory, and storage. Servers, firewalls, and routers are provided, and a network topology can be configured by the tenant.,
Platform as a Service (PaaS)�
Characteristics of PaaS
There are the following characteristics of PaaS -
Companies offering PaaS are AWS Elastic Beanstalk, Windows Azure, Heroku, Force.com, Google App Engine, Apache Stratos, Magento Commerce Cloud, and OpenShift
Example of PaaS is The World Wide Web (WWW)
Software as a Service (SaaS)�
Characteristics of SaaS
There are the following characteristics of SaaS -
Companies providing SaaS are BigCommerce, Google Apps, Salesforce, Dropbox, ZenDesk, Cisco WebEx, ZenDesk, Slack, and GoToMeeting.
Example of SaaS is The simplest thing that any computer does is allow us to store and retrieve information. We can store our family photographs, our favourite songs, or even save movies on it, which is also the most basic service offered by cloud computing.
Let us look at the example of a popular application called Flickr to illustrate the meaning of this section.
While Flickr started with an emphasis on sharing photos and images, it has emerged as a great place to store those images. In many ways, it is superior to storing the images on your computer:
1. First, Flickr allows us to easily access our images no matter where we are or what type of device we are using. While we might upload the photos of our vacation from our home computer, later, we can easily access them from our laptop at the office.
2. Second, Flickr lets us share the images. There is no need to burn them to a CD or save them on a flash drive. We can just send someone our Flickr address to share these photos or images.
3. Third, Flickr provides data security. By uploading the images to Flickr, we are providing ourselves with data security by creating a backup on the web. And, while it is always best to keep a local copy either on a computer, a CD, or a flash drive—the truth is that we are far more likely to lose the images that we store locally than Flickr is of losing our images.
Difference between IaaS, PaaS, and SaaS�
IaaS | Paas | SaaS |
It provides a virtual data center to store information and create platforms for app development, testing, and deployment. | It provides virtual platforms and tools to create, test, and deploy apps. | It provides web software and apps to complete business tasks. |
It provides access to resources such as virtual machines, virtual storage, etc. | It provides runtime environments and deployment tools for applications. | It provides software as a service to the end- users. |
It is used by network architects. | It is used by developers. | It is used by end users. |
IaaS provides only Infrastructure. | PaaS provides Infrastructure+Platform. | SaaS provides Infrastructure+Platform +Software. |
Unit 3 � Cloud computing Architecture and Management
Introduction
Cloud Architecture
Layer 1 (User/Client Layer)
Layer 2 (Network Layer)
Layer 3 (Cloud Management Layer)
- Resource management like scheduling, provisioning
- Optimization like server consolidation, storage workload consolidation and
- Internal cloud governance.
Layer 4 (Hardware Resource Layer)
Anatomy of the Cloud
There are basically five components of the cloud:
1. Application: The upper layer is the application layer. In this layer, any applications are executed.
2. Platform: This component consists of platforms that are responsible for the execution of the
application. This platform is between the infrastructure and the application.
3. Infrastructure: The infrastructure consists of resources over which the other components work. This
provides computational capability to the user.
4. Virtualization: Virtualization is the process of making logical components of resources over the
existing physical resources. The logical components are isolated and independent, which form the
infrastructure.
5. Physical hardware: The physical hardware is provided by server and storage units.
Managing the Cloud
Cloud management is aimed at efficiently managing the cloud so as to maintain the QoS. It is one of the prime jobs to be considered. The whole cloud is dependent on the way it is managed. Cloud management can be divided into two parts:
1. Managing the infrastructure of the cloud
2. Managing the cloud application
(1) Managing the Cloud Infrastructure
This component is mainly responsible for the QoS factor. If the infrastructure is not properly managed, then the whole cloud can fail and QoS would be adversely affected. The core of cloud management is resource management.
(a) Resource management:
SLA’S
(2) Load Balancing :
- Predictable load fluctuations are easy to handle. The cloud can be preconfigured for handling
such kind of fluctuations.
- Unpredictable load fluctuations are difficult to handle, ironically this is one of the reasons why
cloud is preferred by several users.
(3) Cloud governance :
(2) Managing the Cloud Application
Migrating Application to Cloud
(a) Cloud Migration Strategies
The type of data and applications the enterprise transfers, and the location are shifted to, significantly impact the migration strategy designed and implemented. There are six main cloud migration strategies—rehosting (lift and shift), re-platforming, repurchasing, refactoring, retiring, and retaining(re-visiting).
1. Rehosting (lift-and-shift)
2. Re-platforming:
3. Re-factoring
It means to rebuild our applications from leverage to scratch cloud-native abilities because it could not perform serverless computing or auto-scaling.
A potential disadvantage is vendor lock-in as we are re-creating on the cloud infrastructure. It is the most expensive and time-consuming route as we may expect.
But, it is also future-proof for enterprises that wish to take benefit from more standard cloud features.
4. Re-purchasing:
5. Retiring
When we don't find an application useful and then simply turn off these applications. The consequencing savings may boost our business situation for application migration if we are accessible for making the move.
6. Re-visiting
Re-visiting may be all or some of our applications must reside in the house. For example, applications that have unique sensitivity or handle internal processes to an enterprise. Don't be scared for revisiting cloud computing at any later date. We must migrate only what makes effects to the business.
�
(b) Process and Phases of Cloud Migration
There are various ways to go about a cloud migration based on the type of strategy you choose or the size of your organization.
1. Evaluation: Evaluation is carried out for all the components like current infrastructure and application architecture, environment in terms of compute, storage, monitoring, and management, SLAs, operational processes, financial considerations, risk, security, compliance, and licensing needs are identified to build a business case for moving to the cloud.
2. Migration strategy: Based on the evaluation, a migration strategy is drawn—a hot plug strategy is used where the applications and their data and interface dependencies are isolated and these applications can be operationalzed all at once. A fusion strategy is used where the applications can be partially migrated; but for a portion of it, there are dependencies based on existing licenses, specialized server requirements like mainframes, or extensive interconnections with other applications.
3. Prototyping: Migration activity is preceded by a prototyping activity to validate and ensure that a small portion of the applications are tested on the cloud environment with test data setup.
4. Provisioning: Premigration optimizations identified are implemented. Cloud servers are provisioned for all the identified environments, necessary platform softwares and applications are deployed, configurations are tuned to match the new environment sizing, and databases and files are replicated. All internal and external integration points are properly configured. Web services, batch jobs, and operation and management software are set up in the new environments.
(3) Benefits of cloud migration
Unit -IV�CLOUD SERVICE MODELS
�INTRODUCTION�
�
Security as a Service (SeaaS), Knowledge as a Service, and Data Analytics as a
Service.
that the users as well as the companies benefit from this. Most popular companies
providing cloud services are
Amazon, Microsoft, Google, Yahoo, EMC, Salesforce, Oracle, IBM, and many more
Infrastructure as a service
A typical IaaS provider may provide the following services as shown in Figure
1. Compute: Computing as a Service includes virtual central processing units (CPUs) and virtual main memory for the VMs that are provisioned to the end users.
A typical IaaS provider may provide the following services as shown in Figure(Contd..)
Characteristics Of IaaS
IaaS providers offer virtual computing resources to the consumers on a pay-as-you-go basis.
1. Web access to the resources: The IaaS model enables the IT users to access infrastructure resources over the Internet. When accessing a huge computing power, the IT user need not get physical access to the servers , through any web browsers or management console, the users can access the required infrastructure by IaaS easily..
2. Centralized management: Even though the physical resources are distributed, the management will be from a single place. The resources distributed across different parts can be controlled from any management console. This ensures effective resource management and effective resource utilization.
3. Elasticity and dynamic scaling: IaaS provides elastic services where the usage of resources can be increased or decreased according to the requirements. The infrastructure need depends on the load on the application. According to the load, IaaS services can provide the resources. The load on any application is dynamic and IaaS services are capable of proving the required services dynamically.
4. Shared infrastructure: IaaS follows a one-to-many delivery model and allows multiple IT users to share the same physical infrastructure. The different IT users will be given different VMs. IaaS ensures high resource utilization.
Characteristics Of IaaS(Contd..)
Characteristics Of IaaS(Contd..)
5. Preconfigured VMs: IaaS providers offer preconfigured VMs with operating systems (OSs), network configuration, etc. The IT users can select any kind of VMs of their choice. The IT users are free to configure VMs from scratch. The users can directly start using the VMs as soon as they subscribed to the services.
6. Metered services: IaaS allows the IT users to rent the computing resources instead of buying it. The services consumed by the IT user will be measured, and the users will be charged by the IaaS providers based on the amount of usage.
Suitability of IaaS
IaaS reduces the total cost of ownership (TCO) and increases the return on investment (ROI) for start-up companies that cannot invest more in buying infrastructure. IaaS can be used in the following situations:
1. Unpredictable spikes in usage: When there is a significant spike in usage of computing resources, IaaS is the best option for IT industries. When demand is very volatile, we cannot predict the spikes and troughs in terms of demand of the infrastructure.
Suitability of IaaS(Contd..)
2. Limited capital investment: New start-up companies cannot invest more on buying infrastructure for their business needs. And so by using IaaS, start-up companies can reduce the capital investment on hardware. IaaS is the suitable option for start-up companies with less capital investment on hardware.
3. Infrastructure on demand: Some organizations may require large infrastructure for a short period of time. For this purpose, an organization cannot afford to buy more on-premise resources. Instead, they can rent the required infrastructure for a specific period of time. IaaS best suits the organizations that look for infrastructure on demand or for a short time period.
Pros and Cons of IaaS
Being one of the important service models of cloud computing, IaaS provides lot of benefits to the IT users. The following are the benefits provided by IaaS:
1. Pay-as-you-use model: The IaaS services are provided to the customers on a pay-per-use
basis. This ensures that the customers are required to pay for what they have used. This
model eliminates the unnecessary spending on buying hardware.
2. Reduced TCO: Since IaaS providers allow the IT users to rent the computing resources, they need not buy physical hardware for running their business. The IT users can rent the IT infrastructure rather than buy it by spending large amount. IaaS reduces the need for buying hardware resources and thus reduces the TCO.
3. Elastic resources: IaaS provides resources based on the current needs. IT users can scale up or scale
down the resources whenever they want. This dynamic scaling is done automatically using some load
balancers. This load balancer transfers the additional resource request to the new server and
improves application efficiency.
4. Better resource utilization: Resource utilization is the most important criteria to succeed in the IT
business. The purchased infrastructure should be utilized properly to increase the ROI. IaaS ensures
better resource utilization and provides high ROI for IaaS providers.
5. Supports Green IT: In traditional IT infrastructure, dedicated servers are used for different business
needs. Since many servers are used, the power consumption will be high. This does not result in
Green IT. In IaaS, the need of buying dedicated servers is eliminated as single infrastructure is shared
between multiple customers, thus reducing the number of servers to be purchased and hence the
power consumption that results in Green IT.
Drawbacks of IaaS
1. Security issues: Since IaaS uses virtualization as the enabling technology, hypervisors play an important role. There are many attacks that target the hypervisors to compromise it. If hypervisors get compromised, then any VMs can be attacked easily. Most of the IaaS providers are not able to provide 100% security to the VMs and the data stored on the VMs.
2. Interoperability issues: There are no common standards followed among the different IaaS providers. It is very difficult to migrate any VM from one IaaS provider to the other. Sometimes, the customers might face the vendor lock-in problem.
3. Performance issues: IaaS is nothing but the consolidation of available resources from the distributed cloud servers. Here, all the distributed servers are connected over the network. Latency of the network plays an important role in deciding the performance. Because of latency issues, sometimes the VM contains issues with its performance.
Summary Of IaaS Providers
Platform as a Service(PaaS)
1.Programming languages: PaaS providers provide a wide variety of programming languages for the developers to develop applications. Some of the popular programming languages provided by PaaS vendors are Java, Perl, PHP, Python, Ruby, Scala, Clojure and so on.
2. Application frameworks: PaaS vendors provide application frameworks that simplify the application development. Some of the popular application development frameworks provided by a PaaS provider include Node.js, Rails, Drupal, Joomla, WordPress, Django, EE6, Spring, Play, Sinatra, Rack, and Zend.
3.Database: Since every application needs to communicate with the databases, it becomes a must-have tool for every application. PaaS providers are providing databases also with their PaaS platforms. The popular databases provided by the popular PaaS vendors are ClearDB, PostgreSQL, Cloudant , Membase , MongoDB, and Redis.
4.Other tools: PaaS providers provide all the tools that are required to develop, test, and deploy an application.
Characteristics of PaaS
PaaS development platforms are different from the traditional application development platforms. The following are the essential characteristics that make PaaS unique from traditional development :
1. All in one: Most of the PaaS providers offer services to develop, test, deploy, host, and maintain applications in the same IDE. Additionally, many service providers provide all the programming languages, frameworks, databases, and other development-related services that make developers choose from a wide variety of development platforms.
2. Web access to the development platform: A typical development platform uses any IDEs for developing applications. Typically, the IDE will be installed in the developer’s machines. But, PaaS provides web access to the development platform. Using web UI, any developer can get access to the development platform. The web-based UI helps the developers create, modify, test, and deploy different applications on the same platform.
3. Offline access: A developer may not be able to connect to the Internet for a whole day to access the PaaS services. When there is no Internet connectivity, the developers should be allowed to work offline. To enable offline development, some of the PaaS providers allow the developer to synchronize their local IDE with the PaaS services. The developers can develop an application locally and deploy it online whenever they are connected to the Internet.
4. Built-in scalability: Scalability is an important requirement for the new-generation web or SaaS applications. It is very difficult to enable the dynamic scalability for any application developed using traditional development platforms. But, PaaS services provide built-in scalability to an application that is developed using any particular PaaS. This ensures that the application is capable of handling varying loads efficiently.
5. Collaborative platform: Nowadays, the development team consists of developers who are working from different places. There is a need for a common platform where the developers can collaboratively work together on the same project. Most of the PaaS services provide support for collaborative development. To enable collaboration among developers, most of the PaaS providers provide tools for project planning and communication.
6. Diverse client tools: To make the development easier, PaaS providers provide a wide variety of client tools to help the developer. The client tools include CLI, web CLI, web UI, REST API, and IDE. The developers can choose any tools of their choice. These client tools are also capable of handling billing and subscription management.
Suitability of PaaS
1. Collaborative development: To increase the time to market and development efficiency, there is a need for a common place where the development team and other stakeholders of the application can collaborate with each other. Since PaaS services provide a collaborative development environment.
2. Automated testing and deployment: Automated testing and building of an application are very useful while developing applications at a very short time frame. Most of the PaaS services offer automated testing and deployment capabilities. The development team needs to concentrate more on development rather than testing and deployment. Thus, PaaS services are the best option where there is a need for automated testing and deployment of the applications.
3.Time to market: The PaaS services follow the iterative and incremental development methodologies that ensure that the application is in the market as per the time frame given. For example, the PaaS services are the best option for application development that uses agile development methodologies. If the software vendor wants their application to be in the market as soon as possible, then the PaaS services are the best option for the development.
Pros and Cons of PaaS
1. Quick development and deployment: PaaS provides all the required development and testing tools to develop, test, and deploy the software in one place. Most of the PaaS services automate the testing and deployment process as soon as the developer completes the development. This speeds up application development and deployment than traditional development platforms.
Drawbacks of PaaS
Summary of PaaS Providers
Software as a Service(SaaS)
1. Business services: Most of the SaaS providers started providing a variety of business services that attract start-up companies. The business SaaS services include ERP, CRM, billing, sales, and human resources.
2. Social networks: Since social networking sites are extensively used by the general public, many social networking service providers adopted SaaS for their sustainability. Since the number of users of the social networking sites is increasing exponentially, cloud computing is the perfect match for handling the variable load.
3. Document management: Since most of the enterprises extensively use electronic documents, most of the SaaS providers started providing services that are used to create, manage, and track electronic documents.
4. Mail services: E-mail services are currently used by many people. The future growth in e-mail usage is unpredictable.
� �Characteristics of SaaS:��
The following are the essential characteristics of SaaS services that make it unique from traditional software:
�Suitability of SaaS�
� Pros and Cons of SaaS�
Drawbacks of SaaS
Summary of SaaS Providers
�Other Cloud Service Models�
NaaS(Network as a Service)
DEaaS(Desktop as a Service):
STaaS (Storage as a Service):�It is an ability given to the end users to store the data on the storage services provided by the service provider. STaaS allows the end users to access the files at any time from any place. The STaaS provider provides the virtual storage that is abstracted from the physical storage of any cloud data center. STaaS is also a cloud business model that is delivered as a utility. Here, the customers can rent the storage from the STaaS provider. STaaS is commonly used as a backup storage for efficient disaster recovery.
DBaaS(Database as a Service)
It is an ability given to the end users to access the database service without the need to install and maintain it. The service provider is responsible for installing and maintaining the databases. The end users can directly access the services and can pay according to their usage. DBaaS automates the database administration process. The end users can access the database services through any API or web UIs provided by the service provider. The DBaaS eases the database administration process. Popular examples of DBaaS include SimpleDB, DynamoDB, MongoDB as a Service, GAE datastore, and ScaleDB.
Data as a Service (DaaS)
SECaaS(Security as a Service)
- Backup as a Service (BaaS),
- Communication as a Service (CaaS),
- Hadoop as a Service (HaaS),
- Disaster Recovery as a Service (DRaaS),
- Testing as a Service (TaaS),
- Firewall as a Service (FWaaS),
- Virtual Private Network as a Service (VPNaaS),
- Load Balancers as a Service (LBaaS),
- Message Queue as a Service (MQaaS),
- Monitoring as a Service (MaaS).
Unit V�Cloud Service Providers
Learning Objectives
Preamble
Introduction
EMC
EMC IT
EMC: Captiva Cloud Toolkit
AWS
AWS
AWS
AWS
Microsoft
IBM
IBM
SAP Labs
SAP Labs
SAP Labs
Salesforce
Salesforce Chatter
Salesforce
Rackspace
VMware
Manjrasoft
Manjrasoft
Manjrasoft
Summary