NIST Architecture : Service Models & Deployment Models

NIST Architecture

  • The National Institute of Standards and Technology (NIST) has been designated by Federal Chief Information Officer (CIO) Vivek Kundra with technical leadership for US government (USG) agency efforts related to the adoption and development of cloud computing standards. 
  • The goal is to accelerate the federal government‟s adoption of secure and effective cloud computing to reduce costs and improve services.
  • The NIST cloud computing program was formally launched in November 2010 to support the federal government effort to incorporate cloud computing as a replacement for, or enhancement to, traditional information system and application models where appropriate.
  • NIST has created the following working groups in order to provide a technically-oriented strategy and standards-based guidance for the federal cloud computing implementation effort:
Cloud Computing Target Business Use Cases Working Group
Cloud Computing Reference Architecture and Taxonomy Working Group
Cloud Computing Standards Roadmap Working Group
Cloud Computing SAJACC Working Group
Cloud Computing Security Working Group

The NIST cloud computing definition is widely accepted as a valuable contribution toward providing a clear understanding of cloud computing technologies and cloud services. It provides a simple and unambiguous taxonomy of three service models available to cloud consumers: cloud software as a service (SaaS), cloud platform as a service (PaaS), and cloud infrastructure as a service (IaaS). It also summarizes four deployment models describing how the computing infrastructure that delivers these services can be shared: private cloud, community cloud, public cloud, and hybrid cloud. Finally, the NIST definition also provides a unifying view of five essential characteristics that all cloud services exhibit: on- demand self-service, broad network access, resource pooling, rapid elasticity, and measured service.

https://bigdatawg.nist.gov/_uploadfiles/M0008_v1_7256814129.pdf

Service Models

There are the following three types of cloud service models -

  1. Infrastructure as a Service (IaaS)
  2. Platform as a Service (PaaS)
  3. Software as a Service (SaaS)
Infrastructure as a Service (IaaS)
  • Iaas is also known as Hardware as a Service (HaaS).  
  • It allows customers to outsource (obtain (goods or a service) by contract from an outside supplier.) their IT infrastructures such as servers, networking, processing, storage, virtual machines, and other resources. 
  • Customers access these resources on the Internet using a pay-as-per use model.
  • IaaS cloud computing platform layer eliminates the need for every organization to maintain the IT infrastructure.
  • The service provider owns the infrastructure equipment and is responsible for housing, running, and maintaining it. The customer typically pays on a per-use basis.
  •  The customer uses their own platform (Windows, Unix), and applications 
  • The main advantage of using IaaS is that it helps users to avoid the cost and complexity of purchasing and managing the physical servers.
IaaS provider provides the following services,
  • Compute: Computing as a Service includes virtual central processing units and virtual main memory for the VMs that is provisioned to the end- users.
  • Storage: IaaS provider provides back-end storage for storing files.
  • Network: Network as a Service (NaaS) provides networking components such as routers, switches, and bridges for the VMs.
  • Load balancers: It provides load balancing capability at the infrastructure layer.

Advantages

1. Shared infrastructure- IaaS allows multiple users to share the same physical infrastructure.

2. Web access to the resources- Iaas allows IT users to access resources over the internet.

3. Pay-as-per-use model- IaaS providers provide services based on the pay-as-per-use basis. The users are required to pay for what they have used.

4. Focus on the core business- IaaS providers focus on the organization's core business rather than on IT infrastructure.

5. On-demand scalability- On-demand scalability is one of the biggest advantages of IaaS. Using IaaS, users do not worry about to upgrade software and troubleshoot the issues related to hardware components. 

Disadvantages 

1. Security- Security is one of the biggest issues in IaaS. Most of the IaaS providers are not able to provide 100% security.

2. Maintenance & Upgrade- Although IaaS service providers maintain the software, but they do not upgrade the software for some organizations.

3. Interoperability issues- It is difficult to migrate VM from one IaaS provider to the other, so the customers might face problem related to vendor lock-in. 

Example: DigitalOcean, Linode, Amazon Web Services (AWS), Microsoft Azure, Google Compute Engine (GCE), Rackspace, and Cisco Metacloud.

 
Infrastructure as a Service
 
 
Platform as a Service (PaaS)
  • Platform as a Service (PaaS) provides a runtime environment. 
  • It allows programmers to easily develop, test, run, and deploy web applications. 
  • You can purchase these applications from a cloud service provider on a pay-as-per use basis and access them using the Internet connection.
  • In PaaS, back end scalability is managed by the cloud service provider, so end- users do not need to worry about managing the infrastructure.
  • PaaS includes infrastructure (servers, storage, and networking) and platform (middleware, development tools, database management systems, business intelligence, and more) to support the web application life cycle. 
PaaS providers provide the Programming languages, Application frameworks, Databases, and Other tools:
  • Programming languages- PaaS providers provide various programming languages for the developers to develop the applications. Some popular programming languages provided by PaaS providers are Java, PHP, Ruby, Perl, and Go.

  • Application frameworks- PaaS providers provide application frameworks to easily understand the application development. Some popular application frameworks provided by PaaS providers are Node.js, Drupal, Joomla, WordPress, Spring, Play, Rack, and Zend.

  • Databases- PaaS providers provide various databases such as ClearDB, PostgreSQL, MongoDB, and Redis to communicate with the applications.

  • Other tools- PaaS providers provide various other tools that are required to develop, test, and deploy the applications.

Advantages

1) Simplified Development- PaaS allows developers to focus on development and innovation without worrying about infrastructure management.

2) Lower risk- No need for up-front investment in hardware and software. Developers only need a PC and an internet connection to start building applications.

3) Prebuilt business functionality- Some PaaS vendors also provide already defined business functionality so that users can avoid building everything from very scratch and hence can directly start the projects only.

4) Instant community- PaaS vendors frequently provide online communities where the developer can get the ideas to share experiences and seek advice from others.

5) Scalability- Applications deployed can scale from one to thousands of users without any changes to the applications.

Disadvantages

1) Vendor lock-in- One has to write the applications according to the platform provided by the PaaS vendor, so the migration of an application to another PaaS vendor would be a problem.

2) Data Privacy- Corporate data, whether it can be critical or not, will be private, so if it is not located within the walls of the company, there can be a risk in terms of privacy of data.

3) Integration with the rest of the systems applications- It may happen that some applications are local, and some are in the cloud. So there will be chances of increased complexity when we want to use data which in the cloud with the local data.

Example: AWS Elastic Beanstalk, Windows Azure, Heroku, Force.com, Google App Engine, Apache Stratos, Magento Commerce Cloud, and OpenShift.

  Platform as a Service
 
 
Software as a Service (SaaS)
  • SaaS is also known as "On-Demand Software". 
  • It is a software distribution model in which services are hosted by a cloud service provider. These services are available to end-users over the internet so, the end-users do not need to install any software on their devices to access these services.

There are the following services provided by SaaS providers -

  • Business Services - SaaS Provider provides various business services to start-up the business. The SaaS business services include ERP (Enterprise Resource Planning), CRM (Customer Relationship Management), billing, and sales.
  • Document Management - SaaS document management is a software application offered by a third party (SaaS providers) to create, manage, and track electronic documents.

Example: Slack, Samepage, Box, and Zoho Forms.

  • Social Networks - As we all know, social networking sites are used by the general public, so social networking service providers use SaaS for their convenience and handle the general public's information.
  • Mail Services - To handle the unpredictable number of users and load on e-mail services, many e-mail providers offering their services using SaaS.

Advantages 

1) SaaS is easy to buy- SaaS pricing is based on a monthly fee or annual fee subscription, so it allows organizations to access business functionality at a low cost, which is less than licensed applications.

Unlike traditional software, which is sold as a licensed based with an up-front cost (and often an optional ongoing support fee), SaaS providers are generally pricing the applications using a subscription fee, most commonly a monthly or annually fee.

2. One to Many- SaaS services are offered as a one-to-many model means a single instance of the application is shared by multiple users.

3. Less hardware required for SaaS- The software is hosted remotely, so organizations do not need to invest in additional hardware.

4. Low maintenance required for SaaS- Software as a service removes the need for installation, set-up, and daily maintenance for the organizations. The initial set-up cost for SaaS is typically less than the enterprise software. SaaS vendors are pricing their applications based on some usage parameters, such as a number of users using the application. So SaaS does easy to monitor and automatic updates.

5. No special software or hardware versions required- All users will have the same version of the software and typically access it through the web browser. SaaS reduces IT support costs by outsourcing hardware and software maintenance and support to the IaaS provider.

6. Multidevice support- SaaS services can be accessed from any device such as desktops, laptops, tablets, phones, and thin clients.

7. API Integration- SaaS services easily integrate with other software or services through standard APIs.

8. No client-side installation- SaaS services are accessed directly from the service provider using the internet connection, so do not need to require any software installation.

Disadvantages

1) Security- Actually, data is stored in the cloud, so security may be an issue for some users. However, cloud computing is not more secure than in-house deployment.

2) Latency issue- Since data and applications are stored in the cloud at a variable distance from the end-user, there is a possibility that there may be greater latency when interacting with the application compared to local deployment. Therefore, the SaaS model is not suitable for applications whose demand response time is in milliseconds.

3) Total Dependency on Internet- Without an internet connection, most SaaS applications are not usable.

4) Switching between SaaS vendors is difficult- Switching SaaS vendors involves the difficult and slow task of transferring the very large data files over the internet and then converting and importing them into another SaaS also.

Example: BigCommerce, Google Apps, Salesforce, Dropbox, ZenDesk, Cisco WebEx, ZenDesk, Slack, and GoToMeeting.

Software as a Service

 

 

 

 

 

 

 

Difference Between IaaS PaaS and SaaS - Pediaa.Com

 What are the Differences Between IaaS, PaaS and SaaS? - INAP 

 Deployment Models

4 Cloud Deployment Models: Their advantages and disadvantages -  TurningCloud Solutions Blogs

 https://www.simform.com/blog/cloud-deployment-models-vm-iaas-containers-serverless/

Elasticity In CLoud

https://www.geeksforgeeks.org/scalability-and-elasticity-in-cloud-computing/




 

 

No comments:

Post a Comment

Monk and Inversions

using System; public class Solution { public static void Main () { int T = Convert . ToInt32 ( Console . ReadLine...