Cloud computing and software engineering

Source: Internet
Author: User

1 cloud computing 1.1 What cloud computing is

Cloud Computing is a pay-per-use model that provides available, convenient, on-demand network access, access to a configurable pool of compute resources (resources including networks, servers, storage, applications, services) that can be delivered quickly, with little or no management effort, or with minimal interaction with service providers.

Cloud computing is done by distributing computing across a large number of distributed computers, rather than on a local computer or a remote server, where the enterprise data center runs more like the Internet. This allows the enterprise to switch resources to the required applications and access the computer's storage system as needed. This means that computing power can also be circulated as a commodity, but transmitted over the Internet.

The understanding of cloud computing is divided into two categories: narrow and generalized. Narrow cloud computing refers to the mode of delivery and usage of IT infrastructure; generalized cloud computing refers to the delivery and usage patterns of services. This service can be it and software, Internet-related, or any other service, it is ultra-large-scale, virtual, reliable security and other unique functions.

1.2 features of cloud computing

Super Scale:

"Cloud" has a considerable scale,Google cloud computing already has More than million servers,Amazon,IBM , Microsoft, Yahoo and other "clouds" have hundreds of thousands of servers. "Cloud" can give users unprecedented computing power.

Virtualization:

cloud Computing enables users to access app services in any location, using a variety of terminals. The requested resource is from the cloud, not a fixed, entity of a type. Applications run somewhere in the cloud and can do everything we need through Web services, even tasks like supercomputing.

Data Security and reliability:

Cloud Computing provides the most reliable and secure data storage center, users no longer worry about data loss, virus intrusion and other problems. "Cloud" uses the data multi-copy fault tolerance, compute node isomorphism and other measures to ensure the high reliability of services, the use of cloud computing than the use of local computers more reliable.

Low Client requirements:

cloud computing requires a low-cost user-friendly device and is easy to use. As long as you have a computer that can surf the internet and have a browser that you like, you have to type the URL in the browserand enjoy the fun that cloud computing brings to you.

Versatility:

Cloud Computing is not specific to the application, under the support of the "cloud" can be constructed with a variety of applications, the same "cloud" can support the operation of different applications at the same time.

Easily share data:

cloud Computing can easily realize the sharing of data and applications between different devices, in the network application mode of cloud computing, only one copy of the data is saved at the other end of the cloud, all of your electronic devices need to connect to the Internet to access and use the same data at the same time.

High scalability:

The scale of the cloud can be scaled dynamically to meet the needs of applications and user size growth.

On-Demand services:

"Cloud" is a huge pool of resources that users purchase on demand.

Extremely inexpensive:

because the "cloud" of special fault-tolerant measures can be a very inexpensive node to form the cloud, "cloud" of automated centralized management so that a large number of enterprises do not have to bear the increasing cost of data center management, "cloud" commonality makes the utilization of resources compared to traditional systems greatly increased, so users can fully enjoy the "cloud" Low-cost advantage.

May be infinitely more:

Cloud computing provides almost limitless space for storing and managing data, and provides almost limitless computing power for all of our applications. "1"

2 impact on software engineering The openness of 2.1 software architecture

The application of cloud computing to the technology of computer software components, the whole platform of the framework, the big smart barrier can be divided into cloud terminal system layer, hardware system layer, System management layer and virtual machine system layer such four parts to carry out concrete construction, its existence is the foundation of the whole construction, It also provides assistance and relative protection for the whole construction, and in this management process, cloud computing itself can use different kinds of requirements under different circumstances to complete the construction of multiple computer cluster system, its function, significance and value are self-evident. "2"

with the use of cloud computing technology, compared to the previous traditional software engineering, the openness of the system has been improved unprecedented, so that the reuse of software components will be improved. The application of Distributed computing mode is also the software system, design components and code, can be used by different "cloud" users, and even the developers of different software development teams.

2.2 diversity of software objects

Cloud-based computers, in the process of software experiment management, through the data center to the rest of the data management and control, such a process will not only make the overall more convenient, but also to improve the overall security, when needed to use the database extracted from the And it makes it easier to save, manage, and more than that, even after the end of the experiment, it can still be reused as data from the cloud.

The dynamic nature of 2.3 software process

software development is no longer a closed, global control of the process, but there are multiple concurrent and autonomous processes, in a project, bottom-up, from the top down there are a few episodes. In the development process, the user, the developer no longer have a clear role division, usually, at different stages, software developers, service providers, software users multiple roles are the same person, software development tools by the cloud service provider Unified, development organizations do not need to buy a software license, order to rent the software license of the cloud service provider on demand during the development cycle, which can greatly reduce the cost of software tools. "3"

Socialization of 2.4 development organization

Under the Environment of cloud computing, the environment and working mode of software development will also change. Although the traditional software engineering theory will not change fundamentally, but the development tools, development environment and development platform based on the cloud platform will bring convenience to agile development, project group coordination, offsite development and so on. The Software development project group can utilize the cloud platform, realize the online development, and realize the knowledge accumulation and software reuse through the cloud.

2.5 Virtualization of resource deployments

Cloud computing gives software deployment, operation management and maintenance a high degree of flexibility, for a specific application, software deployment, operation management, maintenance and development process is parallel, the first is not familiar may only a small part of the function, in after-tax software upgrades continue to improve. Because the cloud computing mode greatly reduces the degree of coupling between software components, the software client, server, management and other components are completely in a concurrent, independent way to not mature and manage, even the software running infrastructure can be in the user transparent way to upgrade and redeploy.

cloud computing software is in accordance with user needs at any time to run, software operating platform using the current very mature virtualization technology, on the client, can produce a variety of virtual environments, such as Windows,Linux, and even the browser, users can choose according to their own preferences, on the server side, the large-scale server system can be virtualized into a single processing unit and a continuous storage unit, reduce the user-side management complexity.

Cloud computing software operating the lowest hardware system and the basic software system has a professional computer information System Integrator Unified maintenance management, for users, can not care about the underlying hardware and software details. Today,multinationals such as IBM, Microsoft,andHP are deploying cloud computing infrastructure globally. "4"

2.6 The impact of cloud computing on software testing

In the cloud computing environment, due to the change of software development work, it is necessary to influence and change the software testing. Software technology, architecture changes, require software testing focus should also make corresponding adjustments. While the software testing focuses on the traditional software quality, it should also pay attention to the new quality requirements of the cloud computing environment, such as software dynamic adaptability, large amount of user support ability, security, multi-platform compatibility, etc.

In the cloud computing environment, software development tools, environment, work mode has changed, also requires software testing tools, environment, work mode should also change accordingly. Software testing tools should also work on the cloud platform, the use of test tools should also be carried out through the cloud platform, rather than the traditional local way , software testing environment can be ported to the cloud platform, the cloud to build a test environment, software testing should also be able to achieve collaboration through the cloud, knowledge sharing, test reuse. "5"

3 Summary

The development of cloud computing is undoubtedly beneficial, even if its production has a huge impact on traditional Internet technology, we have to admit that it also provides more advantageous support, especially in software development, the computer software system to build, to optimize the various systems. Cloud terminal systems, hardware systems, System management, and virtual machine systems are also bound to be improved by the development of cloud computing.

4 Citations

"1" Wei Wei , Guo Hongyuan. The characteristics and application prospect of cloud computing [J]. Digital technology and Applications, 2011 (4): 168-168.

"2"electronic technology and software engineering2016 8th issue 176-176 page

"3" Zhang Yong . A preliminary discussion on software engineering mode in cloud computing environment [c]//National Testing conference and mobile computing, grid, intelligent high-level forum. 2009.

"4" http://www.3fwork.com/b702/000266MYM009524/

"5" http://www.chinacloud.cn/show.aspx?id=14695&cid=12

Cloud computing and software engineering

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.