Thursday 23 February 2023

Theory - 57 :- Types of Cloud Computing in Details

 

Types of Cloud Computing

  1. Types According to Delivery Models
  2. Types According to Service Types

 

Types According to Delivery Models

Let's first look at the different types of cloud deployments. There are six options:

  • Private cloud.
  • Public cloud.
  • Bare metal cloud (BMC)
  • Virtual private cloud (VPC).
  • Hybrid cloud.
  • Community cloud.
  • Multi-cloud.

 

Private Cloud

The private cloud's resources are available only to a select group of users, typically all working for one organization. A private cloud runs either in on-site data centers (in the office of the company that uses the cloud) or within a third-party colocation center.

The private cloud requires the owner to build and maintain the underlying infrastructure. This model offers the same versatility and convenience as other clouds, but the strategy enables you to keep hardware management and security measures in-house.

Public Cloud

In a public cloud model, the service provider owns and manages all hardware, software, and supporting infrastructure. The vendor delivers IT resources (servers, storage, etc.) to end-users over the Internet.

Third-party providers sell public cloud services on demand, typically charging by the minute or hour of service use. The customer only pays for the central processing unit cycles, storage, and bandwidth they consume.

Bare Metal Cloud (BMC)

Bare metal cloud (BMC) is a hybrid of bare metal and cloud computing. BMC provides direct access to bare metal hardware combined with the self-service properties of cloud computing. As opposed to other cloud computing models, BMC has no virtualization overhead, while it still provides cloud-native environments deployable in less than 2 minutes.

The goal of Bare Metal Cloud is to provide all the benefits of bare metal resources combined with the flexibility of cloud computing. BMC is delivered through an Infrastructure as a Service (IaaS) model.

Virtual Private Cloud (VPC)

The virtual private cloud mixes public and private offerings—a VPC user has exclusive access to an isolated segment of a public cloud. This model is a compromise between a private and public model in terms of price and features.

You access a dedicated VPC segment via a secure connection (typically a VPN), and you have more security features than what a "vanilla" public cloud offers (custom firewallsIP address whitelisting, etc.).

Hybrid Cloud

hybrid cloud combines different on-prem and cloud environments (on-site hosting, collocation, public cloud, private cloud, etc.) to create a unified IT environment. All integrated systems communicate with each other, so there's a strong emphasis on orchestration and automation features.

Setting up a hybrid cloud is more complex than a private cloud and has some unique challenges. However, the effort pays off as you place each workload in an ideal IT environment (e.g., you run mission-critical workloads on a private cloud and use a public offering to handle workload bursts or spikes in demand).

Community Cloud

community cloud is a shared environment that supports a particular user group with the same concerns or goals (e.g., the same mission, cyber security requirements, compliance rules, etc.).

This model operates either on-site (at one or shared between multiple tenant organizations) or at a third-party facility. A community cloud is typically not open to the general public regardless of where the hosting takes place.

 

Multi-Cloud

multi-cloud is an environment in which the user relies on several cloud providers instead of a single vendor. You are free to pick and choose the best services from each provider based on:

    • Service price.
    • IT and data center requirements.
    • The location of major user bases.

Whether you want to minimize cloud outages or take advantage of a particular provider's pricing, a multi-cloud is a worthwhile option. There are some specific security risks, however, so ensure the team considers cloud computing security before you start relying on multiple vendors.

Community Cloud

community cloud is a shared environment that supports a particular user group with the same concerns or goals (e.g., the same mission, cyber security requirements, compliance rules, etc.).

This model operates either on-site (at one or shared between multiple tenant organizations) or at a third-party facility. A community cloud is typically not open to the general public regardless of where the hosting takes place.

Multi-Cloud

multi-cloud is an environment in which the user relies on several cloud providers instead of a single vendor. You are free to pick and choose the best services from each provider based on:

    • Service price.
    • IT and data center requirements.
    • The location of major user bases.

Whether you want to minimize cloud outages or take advantage of a particular provider's pricing, a multi-cloud is a worthwhile option. There are some specific security risks, however, so ensure the team considers cloud computing security before you start relying on multiple vendors.

 


Types According to Service Types

Every cloud computing service belongs in one of the four categories:

    • Infrastructure as a service (IaaS).
    • Platform as a service (PaaS).
    • Serverless computing ((or function as a service (FaaS)).
    • Software as a service (SaaS).

Providers often refer to these categories as the "stack" because they build on top of one another.


 

IaaS - Infrastructure-as-a-Service

Infrastructure as a service (IaaS) means the consumer buys access to raw computing hardware over the Internet. IaaS offers infrastructure components that typically run in the provider's data center, such as:

    • Computing resources (CPU and RAM).
    • Data storage.
    • Networking hardware.

IaaS also offers a range of services to accompany these components, such as:

    • Server monitoring.
    • Log access.
    • Cyber security measures.
    • Load balancing.
    • Clustering.
    • Managed services.
    • Disaster recovery as a service, data backups and replication.

IaaS offers the most basic computing services, so the in-house team of a client company must have a high level of IT expertise to run the system efficiently.

PaaS - Platform-as-a-Service

Platform as a service (PaaS) is a cloud computing service in which a provider delivers hardware and software tools to users. Most PaaS web-based tools aid development and end-users access them via APIs, web portals, or gateway software.

For example, a client might both develop an e-commerce website and host its key aspects (including web design, the shopping cart, checkout systems, etc.) on the cloud provider's server. The PaaS vendor provides tools needed for:

    • App design and development.
    • Software testing and deployment.
    • Web service and database integrations. competition 

PaaS offers all components in the IaaS package, plus hosts and manages operating systems and middleware the client needs to create and run an app. PaaS enables rapid development, so this model also offers on-demand environments for the entire software development life cycle.

Serverless Computing (or Function as a Service (FaaS))

In a server less model, the provider is the one who provisions, manages, and scales the cloud-based infrastructure. Developers get to focus on writing code while event-based services (such as AWS Lambda or Azure Functions) handle the execution. Clients only pay for the number of transactions that the function executes.

Like with PaaS, the provider is responsible for all routine management (OS updates and patches, security management, capacity planning, cloud monitoring, etc.). When applied correctly, server less computing leads to:

    • Lower costs of development.
    • Quicker time to release.
    • More flexibility for the in-house team.

The name is a bit misleading, though. Serverless computing does not remove the use of servers, but the client's team does not have anything to do with hardware. Instead, developers focus solely on creating apps and event-handling routines, which is why server less computing is often associated with the NoOps movement.

SaaS - Software-as-a-Service

Software as a Service (SaaS) means a client runs the complete app on the cloud and that the provider makes it available to end users over the Internet. Google Documents is the best-known example of SaaS.

As the broadest form of cloud computing, SaaS enables a client to think only about how the business and customers use the software, not how to deliver or maintain it.

 

 

 


Theory -56.1 :- Benefits and Disadvantages of Cloud Computing

 

Benefits of the Cloud

 

Here are the main advantages of Cloud Computing:

  • No upfront investments: Using the cloud means you do not have to buy hosting equipment and set up a sufficient on-site facility. You also do not have to cover the costs of utilities (e.g., power) or hire a team of skilled IT Admins.

  • Less risk of downtime: Cloud providers have up time standards that are impossible to ensure on an in-house level.

  • Data accessibility: The cloud enables employees to access resources and data from any location or device. This feature makes the cloud a natural fit with remote-first teams and companies with BYOD policies.

  • Easy to scale: A business using the cloud is able to scale its IT resources up or down based on current demands.

  • No overhead: The team can monitor the use of cloud resources to ensure there's no unnecessary spending.

  • Easier (and more reliable) backups: Once the data resides in the cloud, all backup and disaster recovery (BDR) goals are easier to achieve.

  • Improved team collaboration: The cloud allows employees to share files quickly and easily. There's less need for USBs, massive downloads, and email attachments, so you also lower the attack surface.

  • Top-tier performance: Cloud services run on the latest computing hardware, so expect high performance for your cloud-based app.

  • Global scalability: If you are expanding into a new market or a user base at a specific location is growing, you deploy new servers to that area and meet current demands instantly.

  • Unlimited storage: A cloud never runs out of storage room.

  • Data security: Cloud providers offer many advanced features to ensure high data security. These measures are not a realistic in-house option for most companies.

 

Disadvantages of the Cloud


Here are the main downsides of using cloud computing:

  • You never own the equipment: While setting up in the cloud is cheaper than building an in-house server room, expenses pile up over time. In a few years, you might look back and realize all that DCO money could have gone towards a private hosting facility.

  • Clouds are complex: Private clouds, multi-cloud, and hybrid architectures are hard to design, set up, protect, and manage. Ensure the in-house team has sufficient skill sets before you go all-in on an ambitious cloud project.

  • No internet, no access: Only needing an Internet connection to access data is both a benefit and a concern. If you're offline, there's no way to access the cloud until you're back online.

  • Vendor lock-in: If you set up workloads at a third-party provider, you will likely experience vendor lock-in over time. This problem prevents moving to another vendor without impacting the hosted app. Common issues include prolonged downtime, software incompatibilities, and pricy cloud migrations.

  • Limited control: The provider is the one who owns and manages the cloud. Stay clear if this hands-off approach does not work for you (or set up a private cloud in your office).

  • Compliance issues: It is sometimes challenging to meet industry-specific regulations when hosting data at a third-party facility.

  • Security and risk concerns: While providers invest heavily in keeping data safe, cloud computing requires you to share data with a third party. You do not have direct control or complete visibility over data storage, which introduces new risks.

Friday 17 February 2023

Theory- 56 :- Cloud Computing -Definition, History , Characteristics And Types

 

What Is Cloud Computing?

Cloud computing is an umbrella term for any IT resource (server, database, networking, etc.) that the consumer uses over the Internet. The end-user outsources ready-made resources and accesses them online instead of relying on local infrastructure. Other (far less popular) names for the cloud are utility computing and on-demand computing.

Which Are The Reasons Behind To Use Cloud Services?

  • Relying on the cloud removes the need to set up and maintain an expensive on-site data center.
  • Cloud resources enable a business to quickly and cheaply build a custom IT environment that perfectly fits their requirements.
  • You can access cloud-based data from anywhere and on any device as long as you have an Internet connection.
  • The cloud offers performance and high-availability levels that are unrealistic for most companies.
  • Cloud resources scale alongside IT needs. You can instantly add more computing resources whenever necessary. The same works in reverse: once the demand returns to normal, you scale capacity down and ensure there's no needless spending.
  • Using the cloud gives continuous access to cutting-edge tech as major providers always stay at the forefront of the latest industry standards.


History of Cloud Computing

  • In the early 1950s, organizations started using computers but found it too expensive to buy a device for each department. During the late 1950s and early 1960s, companies began to use large mainframe computers and a process called time-sharing.
  • Time-sharing enabled more efficient use of processor time. Users would access instances of computing mainframes at the same time, which maximized processing power. The idea behind time-sharing is the foundation of modern cloud computing.
  • In 1969, J.C.R. Licklider pushed the concept of on-demand computing to the next level. Licklider created the Advanced Research Projects Agency Network, a precursor to the Internet that connected computers across the US and enabled users to access data from remote locations.
  • The first virtual machine (VM) in the 1970s was another big step. VMs enabled us to run multiple systems within a single physical device, a concept that had a massive impact on the progress of cloud computing.
  • In the 1980s, Google, Amazon, and Microsoft further advanced online services.
  • By the late 1990s and early 2000s, industry giants were providing services over the Internet (primarily downloadable software and online file storage).
  • In 1999, Salesforce became the first company to deliver a business app from a website.
  • In 2006, Amazon launched AWS, the first cloud service like the ones we have today. Following suit, other major tech players also entered the market with their own cloud offerings.

Characteristics Of Cloud Computing

  • On-Demand, Self-Service Provisioning: Consumers spin up resources whenever they decide they need to make a change, and the cloud updates automatically in minutes. There's no need to contact the provider whenever the client wants to tweak the system.
  • A Managed Service: Unless you run an in-house private cloud, using cloud resources is a managed IT service. The consumer does not worry about maintaining hardware, keeping software up to date, or managing the delivery network.
  • Pay-As-You-Go Model: A business typically buys cloud services on a pay-as-you-go basis, similar to how you'd pay for electricity. You buy as much (or as little) of service as you need.
  • Ultimate Scalability (both up and down): The consumer can scale up resources as needs increase and scale down as demand decreases. Adding and removing resources does not require a server restart, so updating the infrastructure does not lead to downtime.
  • Remote Access: Users are able to access their cloud-based data from wherever there's an Internet connection.
  • Multi-Tenancy: Every type of cloud enables multiple tenants to share the same physical infrastructure. Depending on the setup, the cloud is open to the general public or limited to users who meet certain criteria (e.g., employees of a specific company).
  • Switch To Operational Expenses: Working in the cloud means IT costs no longer fall under capital expenses. Learn why this should excite you in our CapEx vs OpEx article.
  • Workload Resilience: Creating redundant resources in a cloud environment is quick and straightforward, so it's easy to prevent data loss. The system also quickly recovers from disruptions (e.g., an attempt at a data breach or someone trying to inject ransom ware).

Types of Cloud Computing

There are different types of clouds in terms of deployment and service models. Not every option is a right fit for everyone, so knowing what each model offers is vital to choosing a platform that leads to long-term success.

Types According to Delivery Models

Let's first look at the different types of cloud deployments. There are six options:

  • Private cloud.
  • Public cloud.
  • Bare metal cloud (BMC)
  • Virtual private cloud (VPC).
  • Hybrid cloud.
  • Community cloud.
  • Multi-cloud.

Types According To Service Types

Every cloud computing service belongs in one of the four categories:

  • Infrastructure as a service (IaaS).
  • Platform as a service (PaaS).
  • Server less computing ((or function as a service (FaaS)).
  • Software as a service (SaaS).

 


Thursday 16 February 2023

Theory - 55 :- Search Engine and Web Browser

 

The terms "Search Engine" and "Web Browser" are related to the Internet. A search engine is basically a tool that is used for searching information over the Internet, whereas a web browser is application software that is used for loading HTML files such as web pages.


What is a Search Engine?

Search Engine is a tool that is used to search all other websites and information over the internet. Search engines are mainly intended to gather information related to different URLs (Uniform Resource Locators). A search engine contains its own database. It provides a search box to enable the user to type the keyword or a phrase for searching related information over the Internet. When you use a search engine, you enter a word or phrase, called a "query," and the search engine returns a list of web pages that are relevant to your query.

A search engine has three main components namely crawler, index, and search algorithm. The crawler is a software, also known as search engine bot, that locates the websites related to the searched keyword. The index a table of URLs which is used to improve the search process. The search algorithm is the mechanism involved behind the whole searching process. Examples of search engines include Google, Yahoo, Baidu, etc.


What is a Web Browser?

web browser is application software that is installed on the user machine. A web browser is used to load the HTML files or WebPages. The first graphical web browser was MOSAIC, launched in 1993.

When you use a web browser, you can type in a web address, called a URL, and the browser will connect to the Internet and load the website associated with that URL. A web browser makes a request for a web service or web document to the web server. It basically acts like an interface between the user machine and the web server.

Some popular examples of web browsers include Google Chrome, Microsoft Edge, Mozilla Firefox, Opera Mini, etc.


Difference between Search Engine and Web Browser

The following table highlights all the important differences between a search engine and a web browser

Sr. No.

Search Engine

Web Browser

1.

A search engine helps find information in the World Wide Web.

It makes use of the search engine to retrieve and view information from web pages.

2.

Once the information has been found, the results are displayed in one place.

The information seen on web page is actually present on the web servers.

3.

It helps gather information from multiple URL’s and helps maintain it.

They help display the web page of a current URL that is available at the server.

4.

It has its own database.

No database is required for a web browser.

5.

A search engine does not have cache memory.

A web browser contains cache memory to store cookies.

6.

Examples of search engines include Google, Yahoo, Bing, DuckDuckgo, and Baidu Internet Explorer.

Examples of web browsers include Mozilla Firefox, Netscape Navigator, and Google Chrome.


Theory - 54:- concept of Phone Gap

 

PhoneGap is an open source framework for quickly building crossplatform mobile apps using HTML5, JavaScript and CSS. Wrap your app with PhoneGap Deploy to mobile platforms! Build your app with web technology Wrap your app with PhoneGap Deploy to mobile platforms!

PhoneGap is an open source framework for quickly building crossplatform mobile apps using HTML5, JavaScript and CSS.

PhoneGap Development is a free and open source framework, the exact and efficient way for crossplatform mobile app development, and the developer accomplishes this by writing the user interface portion of their application with Web technologies such as HTML, CSS and JavaScript.

The advantage of PhoneGap Development is there won’t be any need to hire native app development experts or iPhone, Android Mobile app specialists either; a normal web app can first be written and then dropped into native app wrappers for various platforms.

PhoneGap is free and open source software (FOSS) which is used for developing crossplatform apps for iPhone, iTouch, Blackberry, Android, iPad, Android, Symbian and Plam. It is the only mobile platform known for supporting 7 platforms. The coding languages used includes HTML and JavaScript and this crossplatform mobile app development platform can access hardware features like GPS, accelerometer, camera, sound and many more. The various features PhoneGap Crossplatform mobile app development are:

  • HTML5 and JavaScript
  • Accessing the native apps
  • Multiplatform deployment of the apps
  • Benefiting from the PhoneGap built
  • Implementing PhoneGap plugin

 

PhoneGap: a framework filling the gap




While waiting on real standardized specifications, we don’t have the choice: we need to create some bridges between JavaScript and the native code of the targeted platform to have access to its capabilities. The idea is then the following one: taking the native languages of each platform (C#, ObjectiveC and Java) and creating a framework with these languages that will expose interfaces to the JavaScript developer.

This is exactly what PhoneGap is doing. Let’s take the Windows Phone case which is the main topic of this article. A

Windows Phone’s PhoneGap project is simply a Silver light application hosting the Web Browser control (and thus

IE9) as well as a Silver light Assembly written in C# which does the job to access to the accelerometer, GPS, contacts, camera and so on. In this way, as a JavaScript developer, you will use a DLL named WP7GapClassLib.dll (the PhoneGap core runtime) without even knowing it via the usage of the code embedded in the phonegap1.3.0.js file.

This DLL contains some C# code which does calls to the Silver light runtime available on the phone. As the runtime

has access to all the capabilities of the phone, the JavaScript will do also. The JavaScript library will then act as a

gateway between both worlds. Moreover, the good point of using this library is that your code will most of the time works as‐is on the PhoneGap versions of Android or iOS. PhoneGap offers then an interesting form of portability. Please note by the way that the PhoneGap support for Windows Phone is now totally complete since the recent 1.3.0 version:

At last, PhoneGap offers also another interesting service. It embeds your .js, .css, .html, .png resources inside its projects to package it as a classical application. In summary, you can use PhoneGap to package your HTML5 application for the various applications' stores. This is for instance the case of the SujiQ Windows Phone application built using this approach.

 

Let’s create our first PhoneGap project Prerequisites

Here are the very first steps you need to follow:

1. Download the Windows Phone SDK: Windows Phone SDK

2. Download the last version of Phone (1.3.0 today) on their site: http://phonegap.com/

3. Unzip the downloaded file

4.Copy the PhoneGapStarter.zip and PhoneGapCustom.zip files into \ Documents\       Visual Studio 2010\Templates\Project Templates File>New project

Once the previous steps are done, you will be able to create your first PhoneGap project. Start Visual Studio 2010, select the “Visual C#” templates and filter them via the “Gap” keyword. You should then see a new type of project named PhoneGapStarter



Name your project “MyFirstPhoneGapProject”. Once done, you will find the files I was talking about before in the Solution Explorer::

You just now have to insert your HTML5 application into the “www” directory.

Here are several tips I’d like to share with you about this default project template:

never ever touch thephonegap1.3.0.js file if you’d like to keep a portable code on other versions of PhoneGap

all files you will add inside the “www” directory must be set as “Content” in the properties window

instead of the WP7GapClassLib.dll binary file, you can add a reference to the WP7GapClassLib.csproj C# project available in the “Windows Phone\framework” directory of the downloaded PhoneGap archive. It will help you debugging or discovering the native code of the PhoneGap library if needed.

Ok, let’s now start by doing something normally impossible by default with IE9 Mango: accessing to the accelerometer’s values from JavaScript.

 

Getting the accelerometer’s values from JavaScript

  • We’re going to see here how to get the values sent back by the accelerometer (of the emulator or the real device) in a very simple way.
  • Open the “index.html” page and change its default body by this one:
  • We will simply use 3 <div> tags to display the current X, Y & Z values of the accelerometer.
  • Next step is to change the last default <script> block by this one:

Well the code is relatively selfexplicit I think. The very first thing to note is that you need to wait for the “device ready” event raised by PhoneGap to be sure to be in a stable state. You then need to subscribe to this event.

In our case, we will be callbacked into the OnDeviceReady() function. This function is getting the references to the 3 <div> tags and then asks to be notified by any changes done inside the accelerometer every 500ms with the startWatch() function. The notifications will be sent to the onSuccess() function that will have access to the acceleration object containing the x, y & z values. You’ll find the complete documentation on the PhoneGap site:

Popular Posts