What is Cloud Computing? – A Comprehensive Guide on Cloud Computing. Here Coding compiler sharing a complete beginners guide to cloud computing. If you are new cloud computing you should read this article and learn about cloud computing. Let’s start learning.
What is Cloud Computing?
What is Cloud Computing – Cloud computing provides computing power, database storage, applications, and other IT resources on demand through the Internet cloud service platform, using an on-demand payment pricing model.
Cloud Computing Basics
Whether you’re running a photo-sharing app with millions of mobile users or supporting the critical operations of your business, the cloud services platform gives you quick access to flexible, low-cost IT resources. With cloud computing, you don’t have to invest heavily in hardware and spend a lot of time maintaining and managing the hardware. In contrast, you can precisely configure the right type and scale of computing resources you need to power your new ideas or help run your IT department. You can access as many resources as you need, basically real-time access, and pay only for the actual usage.
How Does Cloud Computing Work?
Cloud computing accesses servers, storage, databases, and various application services over the Internet in a simple way. Cloud service platforms such as Amazon Web Services own and maintain the networking hardware required for such application services, and you only need to configure and use the resources you need through a web application.
Brief History of Cloud Computing
In 1983, Sun Microsystems proposed “The Network is the Computer”. In March 2006, Amazon launched the Elastic Compute Cloud (EC2) service.
August 9, 2006, Google CEO Eric Schmidt (Eric Schmidt) search engine Assembly (SES San Jose 2006) first proposed the ” cloud computing ” (Cloud Computing) concept. Google “Cloud Computing” comes from the “Google 101” project by Google engineer Christopher Bihlia.
In October 2007, Google and IBM began promoting cloud computing programs at US university campuses, including Carnegie Mellon University, Massachusetts Institute of Technology, Stanford University, University of California at Berkeley, and the University of Maryland.
Hope to reduce the cost of distributed computing technology in academic research, and provide relevant software and hardware equipment and technical support for these universities (including hundreds of personal computers and BladeCenter and System x servers, these computing platforms will provide 1,600 processors) Support for open source platforms including Linux , Xen , Hadoop, etc.). Students can develop research projects based on large-scale computing through the Internet.
July 29, 2008, Yahoo, Hewlett-Packard and Intel announced a covering the United States, Germany and Singapore joint research program, launched cloud computing research testbed to promote cloud computing. The plan is to create 6 data centres with partners as a research and test platform with 1400 to 4000 processors per data centre.
These partners include the Singapore Institute of Information and Communications Development, the Steinbuch Computing Center at the University of Karlsruhe in Germany, the University of Illinois at Champagne, the Intel Institute, HP Labs, and Yahoo.
August 3, 2008, the US Patent and Trademark Office Web site information display, Dell is applying ” cloud computing ” (Cloud Computing) trademark, a move aimed at strengthening the control of the future may reshape the technical architecture of the term.
March 5, 2010, Novell and the Cloud Security Alliance (CSA) jointly announced a vendor-neutral plan, called “trusted cloud computing program (Trusted Cloud Initiative)”.
In July 2010, NASA and support vendors including Rackspace, AMD, Intel and Dell jointly announced the ” OpenStack ” open-source plan. In October 2010, Microsoft expressed support for the integration of OpenStack and Windows Server 2008 R2; Ubuntu has added OpenStack to version 11.04.
In February 2011, Cisco Systems officially joined OpenStack, focusing on the development of OpenStack network services.
Six advantages and benefits of cloud computing
Turn capital investment into variable input
Instead of investing heavily in building data centres and servers, you don’t need to use cloud services, so you only pay when you use computing resources, just pay for what you use.
The advantages of large-scale economies of scale
With cloud computing, you get a lower variable cost and are much stronger than you do. Because the cloud brings together thousands of customers, providers like Amazon Web Services can take advantage of economies of scale to turn this feature into lower pay-per-use prices.
No need to guess the capacity
No longer have to guess the infrastructure capacity needs. If you’ve determined capacity before deploying your application, you can generally avoid expensive idle resources or worry about limited capacity. With cloud computing, none of these problems will arise. You can access resources of any size, more or less, and expand or shrink as needed, all in just a few minutes.
Increase speed and flexibility
In a cloud computing environment, new IT resources can be configured in a click with a mouse, which can save significant time and reduce the time it takes for developers to provision resources from weeks to minutes. This allows the organization’s flexibility to increase significantly as the cost and time spent on trials and development are significantly reduced.
Don’t invest in the operation and maintenance of the data centre anymore.
Focus on projects that make your company unique, not infrastructure. Cloud computing allows you to focus on your customers and remove the heavy lifting of installing and maintaining servers.
Expand your business to the world in minutes
Easily deploy your app in multiple areas of the world with just a few clicks. This means you can easily help your customers get lower latency and a better experience with minimal cost.
Features of Cloud Computing
Cloud computing is calculated by the distribution of a large number of distributed computing on the machine, rather than the local computer or remote servers, corporate data centres running with the Internet more similar. This allows companies to switch resources to the applications they need and access computers and storage systems as needed.
It is like turning from the old single generator model to the centralized power supply mode of the power plant. It means that computing power can also be circulated as a commodity, just like gas and water, easy to access and low cost. The biggest difference is that it is transmitted over the Internet.
The generally accepted characteristics of cloud computing are as follows:
(1) Very large scale: “Cloud” has a considerable scale, Google Cloud Computing already has more than 1 million servers, Amazon, IBM, Microsoft, Yahoo and other “cloud” have hundreds of thousands of servers. Enterprise private clouds typically have hundreds of thousands of servers. “Cloud” can give users unprecedented computing power.
(2) Virtualization: Cloud computing allows users to access application services from any location using a variety of terminals. The requested resource comes from the “cloud” rather than a fixed tangible entity. The app runs somewhere in the “cloud”, but in reality, the user doesn’t need to know or worry about where the app is running. Only need a laptop or a mobile phone, you can use network services to achieve everything we need, even including such tasks as supercomputing.
(3) High reliability: “Cloud” uses data multi-copy fault tolerance and compute node isomorphism interchangeability measures to ensure high reliability of services. It is more reliable to use cloud computing than to use local computers.
(4) Versatility: Cloud computing does not target specific applications. Under the support of “cloud”, it is possible to construct ever-changing applications. The same “cloud” can support different applications at the same time.
(5) High scalability: The scale of the “cloud” can be dynamically scaled to meet the needs of application and user scale growth.
(6) On-demand service: “Cloud” is a huge resource pool that you buy on demand; the cloud can be billed like tap water, electricity, and gas.
(7) Extremely cheap: Because the cloud’s special fault-tolerant measures can use extremely inexpensive nodes to form a cloud, the automated centralized management of the “cloud” allows a large number of enterprises do not have to bear the increasing cost of data center management, and the versatility of the “cloud” makes resource utilization Compared with traditional systems, users can fully enjoy the low-cost advantage of “cloud”, often spending hundreds of dollars and several days to complete tasks that previously required tens of thousands of dollars and months to complete.
Cloud computing can completely change people’s future lives, but at the same time, we must also pay attention to environmental issues, so that we can truly contribute to human progress, rather than simple technological advancement.
(8) Potential danger: In addition to providing computing services, cloud computing services must provide storage services. But cloud computing services are currently monopolized in the hands of private institutions (enterprises), and they are only able to provide commercial credit. For government agencies and commercial organizations (especially those with sensitive data such as banks), there should be sufficient vigilance for the selection of cloud computing services.
Once commercial users use cloud computing services provided by private organizations on a large scale, no matter how strong their technological advantages are, they inevitably let these private organizations use the “data (information)” importance to curb the entire society. For the information society, “information” is crucial.
On the other hand, data in cloud computing is confidential to other users of cloud computing users other than data owners, but there is no secret to the business that provides cloud computing. All of these potential dangers are an important premise that business organizations and government agencies have to consider when choosing cloud computing services, especially those provided by foreign institutions.
Cloud Computing Influences
Let’s discuss on how cloud computing influences software development and software testing.
Cloud Computing Influence on Software Development
In the cloud computing environment, software technology and architecture will change significantly. First, the developed software must be compatible with the cloud, it is possible with virtual core cloud platform to combine to adopt computing power, dynamic change storage capacity; the second is to be able to meet a large number of users to use, comprising a data storage structure, processing capacity; third is to Internet technology, to provide Internet-based applications; Fourth, higher security requirements, can resist attacks and protect private information, Fifth, can work in a variety of environments mobile terminals, mobile phones, computers and other networks.
In the cloud computing environment, the software development environment and work model will also change. Although the traditional software engineering theory will not fundamentally change, the development tools, development environment, and development platform based on the cloud platform will bring convenience to the agile development, collaboration within the project group, and development in other places. The software development project team can use the cloud platform to realize online development and realize knowledge accumulation and software reuse through the cloud.
In the cloud computing environment, the final manifestations of software products are more varied and diverse. On the cloud platform, the software can be a service, such as SAAS, or it can be a Web Services, or it can be an online downloadable application, such as Apple’s online store application software, and so on.
Cloud Computing Influence on Software Testing
In the cloud computing environment, due to changes in software development work, it will inevitably affect and change software testing. Changes in software technology and architecture require that the focus of software testing should be adjusted accordingly. While focusing on traditional software quality, software testing should also pay attention to the new quality requirements of cloud computing environments, such as software dynamic adaptability, a large number of user support capabilities, security, and multi-platform compatibility.
In the cloud computing environment, software development tools, environments, and work patterns have changed, and tools, environments, and work patterns that require software testing have also undergone corresponding changes.
Software testing tools should also work on the cloud platform. The use of testing tools should also be carried out through the cloud platform instead of the traditional local mode; the software testing environment can also be ported to the cloud platform to test through the cloud. Environment; Software testing should also enable collaboration, knowledge sharing, and test reuse through the cloud. Software Product manifestation of change, requiring software testing can test different forms of products, such as Web Services test, test Internet applications, mobile intelligent terminal software testing and so on.
Relationship Between Cloud Computing and Big Data
From a technical point of view, the relationship between big data and cloud computing is as inseparable as the front and back of a coin. Big data must not be processed by a single computer. It must adopt a distributed computing architecture. It features mining of massive amounts of data, but it must rely on cloud computing for distributed processing, distributed databases, cloud storage, and virtualization technologies.
Cloud computing allows developers and IT departments to focus on the most valuable work, avoiding distractions such as procurement, maintenance, and capacity planning. Cloud computing has become increasingly popular, and several different models and deployment strategies have emerged to meet the specific needs of different users.
Each type of cloud service and deployment method provides different levels of control, flexibility, and management capabilities. Understanding the differences between infrastructure-as-a-service, platform-as-a-service, and software-as-a-service, as well as deployment strategies that can be used, helps to select the right mix of services based on requirements.
Cloud Computing Service Models
There are three main types of cloud computing, commonly referred to as, Infrastructure as a Service (IaaS), Platform as a Service (PaaS) and Software as a Service (SaaS). Choosing the right type of cloud computing as needed can help get the right control while avoiding the tedious work of meaninglessness.
Infrastructure as a Service (IaaS):
Infrastructure as a Service, sometimes abbreviated as IaaS, contains the basic building blocks of cloud IT and typically provides access to networking functions, computers (virtual or dedicated hardware), and data storage space. Infrastructure as a Service provides the highest level of flexibility and management control of IT resources, and its mechanism is the closest to existing IT resources that are familiar to many IT departments and developers today.
Platform as a Service (PaaS):
Platform as a Service eliminates the organization’s need for management of the underlying infrastructure (usually hardware and operating systems), allowing you to focus more on application deployment and management. This helps improve efficiency because you don’t have to worry about resource acquisition, capacity planning, software maintenance, patch installations, or any tedious work related to the operation of the application that cannot generate value.
Software as a Service (SaaS):
Software as a service provides a complete product, and its operation and management are all the responsibility of the service provider. Often referred to as software as a service refers to an end-user application. When using SaaS products, the maintenance of the service and the management of the underlying infrastructure are all without your concerns. You only need to consider how to use SaaS software. A common application of SaaS is Web-based e-mail. In this scenario, you can send and receive e-mail messages without having to manage feature additions to e-mail products, or maintain the servers and operating systems that the e-mail program runs on.
Cloud Computing Deployment Model
Cloud-based applications are fully deployed in the cloud and all components of the application run in the cloud. There are two types of applications in the cloud, one is created in the cloud, and the other is the migration from the existing infrastructure to the cloud to take advantage of cloud computing. Cloud-based applications can be built on infrastructure components, or they can use higher-level services that provide abstraction extraction capabilities from the core infrastructure management, architecture, and extension requirements.
Hybrid deployment is a way to connect infrastructure and applications between cloud-based and non-cloud existing resources. The most common approach to hybrid deployment is to extend the infrastructure of the organization to the cloud between the cloud and the existing internal infrastructure while connecting the cloud resources to the internal systems.
The use of virtualization and resource management tools to deploy resources internally is often referred to as “private clouds.” On-premises deployment cannot provide many advantages of cloud computing, but it is sometimes used to provide dedicated resources. In most cases, this deployment model is no different than a legacy IT infrastructure, with application management and virtualization technologies that maximize resource utilization.
Cloud Computing and Amazon Web Services
Amazon Web Services (AWS) is a secure cloud services platform that provides computing power, database storage, content delivery, and other features to help achieve business expansion and growth.
AWS – An Extensive IT Infrastructure Platform
The AWS cloud offers a wide range of infrastructure services such as computing power, storage options, networking and database and other practical services: on-demand delivery, instant availability, and pay-per-use pricing model.
The Best Cloud Computing Services Providers
Cloud adoption growth has been exceptional in the last two years. Within the cloud computing space, the major cloud computing companies are growing much faster than ever. Here we listed all the major cloud companies in the world, have a look.
- Amazon Web Services (AWS)
- Microsoft Azure Cloud
- IBM Cloud
- Google Cloud
- Alibaba Cloud
- Salesforce Cloud
- Oracle Cloud
Related Technical Articles: