The impact of cloud computing on traditional software engineering

Source: Internet
Author: User
Tags time zones microsoft dynamics

The impact of cloud computing on traditional software engineering

I. What is cloud computing?

CloudCalculation(Cloud Computing)is aspecies based onInternetof theCalculation. in the Cloudin the calculation,Savestorage and operations are not running on the local computer or server,butrun in the distribution ofInterneton the masson your computer,Cloudcalculations are carried out by transferring tasks that were originally performed by personal computers and private data centers to distributedInternetused by the wholeLarge computing centers that are shared by the user to complete,implements the computer hardware,software and other computing resources and the installation of these computing resources,Configurationfull sharing of service resources such as maintenance. thethe"Cloud"itsThe real point is that the distributionInternetin a variety ofComputing Center,contains thousands or even hundreds of thousands of,millions of unitsComputer or Server. withcustomers no longer buy high-performance hardware,also no longersoftware to purchase or develop various functions,instead, use any availablethe device of the net,Connection"Cloud",Use"Cloud"provided by theSoftware or Services,directly in"Cloud"onprocess and store data. so,Cloudcalculations can be considered as parallel computations(ParallelComputing),DistributedCalculation(DistributedComputing)and theGrid Computing(GridComputing)of theDevelopment. CloudThe main difference between calculation and grid computing is that:Grid computing focuses on solving compute and storage resource allocation,thatreallocate the computing and storage resources you provide to everyone based on the needs of their applications;and the Cloudcalculations tend to calculate,Savesharing of storage and application resources,in the Cloudin the calculation,withdo not need to be like grid computing,providecompute and Storage resources,and you don't need me .buy or develop apps,Everything is done by the cloud.Service Providers.

The service model for cloud computing is

1. Infrastructure as a service (IaaS)

IaaS is the infrastructure as a service, the basic set-up services, consumers through the Internet can be from the perfect computer infrastructure to obtain services. For example, the virtual machine Compute service provided by AWS and Openstack,cloudstack. With this model, users can get the virtual machines or storage resources that they need from the vendor to load related applications, and the cumbersome management of these basic settings will be handled by the IaaS provider. IaaS can support a multitude of applications on virtual machines through it. The primary user of IaaS is the system administrator.

2. Platform as a service (PaaS)

PAAs provides an application development platform that users can access. All the development environment in the company can be carried out in this environment, so as to save time and resources. The power of PAAs is that it covers all phases of software development, provides all the functionality needed to develop from development tools, middleware, and database software, and makes collaboration between disparate studios easier. Microsoft's Azure service platform, for example, includes the Windows Azure;microsoft SQL database service, Microsoft. NET services, live services for sharing, storing, and synchronizing files, and for business-oriented Microsoft SharePoint and Microsoft Dynamics CRM services, so that the collaboration between the development groups can be more cohesive.

3. Software as a service (SaaS)

SaaS is Software-as-a-service, the domestic commonly called software Operation service mode, referred to as the soft camp mode, provides software services, such as office365, directly through the Internet to use this software application, do not need to install locally. Users only need to connect to the network, and through the browser, can directly use in the cloud to run the application, without the need to consider a similar installation and other trivial, and eliminate the initial high hardware and software investment. SaaS is primarily for ordinary users.

Two. The impact of cloud computing on traditional software engineering

1. Openness of the software architecture

Software architecture refers to the division of a software system from a whole to a part, which can seriously affect the development efficiency of software and the scalability of the system. The openness of cloud computing in software engineering allows programmers to reuse established building blocks, which shortens the development time of programs and avoids errors in software development processes. The time required to develop in cloud computing mode can be reduced from one-third to one-fifth. In the test maintenance process is also the same, with a warning, developers can upgrade to solve a lot of problems but not in the test, maintenance process a lot of trouble. Because cloud computing has a very strong openness, developers can take advantage of this openness to elevate software development to a higher level.

2. Diversity of Software objects

The use of cloud computing software development process is usually based on object-oriented thinking, can be packaged modules for assembly and use. For example, when building a car, I want to assemble a car, I will need to follow the design drawings to deploy some parts from the auto parts factory to assemble, I do not need to understand the process or knowledge of the production parts. The object-oriented idea not only improves the efficiency and security of software development, but also reduces the cost greatly, realizes the reuse of the program and improves the variety of software.

3. Dynamic nature of software processes

In the process of software development, the requirements can not be completely fixed from the beginning, will be constantly changing, through the cloud computing, the operating environment will be dynamically expanded, due to changes in demand caused by the workload is also reduced, only slightly modified to complete the requirements. In the traditional software development mode, the software development needs change, which leads to the change of software architecture, even the need to redesign the software architecture. However, using the dynamic nature of cloud computing can make it easy to change the operating environment of software and reduce the amount of software structure change. When you develop a website, you may not be able to access or slow down the site due to a large amount of traffic that is not expected. When there is no cloud computing platform, we need to spend extra money to buy new servers, but the existence of cloud computing can give us the ability to expand or reduce computing power as we ask, thus reducing costs and meeting customer requirements. This dynamic is more convenient for the development of software.

4. Socialization of development organizations

Cloud computing relies on the network to gain powerful computing power, in the network environment, software development from the closed computer platform gradually to the connected, collaborative network platform environment. Traditional software companies are increasingly moving to open source. Due to the rapid development of software technology in recent years, behind closed doors may lead to backward technology. Through the cloud, the software development process can be accomplished by multiple teams, and many development teams form the socialization of the development organization. By sharing technology across multiple teams, we not only save time on wheels, but also ensure that our software always has access to new technologies. More to the point, this society may also contain workers in different time zones, so that the software can be developed/maintained 24 hours a day, more conducive to software development efficiency and stability.

5. The popularization of developers

Traditional software development requires a lot of preparation, and requires a lot of money to build, develop and operate the environment. So many start-ups face the financial difficulties, now with cloud computing, everyone can easily rent the equipment they need, so that entrepreneurship is no longer a need to invest a lot of money, everyone can use the existing technology to achieve their own projects, developers tend to be popular, programming is no longer a development team, It may be that many services come from the Internet, from people who do not know, which makes development become popular and open.

6. Virtualization of resource deployments

Computational resource virtualization is the core of cloud computing technology, which separates the upper software application from the underlying software through virtualization technology. With resources in the cloud, three modes of cloud-based IAAS (infrastructure as a service), PaaS (platform as a service), and SaaS (software as a service) enable users to access these cloud resources from anywhere. The deployment and maintenance of resources are cost-and will be particularly different in the cloud-computing model. Obviously, maintenance and refurbishment costs are gone, management difficulty and workload will be reduced a lot. Especially when it comes to emergencies, when there is an urgent need to add some resources, virtual resources can be added more conveniently. As mentioned above, cloud computing deploys computing power to the cloud and requires network access. This not only facilitates the expansion of resources at any time, but also facilitates space-saving and related hardware maintenance costs. Server clusters in the cloud are also good for data security, and more backups can ensure that data is not easily lost, which is hard to avoid with local storage

In the increasingly expanding environment of the cloud computing market, the software development model will inevitably change correspondingly, making the software more reliable. With the development of cloud computing, software development has entered a new era, the development cost will be greatly reduced. The IT industry will also be more developed on the basis of cloud computing.

Reference documents

[1] on the impact of cloud computing on software engineering Sagessa, Jie Jili, Shaohua Journal of Kunming Institute-2011

[2] Cloud computing: System Examples and research status Chen Kang, Zheng, Journal of Software, 2009, 20 (5): 1337-1348

[3] Cloud computing, Iaas, Paas, Saas Baidu Encyclopedia

[4] https://zh.wikipedia.org/wiki/software engineering, Wikipedia

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.