The impact of cloud computing on traditional software engineering

Source: Internet
Author: User

Cloud computing is another great change since the 80 's large-size mainframe-to-client-server transformation, and has developed rapidly in recent years. There are now at least 100 explanations for defining what cloud computing is. At this stage, it is widely accepted that the National Institute of Standards and Technology defines: cloud computing is a pay-per-use model that provides available, convenient, on-demand network access and access to a configurable pool of computing resources (resources including networks, servers, storage, applications, services), These resources can be delivered quickly, with little or no management effort, or with minimal interaction with service providers. Cloud computing distributes computing across a large number of distributed computers, rather than on a local computer or remote server, where enterprise data centers run more like the Internet. This enables enterprises to switch resources to the required applications and access the computers and storage systems as needed.

Cloud computing doesn't seem particularly easy to understand, and I think cloud computing is about turning computing power into something like water, electricity, and gas. In the past, the computer was exclusive, it is like to operate a small generator, you need to maintain the small generator, and the generator will be the point of their own to enjoy. But this has created a lot of problems: the first is that the cost of buying and maintaining a generator is very high. The second is that if the power of their generators are not finished, will inevitably cause a lot of waste, and if the electricity is not enough, then the work can not be carried out, and in real life, with the development of technology, "power" demand will be more and more large, then must buy more generators to prevent not enough, then certainly will cause waste. The third is that if their generators are broken, then the work will be greatly affected, and their own handling of the problem of the generator is more difficult. So there's the "Power Station", the cloud. Cloud computing is like integrating a lot of generators into a large power station that requires "electricity", which is needed to buy electricity from a power station when it needs to be calculated. And the unified management of generators will also reduce the maintenance costs of generators, at the same time how much electricity they need to buy how much electricity will not cause the waste of electricity. Because the technology of the power plant is better than its own single generator, the single generator in the power station is broken, and the whole work of the power station will not be affected. And because of the electricity they buy directly from the power station, a generator in the power station is broken and does not affect its own electricity purchase.

After entering the 21st century, cloud computing has made great progress. Internet giants have their own "cloud". Cloud computing has large scale, virtualization, high reliability, versatility, high scalability and other great advantages, and at this stage of the development of software engineering presents the layout of the pipeline, the advent of cloud computing for the development of software engineering has injected new vitality, will inevitably have a significant impact on the development of software engineering.

First, change the software developer-user's two yuan pattern

Software engineering under cloud computing will change the two-yuan landscape of software developers and users. Future software development and operating environments are architected by the cloud computing hub. These resources will be configured according to the requirements of the software developer, the software development side eliminates the hardware infrastructure, the operation environment debugging and so on. The advantages of cloud computing have been well played by the virtualization of servers in software development. "Cloud" is a huge pool of resources, through the management system to allocate resources, the hardware resources on the establishment of a number of virtual machine systems, the virtual machines are independent of each other, non-interference. Developers need resources, just want to rent resources in the cloud to complete the work, without the need to purchase equipment, thus saving the cost of software development.

Second, the degree of abstraction continues to improve

The degree of abstraction of software development will be improved, the maturity of software components will be improved, and the reuse rate of software components will be improved. When a software needs a technology, it can be obtained directly from the cloud, thus greatly improving the development efficiency. The emergence of SOA (service-oriented architecture) is a typical representation. IBM introduced SOA in 2004, which can integrate different parts of the application on heterogeneous platforms (services) through a well-defined interface and specification, in a loosely-coupled way, which effectively solves the contradiction between the integration of IT system and flexibility and complexity, and effectively solves the problem of integration of heterogeneous systems. SOA provides a way for PAAs to be implemented as well as an important technology in the development of software engineering.

Third, the software will be dynamic

In the era of cloud computing, software will not be immutable, and software upgrades will become the norm. Perhaps the final delivery is only the intermediate version, software development will not be a closed process, but software deployment, software maintenance and software development is parallel. Perhaps later after the software release, the software itself is still in rapid development, update.

Iv. development of business-oriented applications

In the era of cloud computing software development, infrastructure, hardware maintenance and development will be the responsibility of cloud computing companies. The most important part of the software development process is to design the software architecture according to the requirements of the software, integrate and organize the resources on the "cloud", instead of writing a lot of code. Because different people develop different constructs in software development, the division of labor is very clear, has been highly socialized. Software Requirements Engineering will become the focus, when the requirements are clear, you can directly use the mature components, the construction of software. So it's more important to understand the requirements.

Five, software development will be more for the public

With the rapid development of network and cloud computing technology, the network has become a super virtual development platform. Cloud computing development model, the development of the same software is not necessarily a company's staff, social people can also join the software development process, as long as in the cloud, can participate. A large project will be split into small sections, many of which can take advantage of mature parts, and after development teams have developed the core, secondary tasks can be assigned to other teams. Cloud computing provides this convenience.

Conclusion

Cloud computing is a huge breakthrough in the field of computer science in the 21st century, and it is also a huge breakthrough in the field of software engineering. Cloud computing enables every common platform to enjoy unparalleled computing power, which is no longer a bottleneck for software development, and how much it needs. At the same time, because the computation processing comes down to the cloud computing center, based on this, the hardware and software resources through the virtualization technology combined as a whole, greatly reduce the cost of software development, reduce the threshold of software development, this is a huge progress. Cloud computing has just started, the future will have more space for development, it will set off a great wave in software engineering field, in the field of soft project caused huge changes, greatly promote the development of software engineering.

The impact of cloud computing on traditional 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.