The SEI helps advance software engineering principles and practices and serves as a national resource in software engineering, computer security, and process improvement. The SEI works closely with defense and government organizations, industry, and academia to continually improve software-intensive systems. Its core purpose is to help organizations improve their software engineering capabilities and develop or acquire the right software, defect free, within budget and on time, every time.

Cloud Computing Concerns

As we are doing with another popular paradigm, service-oriented architecture (SOA), the SEI is seeking to separate reality from the hype surrounding cloud computing. This computing paradigm focuses on providing a wide range of users with distributed access to virtualized hardware or software infrastructure over the Internet.

One example of hype concerning cloud computing is that it is an alternative to SOA adoption. Our investigation is showing, however, that cloud computing can be used with an SOA environment, but does not replace that environment. Likewise, adopting SOA does not mean that cloud computing can be necessarily ignored. The two paradigms are complementary.

Cloud computing is driven by economics

One truism emerging about cloud computing is that it is an economic model. This paradigm is driven by the need to find ways to provide resources on a wide scale more cheaply. What might this mean? One implication is that an organization interested in cloud computing needs to study, for example, the benefits of leasing resources instead of owning them.

Data security in the cloud is a concern, too

But it is increasingly clear that economics is not the only concern. Security is also major concern. If the resources that an organization leases are data server capacity, then its data on those servers is potentially vulnerable. If that data is sensitive in nature, the leasing organization should be concerned about the mechanisms the providing organization has in place to protect data on its servers.

Evaluation of technologies is also important

We are also seeing that cloud computing has technical concerns. In this regard, we are answering questions such as

If an organization is building a system that will use resources from a leasing organization, what requirements (functional or nonfunctional behavior) arise because of the cloud computing environment?

If an organization wants to move an existing application to a cloud environment because it is reaching its capacity on resources, how much change is needed to this particular application?

Which types of applications are easier to move to a cloud computing environment?