In the 25 years that Richard Stallman wrote the GNU General Public License (GPL), FOSS has been widely used in computing: Linux, Apache HTTP servers, and MySQL, among many businesses around the world. And now more and more open source is used in cloud computing.
"In building cloud computing, open source is undoubtedly the foundation," said Byran che, Red Hat product management director for Cloud business products, management software and Red Hat Enterprise MRG (instant Messaging, real-time and grid platforms), "You can look at the market share in the server sector, For traditional data centers, about 70% runs on the Windows platform, and about 30% runs on the Linux platform. And when you look at the operating system that people have chosen to build applications in a cloud environment, you'll find that the number is completely reversed. ”
The reason is simple, says Che: "For a new beginning in cloud computing, companies need to build a whole new architecture from scratch, and open source has no doubt provided the best value for the business."
Cost is not the only reason the open source model holds a niche in the cloud, CHE also notes that open source can build a community around a project to drive rapid innovation.
"This is the real value of open source," he says. "Amazon, Google, Facebook, and everyone who built all these cloud applications, infrastructure and services, are using open source." In fact, using open source software is the only way to achieve the level of innovation they need. They cannot wait for their suppliers to go through the entire development cycle. ”
Does SaaS violate the principles of free software?
But what role does open source play in the cloud environment? Stallman claims that cloud computing (especially software SaaS) cannot be defined as free software.
"SaaS and proprietary software can lead to similar harmful consequences, but the causal mechanism is different," Stallman in the Boston Review, "for proprietary software because you own and use replicas that are hard to change or cannot be changed, and for SaaS, The reason is that you are using a copy that you do not have. ”
"Many free software advocates think that the SaaS problem will be solved by developing free software for the server," he added. "From a server operator's point of view, the program on the server is best to be free, because if they are proprietary software, their owners will have the right to control their servers." This is not fair to operators. But if the program on the server is free, from the impact of SaaS, this does not protect the users of the server, because the free access to the operator, not to the user. ”
Stallman's argument is rooted in the philosophical differences between free software and open source software. Stallman says the open source movement is a development approach that focuses on making source code available. Free software, on the other hand, puts forward a moral stance on how users should interact with their software.
For Stallman, free software must provide users with four fundamental freedoms:
1. Freedom to run the program as the user wishes
2. The freedom to learn and change the source code as needed
3. Freedom to redistribute exact copies
4. The freedom to redistribute user-modified replicas
While the definition of open source software is almost identical to the definition of free software, when it comes to cloud computing, they seem to be different at the seams.
"Freeing up the server Software's source code can really benefit the community: skilled users can set up similar servers and may also change the software," Stallman writes, "but none of these servers will allow you to gain control of the calculation unless it is your server." The rest will be SaaS. SaaS always gives you the right of the server operator, and the only remedy for this is not to use saas! do not use other people's servers to do their own calculations on the data you provide. ”
At the same time, the Open-source world has launched a variety of services: infrastructure as a service (IaaS), platform as a service (PaaS), software as a service, and data storage as a service (DaaS).
Properties of the Open cloud
Che says Red Hat believes in the open cloud and says the open cloud has seven defining attributes:
1. It is open source, Che says, "It is the foundation on which you build your program dependencies." ”
2. It is based on collaborative development, "around this project, need to have a viable independent community," he said, "must have this dynamic community, otherwise it will become the release of its source code proprietary software." ”
3. It is based on open standards and open formats without proprietary technology binding.
4. It gives you the right to free use of your intellectual property.
5. It provides users with the infrastructure options they need to select the infrastructure vendors and cloud providers they want.
6. It has an open API, "it is pluggable and scalable," Che said, "and it cannot be limited." ”
7. It can go all the time to other clouds and not lock users on a specific vendor.
"One of the areas where we need an open cloud is to give users the ability to interoperate and migrate between different clouds," Che says. "That is to say, we will be able to manage a hybrid cloud across all these different technologies." ”
Open Cloud avoids vendor lock-in
One big step toward interoperability and portability is the Apache Deltacloud, a project that Red Hat launched in 2009 and then handed over to the Apache Software Foundation, which became the foundation's Top project in 2010 (TLP). The Deltacloud,apache Software Foundation is trying to provide answers to a problem that has not yet been formed, and the problem is likely to become more pronounced over the next few years: "Cloud lock-in."
"The biggest challenge is that the cloud computing industry is always rolling out a variety of services, and users are busy figuring out how to make the most of the cloud, while Cloud lock-in is not the focus of their attention," Red hat's main software engineer and the Apache Deltacloud Project President David "We are not aware of this problem at the moment," Lutterkort said. ”
Deltacloud is an API that extracts the differences between various clouds, using a single API to manage resources in different infrastructure, the service cloud. It can basically be used as a wrapper around a lot of clouds, allowing users to get rid of the complexities of handling various cloud APIs.
Standard institutions also unite to create open and interoperability standards. In 2009, leading standards development organizations (SDO) set up a cloud Standards coordination task Force to coordinate the development of cloud standards by different standard development organizations. Members include the Cloud Security alliance, the Cloud Standards Users Association, the Distributed Management Task Force (DMTF), the European Telecommunication Standards Association (ETSI), the National Institute of Standards and Technology (NIST), the Open Grid Forum (OGF), the Object Management Organization (OMG), The Open Cloud Federation (OCC), Structured Information Standards Promotion Organization (OASIS), Storage Networking Industry Association (SNIA), International open standards Organization, retail Industry Technology Standards Organization (ARTS), and TM Forum.
Lutterkort is also a board member of the Distributed Management Task group, which is creating a standard named Cloud Infrastructure Management Interface (CIMI) that creates a standard API that any cloud can use.
The Aeolus project, launched by Red Hat, is another forward-looking open source project that essentially aims to create an Open-source cloud broker. As a stand-alone project, Aeolus provides a single, consistent tool to build and manage virtual units across a variety of clouds, including the following tools:
Aeolus Conductor provides a way for users to provide cloud resources, manage user access to these cloud resources, and use them, and control how users operate in the cloud.
Aeolus Composer provides a way to set up cloud mirroring from a common template to allow users to freely use compatible mirrors to select a cloud.
Aeolus orchestrator provides a way to manage various instances in an organized manner, enabling users to automatically bring different instances, configurations, and resolution of a single cloud or across multiple clouds.
Aeolus HA Manage provides a way to create cloud instances or instance groups in highly available clouds.
Red hat is not the only contributor in the Open cloud field. Rackspace Cloud and NASA also participated in the OpenStack IaaS Cloud Computing project, and also through the Apache Software Foundation. The goal of the OpenStack project is to give all enterprises the ability to create and deliver cloud computing services (running on standard hardware).
(Responsible editor: Lu Guang)