Saturday, 2 April 2022

WHAT IS CLOUD COMPUTING ? WHAT IS AWS ? |GOOGLE CLOUD AND AZURE | CSP| CLOUD SECURITY | VIRTUALIZATION |

 

WHAT IS CLOUD COMPUTING ?

(refers to the "servers" that are accessed over the internet )


IN SIMPLE TERMS ,

It means storing , managing and accessing data and programs on the remote servers that are hosted on internet rather than computer's hard drive .

OR ,

Cloud computing is the on demand availability of computer system resources especially data storage , cloud storage and computing power without direct active management by the users .

In short , we store , manage and process data at remote servers which involves delivering hosted services over the internet . these services are divided into three main categories :- IaaS , PaaS , and SaaS . Some service providers are google cloud , aws , microsoft azure , IBM cloud , alibaba cloud etc.

Types of cloud computing includes :- 

1. PUBLIC CLOUD ( accessible to all ) , 2. PRIVATE CLOUD (services accessible within an organisation ) 3. HYBRID CLOUD (private + public cloud features ) 4. COMMUNNITY CLOUD (services accessible by group of organisations ) .


CHARACTERISTICS OF CLOUD COMPUTING :-

1. On demand self services -  It means that a consumer can request and receive access to any services offering without an administrator or some sort of support staff required to fulfill the need manually i.e. no third party involvement , direct services are provided .

2. Resource pooling -  It means resource like storage , memory , bandwidth , virtual machines i.e. , all the  services needed by the user are available for anytime use . Resource pooling means multiple users are serviced from the same resources .
 
3. Broad network  access -  It means services can be accessed from any location (using any type of device)  i.e. , anywhere and anytime access .

4. Measured services -  It means user need to pay according to the services he or she used . Pay according your usage time and service .

5. Rapid elasticity and scalability -  One of the great things about the cloud computing is the ability to quickly provision resources in the cloud when the organisation need , and remove them when they no longer need i.e. , it means resources can scaled up during high traffic and can be removed during low traffic .

6. No maintainance / easy maintainance -  It means you don't need to maintain anything or update software or pay anything for updates and maintainance .

7. Security -  The data is stored in many servers in cloud computing so if one server fails or stops the data is still safe and secure for further usage .




advantages and disadvantages of cloud computing :-

BENEFITS :-

1. resources available anywhere and anytime from any device .
2. on demand self services (no third party involve)
3. scalability ( reduce or increase resources as per traffic or  other needs)
4. pay as per use .
5. reduce IT cost (no maintainance , no need to purchase      hardwares etc. ).
6. location , device independent and unlimited storage facility .
7. collaboration (people from different countries can do a project   together) .
8. offers security and data backup in case of server failure .
9. saves time and money (no updates from your side required) .
10. provides quality control , flexibility and mobility .


 

DISADVANTAGES :-

1. network connection dependency (internet is must).
2. lack of support from service provider (choose provider wisely)
3. not all providers gives same features .
4. need knowledge and skill . 
5. somewhere chances of data leak .
6. vendor lock-in problem .




vendor lock in problem :-

IT IS THE SITUATION WHERE CUSTOMERS ARE DEPENDENT (i.e., locked-in) ON A SINGLE SERVICE PROVIDER 'S TECHNOLOGY AND IMLEMENTATIONS AND CAN NOT MOVE EASILY IN THE FUTURE TO THE DIFFERENT VENDOR WITHPUT SUBSTANCIAL COSTS , LEGAL CONSTRAINTS OR TECHNICAL COMPATIBILITIES .

Organisations may face problem when transferring their services from one vendor to another vendor . As different vendors provide different services and platforms which cause difficulty in switching to other vendor . 

 

TYPES OF VENDOR LOCK-IN RISKS :-

1. Data transfer risk :  It is not easy to move data from one CSP to another , a lot of questions arises :

               i) who is responsible for extracting the data from the                        databases ?
              ii) in what form the data will be extracted ?
              iii) what will be the format of new CSP etc. ?

2. Application transfer risk :  If we built an application on CSP that leverages many of its offerings , the reconfiguration of this application to run natively on another provider can be an extremely expensive and difficult process .

EXAMPLE: an application is built on Azure we have used Azure's data analytics and bot services , we will have to make a lot of changes to the application because these services may not be there or can be different on other CSPs .

REASON FOR SUCH DIFFICULTIES AND PROBLEMS IS THAT THERE IS NO STANDARD INTERFACES AND APIs . EVERY CSP HAS ITS OWN STANDARDS .

3.  Human resource knowledge risk :   If we are working with one CSP , our team has gain a lot of knowledge about the provider's tools and configurations . So if we move to another CSP , team will have to learn and make efforts to learn and understand the configurations , tools and processes of other CSP which will lead to time , money and human resources wastage .


 



CLOUD COMPUTING ARCHITECTURE :-

THE ARCHITECTURE OF CLOUD COMPUTING INVOLVES TWO PARTS :


FRONT  END :- 

  •  it involves graphical user interface (GUI).
  •  used by clients .
  •  contains all the client side interfaces and applications that are required to access the cloud platform .

BACK END :- 

  • used by service provider .
  • it manages all the resources that are required to provide cloud computing services .
  • it includes huge amount of data storage , security , mechanisms , virtual machines , deployment models , services etc. 

COMPONENTS OF CLOUD COMPUTING ARCHITECTURE :-

1. Client Infrastructure :  ( front end component )

-PROVIDES GUI FOR INTERACTION WITH CLOUD .

2. Application :   ( back end component )

-MAY BE ANY SOFTWARE OR PLATFORM THAT A CLIENT WANTS TO ACCESS .

3. Services :  ( back end component )

-MANAGES THE TYPE OF SERVICE THAT CLIENT WANTS TO ACCESS ACCORDING TO HIS REQUIREMENTS .

-CLOUD COMOUTING OFFERS : 
  IaaS , PaaS , SaaS .

4. Runtime Cloud  :  ( back end component )

-PROVIDES "EXECUTION AND RUNTIME ENVIRONMENT" TO THE   VIRTUAL MACHINES .

5. Storage  :   ( back end component )

-ONE OF THE MOST COMPONENT .
-PROVIDES A HUGE AMOUNT OF STORAGE CAPACITY IN THE CLOUD TO STORE AND MANAGE DATA .

6. Infrastructure :  ( back end component )

-CLOUD INFRASTRUCTURE INCLUDES HARDWARE AND SOFTWARE COMPONENTS SUCH AS SERVERS , DEVICES , VIRTUALIZATION SOFTWARES AND OTHER RESOURCES FOR CLOUD COMPUTING MODELS .

7. Management :  ( back end component )

-MANAGES SERVICES LIKE APPLICATIONS , SERVICES , INFRASTRUCTURES , etc.

8. Security :  ( back end component )

-PROVIDES SECURITY MECHANISM IN THE BACK END .

9. Internet  :  ( back end component )

-MEDIUM WHICH CONNECT AND INTERACTS FRONT END AND BACK END .


TYPES OF CLOUD COMPUTING :-


1. SOFTWARE AS A SERVICE  (SaaS) :

-IT IS A WAY OF DELIVERING SERVICES AND APPLICATIONS OVER THE INTERNET .

-WE NEED NOT TO INSTALL SOFTWARES IN OUR MACHINE . 

-MAINTAINANCE OF SOFTWARE AND HARDWARE IS DONE BY THE VENDOR . 

-GENERALLY USED BY THE END USERS .

CHARACTERISTICS :-

  • it makes the software available over internet .
  • software applications are maintained by vendors .
  • cost effective (pay as per use) .
  • available on demand .
  • can be scaled up and scaled down according to the need .
  • works on shared model , one software is used by multiple clients .
  • softwares are automatically updated .
 

BENEFITS :-


 1. efficient use of software license .
 2. platform is device independent ( user can use anroid , mac , windows etc. ) .
 3. multitenant solution .
 4. scale up and scale down .
 5. accessible anytime and anywhere .
 6. reduced time ( use directly from browser ) .
 7. cost effective ( pay as per use ) .
 
 EXAMPLE : dropbox , google drive , gmail , cisco webex , office     365 etc. 



2. PLATFORM AS A SERVICE (PaaS) :

-IT IS USED BY DEVELOPERS .

-IT PROVIDES PLATFORM AND ENVIRONMENT (runtime environment) TO ALLOW DEVELOPERS TO BUILD APPLICATIONS AND SERVICES OVER THE INTERNET .

-OFFERS  DEVELOPMENT AND DEPLOYMENT TOOLS REQUIRED TO DEVELOP APPLICATIONS .

-PaaS SERVICES ARE HOSTED IN THE CLOUD AND ACCESSED BY USERS VIA WEB BROWSER .

-NO CONTOL OVER THE INFRASTRUCTURE . WE WILL INTERACT WITH ONLY THE USER INTERFACE ONLY AND OPERATING SYSTEM WILL BE PROVIDED BY THE VENDOR . WE DO NOT HAVE CONTROL OVER O.S.

-PaaS PROVIDER HOST THE SOFTWARES AND HARDWARES ON ITS OWN INFRASTRUCTURE .

So , in PaaS we do not have control over the cloud infrastructures including the o.s , network , servers or storage but we have control over the deployed applications and possibly configuration settings for the application hosting environment .

ADVANTAGES  :-


1. cost effective ( pay as per use ) .
2. scale up and scale down anytime .
3. no need to purchase any software , server or data storage .
4. software updates and management done by the providers .
5. easy deployment of the web applications .


 EXAMPLE : google app engine  , force.com , heroku , windows azure etc.


3. INFRASTRUCTURE AS A SERVICE  (IaaS) :

-IT IS A TYPE OF CLOUD COMPUTING USED BY SYSTEM ADMINISTRATORS .

-IT SIMPLY PROVIDES THE UNDERLYING O.S. , SERVERS , SECURITY AND NETWORKING FOR DEVELOPING APPLICATIONS .

-IT IS A FORM OF CLOUD COMPUTING THAT DELIVERS THE FUNDAMENTAL COMPUTE , NETWORK , AND STORAGE RESOURCES TO THE CONSUMERS ON DEMAND OVER THE INTERNET AND ON A PAY AS YOU GO BASIS .

BENEFITS :-

  • we can scale up and shrink up resources as per requirements. 
  • IaaS also offers :
            -virtual machine disk storage .
            -IP address .
            -VLANs(virtual local area network) 
            -load balances .
  • we have full control over the computing resources through administrative access to VMs.
  • more control than Saas and Paas .

 EXAMPLES : IBM cloud , AWS , google cloud infrastructure , oracle cloud infrastructure .
-IN [AWS -> COMPUTE -> EC2 (web service )] we can get virtual servers , networks etc.



 
                

aPPLICATIONS OF CLOUD COMPUTING :-

-THERE ARE VARIOUS APPLICATIONS , SOME OF THEM ARE :

1. BUSINESS APPLICATIONS   :  every organisation require cloud business application to grow their business .

EXAMPLES : 

i)SALEFORCE : provide tools for ecommerce , sales etc.

i)PAYPAL :  safe payments .

2. DATA STORAGE AND BACKUP APPLICATIONS  :  we can store data like images , audios , videos , files etc. 

EXAMPLE : google drive .

3. EDUCATIONAL  APPLICATIONS  : online distance learning platforms are available .

EXAMPLE : google documents , AWS in education , chromebook for education .

4. ENTERTAINMENT  APPLICATIONS  : online games , videos , conferencing apps etc.

5. ART  APPLICATIONS  : it offers us various types of art applications for quick and easy designed attractive cards , booklets , and images .

EXAMPLE : Moo ( cloud art application used for designing business cards) .

6. SOCIAL  APPLICATIONS  : social cloud application allow a large number of users to connect with each other .
  
EXAMPLE : facebook , instagram , twitter , linkedIn etc.



TYPES OF CLOUD COMPUTING / CLOUD DEPLOYMENT MODELS :-





1. PUBLIC CLOUD  :  open to all to store and access data via internet and managed by third party (service provider ).

FUNDAMENTAL CHARACTERISTIC OF PUBLIC CLOUD IS MULTITENANCY

EXAMPLE : EC2 (Amazon elastic  compute cloud ) , Google app engine   ( PaaS for hosting and developing web applications ), Dropbox , Google drive etc.



ADVANTAGES  :-


-it is maintained by cloud service provider , so we need to maintain it .
-location independent because its services are delivered through the internet .
-high scalability .
-pay as per use (cost effective)
   
DISADVANTAGES  :-

-less secure because resources are shared publically .
-less customizable as compared to private cloud .

2. PRIVATE CLOUD  :  services accessible within an organisation i.e. it belongs to a specific organization .

NOTE: sometimes also called internal/corporate cloud .

-can be managed by organisation or third party also .





ADVANTAGES  :-

  1. High security : in private cloud , security concern are less since customer data and other sensitive information does not flow out of a private infrastructure .
  2. Data privacy : only authorized people can access data .
  3. More customizable : as companies get to customize their solution as per requirements .
  4. Improved reliability 

 DISADVANTAGES  :-

-private cloud is accessible within an organization , so the area operations is limited.

-high cost .

-low scalability .


3. HYBRID CLOUD  :  features of public and private cloud .

-critical activities are performed by private cloud and non critical activities are performed by public cloud .



ADVANTAGES  :-
 
-better scalability , security , and low cost .

DISADVANTAGES  :-


-dependency on infrastructure .
-managing is difficult and complex because there are more than one type of deployment model involved .

4. COMMUNITY CLOUD  :  allows services to be accessible by a group of several organizations to share the information between the organizations and a specific community .

-owned , managed and operated by one or more organizations in the community or third party .

ADVANTAGES  :-


1. Cost effective/reduction : it is cheaper than private cloud .
-multiple companies shares the bill , which reduces the cost .

2. sharing among the companies (resources) 

3. more secure than public cloud but less than private cloud 


DISADVANTAGES  :-


1. Data is accessible b/w organizations : since the data is stored at the same location any data stored there might be accessible by others.
-this can lead to overall security concerns about the rules and regulations to compliance between within a community cloud .

2. consistent maintainance cost  

3. overall increased cost  (than public cloud)


VIRTUALIZATION IN CLOUD COMPUTING MODELS :-


IT IS A TECHNIQUE WHICH ALLOWS TO SHARE SINGLE PHYSICAL INSTANCE OF APPLICATION OR RESOURCE AMONG MULTIPLE ORGANIZATIONS OR CUSTOMERS .

ALL VIRTUAL RESOURCES WORK INDEPENDENTLY .



HOST MACHINE    :  Machine where the virtual machine is going to be build .


GUEST MACHINE   :  Virtual machine .

HYPERVISOR  (VMM) :  Virtual machine monitor . eg - VMware and Hper-V . It is a software that creates and runs the virtual machines i.e. this software is used to create the virtualization of physical machines . Hypervisors are of two types :-
1. TYPE 1 HYPERVISOR ( bare metal hypervisor )
2.TYPE 2 HYPERVISOR ( hosted or embedded hypervisor )

BENEFITS OF HYPERVISOR :-


-better resource utilization .
-lowers the cost of the IT infrastructure .
-remote access .
-pay as per use .
-enables running multiple o.s.
-if one virtual machine is not working or having any problem , others will not be affected .




SERVERLESS CLOUD COMPUTING :


-Servers are there .

-Serverless computing is a cloud computing execution model in which the cloud service provider allocates resources on demand , taking care of the servers on behalf of the customers .
i.e. no infrastructure management and autoscaling on the basis of incoming requests , so cost effective (no charge for idle time) .

A SERVERLESS ARCHITECTURE IS A WAY TO BUILD AND RUN APPLICATIONS AND SERVICES WITHOUT HAVING TO MANAGE INFRASTRUCTURE .

YOUR APPLICATIONS SKILL RUNS ON SERVERS BUT THE SERVICE MANAGEMENT IS DONE BY THE PROVIDER .

YOU NO LONGER HAVE TO PROVISION , SCALE , OR MAINTAIN SERVERS TO RUN YOUR DATABASES , APPLICATIONS OR STORAGE SYSTEMS .

-it helps developer to focus more on their coding / business logic .
-when the app is not in use there is no computing resources allocated to the app i.e. runs for a short duration only when invoked .


CLOUD COMPUTING 


SERVICE


 PROVIDERS :-


The cloud service market has no shortage of providers. The three largest public CSPs that have established themselves as dominant fixtures in the industry are the following:

  • AWS
  • GCP
  • Microsoft Azure

Other major CSPs include the following:

  • Apple
  • Citrix
  • IBM
  • Salesforce
  • Alibaba
  • Oracle
  • VMware
  • SAP
  • Joyent
  • Rackspace

When considering a cloud service vendor, certain considerations should be taken. First, the actual suite of services can vary between providers, and business users must select a provider that offers services -- such as big data analytics or artificial intelligence (AI) services -- that support the intended use case.

Though cloud services typically rely on a pay-per-use model, different providers often have variations in their pricing plans to consider. Furthermore, if the cloud provider will be storing sensitive data, physical location of the provider's servers should also be considered.

Naturally, reliability and security should be top priorities. A provider's service-level agreement should specify a level of service uptime that is satisfactory to client business needs. When considering different cloud vendors, close attention should be given to what technologies and configuration settings are used to secure sensitive information.


AWS (AMAZON WEB SERVICES) , MICROSOFT AZURE AND GCP (GOOGLE CLOUD PROVIDER) :-


-THESE ARE THE TOP CLOUD PROVIDERS .

 
Launched in 2006, Amazon Web Services (AWS) began exposing key infrastructure services to businesses in the form of web services -- now widely known as cloud computing. The ultimate benefit of cloud computing, and AWS, is the ability to leverage a new business model and turn capital infrastructure expenses into variable costs. Businesses no longer need to plan and procure servers and other IT resources weeks or months in advance. Using AWS, businesses can take advantage of Amazon's expertise and economies of scale to access resources when their business needs them, delivering results faster and at a lower cost. Today, Amazon Web Services provides a highly reliable, scalable, low-cost infrastructure platform in the cloud that powers hundreds of thousands of businesses in 190 countries around the world. With data center locations in the U.S., Europe, Singapore, and Japan, customers across all industries are taking advantage of our low cost, elastic, open and flexible, secure platform .



Microsoft Azure is the Cloud Platform that offers a growing collection of integrated services, including compute, storage, data, networking and app. Azure is the Industry leader for both IaaS & PaaS.






Google Cloud Platform is a set of cloud computing services that Google offers, which runs on the same infrastructure that Google uses for its end-user products, such as YouTube, Gmail, and more. Google Cloud Platform (GCP) is a widely used cloud computing platform for several reasons, including their convenient, easy-to-use tools and services.

CLOUD COMPUTING SECURITY :

Security remains a primary concern for businesses contemplating cloud adoption -- especially public cloud adoption. Public CSPs share their underlying hardware infrastructure between numerous customers, as the public cloud is a multi-tenant environment. This environment demands significant isolation between logical compute resources. At the same time, access to public cloud storage and compute resources is guarded by account login credentials.

Many organizations bound by complex regulatory obligations and governance standards are still hesitant to place data or workloads in the public cloud for fear of outages, loss or theft. However, this resistance is fading, as logical isolation has proven reliable and the addition of data encryption and various identity and access management tools have improved security within the public cloud.

Ultimately, the responsibility for establishing and maintaining a secure cloud environment falls to the individual business user that is responsible for building the workload's architecture -- the combination of cloud resources and services in which the workload runs -- and implementing the security features that the cloud provider offers.



HISTORY OF CLOUD COMPUTING :-

The history and evolution of cloud computing date back to the 1950s and 1960s.

In the 1950s, companies started to use large mainframe computers, but it was too expensive to buy a computer for each user. So, during the late 1950s and early 1960s, a process called time sharing was developed to make more efficient use of expensive processor time on the central mainframe.

Time sharing enabled users to access numerous instances of computing mainframes simultaneously, maximizing processing power and minimizing downtime. This idea represents the first use of shared computing resources, the foundation of modern cloud computing.

The origins of delivering computing resources using a global network are, for the most part, rooted in 1969 when American computer scientist J.C.R. Licklider helped create the Advanced Research Projects Agency Network, the so-called precursor to the internet. Licklider's goal was to connect computers across the globe in a way that would enable users to access programs and information from any location.

In the 1970s, cloud computing began taking a more tangible shape with the introduction of the first VMs, enabling users to run more than one computing system within a single physical setup. The functionality of these VMs led to the concept of virtualization, which had a major influence on the progress of cloud computing.

In the 1970s and 1980s, Microsoft, Apple and IBM developed technologies that enhanced the cloud environment and advanced the use of the cloud server and server hosting. Then, in 1999, Salesforce became the first company to deliver business applications from a website.

In 2006, Amazon launched AWS, providing such services as computing and storage in the cloud. Following suit, the other major tech players, including Microsoft and Google, subsequently launched their own cloud offerings to compete with AWS.


Thanks for visiting !!..Hope I was able to make things clear to you ..you can comment down if anything in the above content is wrong or hard to understand .. Besides this we want to know about C /C++ Language or want to learn basics of computer , you can check my other blogs too . I am providing below the direct links :-

  1. https://computer-languages-at-ease-4-u.blogspot.com/2022/04/c-programing-c-c-language-computer.html
  2. https://computer-languages-at-ease-4-u.blogspot.com/2022/04/c-programing-software-download-vs-code.html