The concept of cloud started in early days of the internet where people would shorthand the entire internet as a cloud of other computers and servers available on the internet to do your work and not be limited to the memory and processor of the machine on your desk. In many ways, cloud computing is a metaphor for the internet, the increasing movement of computing data resources on the web. Cloud computing represents a new tipping point for the value of network computing. It delivers higher efficiency, massive scalability, and faster, easier software development. Cloud computing comes into focus only when you think about what IT always needs: a way to increase capacity or add capabilities on the fly without investing in new infrastructure, training new personnel, or licensing new software. Cloud computing encompasses any Subscription-based or pay-per-use service that, in real time over the Internet, extends IT’s existing capabilities.
Cloud computing refers to any situation in which computing is done in a remote location (out in the clouds) rather than your portable device or desktop wherein the computing power is tapped over an internet connection. At basic level cloud computing is simply a means of delivering IT resources as services. Almost all IT resources can be delivered as a cloud service: applications, compute power, storage capacity, networking, programming tools, communication services even collaboration tools. Cloud computing began as large-scale internet service providers such as Google, Amazon and others built out their infrastructure. A new architecture emerged: A massively scaled, horizontally distributed system resources, abstracted as virtual IT services and managed as continuously configured pooled resources. This new model was applied to internet services.
2.1 Cloud computing vs. Utility computing:
Utility computing often requires cloud-like infrastructure; its focus is on the business model on which provide the computing services are based. Simply put, utility computing service is the one in which customer services computing resources from a service provider (hardware or software) and pay for the utility. In cloud computing, a single user at any given point only gets a small portion of the utility or the cloud.
2.2 Cloud computing vs. Grid computing:
Grid computing is applying the resources of many computers in a network to a single problem at the time usually to a scientific or technical problem that requires a great number of computer processing and a large amount of data whereas cloud computing is about lots of small allocation requests.
2.3 Cloud computing vs. Autonomic computing:
The autonomic computing system is a self-managing computing system, capable of handling the need for increasingly complex tasks while keeping itself in check. Cloud computing relies on many features of autonomic computing, however, the idea behind the cloud computing is more ambitious i.e. extending the power by spreading out the work.
When talking about a cloud computing system, it is helpful to divide it into three sections: the front end, the central system, and the back end. They connect to each other through a network, usually the Internet via a set of protocols. The front end is the side the computer user, or client. The back end is the “cloud” section of the system.
The front end includes the client’s computer and the application required to access the cloud computing system. This could include services like accessing social networking accounts via web browsers, Salesforce (CRM application), Zuora (subscription business model), etc.
A central server administers the system, monitoring traffic and client demands to ensure everything runs smoothly. It follows a set of rules called protocols and uses integration software called middleware. Middleware allows networked computers to communicate with each other via web services or REST APIs. Middleware software can run on-premise or on the cloud. The best example for an on-premise middleware is Tibco software and for cloud-based, there are many like Oracle Fusion Middleware, Mulesoft, Red Hat JBoss Fusee, etc. Most of the cloud supported software support on-premise too.
On the back end of the system are the various computers, servers, and data storage systems that create the “cloud” of computing services. In theory, a cloud computing system could include practically any computer program you can imagine, from data processing to video games. Usually, each application will have its own dedicated server.
So when a customer creates an account in Salesforce system (front end application) the account details sent to Middleware software like Mulesoft via a set of protocols. Next, the account details are pushed end systems like other CRM systems, cloud database, etc.
In the initial days, only the front end system was available on the cloud and middleware would run on-premise. This architecture would slower the data processing. In recent days, middleware systems are also being pushed to the cloud in order to achieve better results in data processing and fasten up response time to end users.
To secure clients data, a cloud computing system must make a copy of all its clients’ information and store it on different servers as a backup. The copies enable the central server to access backup machines to retrieve data that otherwise would be unreachable.
It is at the highest layer and features a complete application offered as a service, on-demand, via multi-tenancy, meaning a single instance of the software runs on the provider’s infrastructure and serves multiple client organizations. SaaS represents a number of licensing and pricing models for the vendors to choose from that includes pay-as-you-go, subscription-based, revenue-based, transaction-based and other. Some even go as far as offering complete services free of charge preferring to monetize with ads only.
The middle layer is the encapsulation of a development environment abstraction and the packaging of a payload of services. PaaS is an integrated platform to build, test and deploy custom applications.
HaaS is at the lowest level and is a means of delivering basic storage and compute capabilities as standardized services over the network. Servers, storage systems, switches, routers, and other systems are pooled (through virtualization) to handle specific types of workloads from batch processing to server augmentation during peak loads.
Public clouds are run by third parties, and jobs from many different customers may be mixed together and the servers, storage systems, and other infrastructure within the cloud. End users don’t know who else’s job may be running on the server, network, or disk as their own jobs.
Private clouds are a good option for companies dealing with data protection and service-level issues. Private clouds are on-demand infrastructure owned by a single customer who controls which applications run and where. They own the server, network, and disk and can decide which users are allowed to use the infrastructure.
Hybrid clouds combine public and private cloud models. You own parts and share other parts, though in a controlled way. Hybrid clouds offer the promise of on-demand, externally provisioned scale, but add the complexity of determining how to distribute applications across these environments.
The applications of cloud computing are practically limitless. With the right middleware, a cloud computing system could execute all the programs a normal computer could run. Potentially, everything from generic word processing software to customized computer programs designed for a specific company could work on a cloud computing system.
Why would anyone want to rely on another computer system to run programs and store data? Here are just a few reasons:
If the cloud computing system’s back end is a grid computing system, then the client could take advantage of the entire network’s processing power. Often, scientists and researchers work with calculations so complex that it would take years for individual computers to complete them. On a grid computing system, the client could send the calculation to the cloud for processing. The cloud system would tap into the processing power of all available computers on the back end, significantly speeding up the calculation.
Cloud computing with all its benefits also has its own set of limitations which restrict enterprises to move their applications in the cloud. Some of these limitations are:
The cloud has been a revolution in terms of response time to the client. It abstracts the software application platform from the underlying hardware infrastructure, freeing developers and users from becoming locked into specific hardware. We can foresee that many applications which we use in our daily life would be deployed on the cloud in order to better the consumer-to-provider relationship.
The configuration of resources can be a time-consuming and difficult operation while creating a React…
Programming Languages are a set of rules that aid in transforming a concept into a…
Serverless edge computing is a new technology with a lot of promise, but it can…