Marc Andreessen once said, "Software is devouring the world," and in the field of data centers, we are witnessing this trend. Software is taking over functions that have been implemented by hardware in the past, and the change is triggering dramatic changes in how people work together.
Basically, the whole development of cloud computing is related to using software to replace or abstract hardware. It started with virtualization, which has been around for decades, but only in the last 10 years it has been widely used in the commercialization of hardware.
Decoupling the hardware from the services it is running will allow a large number of servers to be merged, speeding up the commercialization of music hardware and further lowering the manufacturer's bottom line-they are already in a position to eke out profitability. Although this is not the best output for hardware manufacturers, it is good news for innovative software manufacturers such as VMware. Similarly, the technical buyer is happy.
Soon, it has been noted that virtualization is not just about saving money-it also offers new possibilities. The change in physical infrastructure is constrained by both the supply chain and the time required for such work as Server power or firmware upgrades. In general, however, the virtual infrastructure works through the API, so it can be significantly faster. In the past, things that took weeks or even months on the physical infrastructure may take only a few minutes or hours to operate on virtual servers and networks.
In 2009, we finally saw the number of virtual servers beyond the physical machine. This means that most people who are currently working on the infrastructure are no longer required to operate on the hardware. Ironically, this may create a new, unprecedented chimney (note: Silo, in this paper, in the enterprise, in the independent State, lack of horizontal linkage of the vertical management system, such as development, IT, operations, etc.): focus on maintaining from the hardware to the virtual machine level of the team. At the same time, other people on the planet perform operations in a pure software environment.
Well, at least to a certain extent. In fact, most organizations have virtualized their computing resources and may have migrated to commercialized hardware to implement firewalls or load balancers (basically, using a x86 box running Linux or BSD, with some special software superimposed). But their storage and network resources are still focused on the hardware, even if the commercial IP devices on it are behaving as much as possible in the way the hardware devices do, rather than the performance of similar software.
The next major development will not only abstract computing to the software level, but also abstract storage and networks. This is a shift towards a completely software-defined infrastructure that opens up countless possibilities for the organization that uses it.
DevOps and software Definition infrastructure
For cloud computing, DevOps is neither a cause nor a fruit, but DevOps is indeed a closely related movement of cloud computing. Basically, it's a cultural change, with the goal of breaking down the difference between developers and IT system administrators to better deploy software and better match business requirements at a higher frequency.
The separation between development and it exists not only because of the different interests of developers and operators, but in fact their typical work scenarios may even conflict. System administrators are required to keep it running smoothly and reliably-without failure, without downtime, and able to scale as required by business requirements. The development department is in the other direction, and they are encouraged to publish new code frequently to stay ahead of the competition. In IT operations, developers publish code that is full of bugs, and it's difficult for it to carry out its work when it is left to it. In the view of the development Department, the insistence of the IT operations on processes and procedures hinders the development effort.
However, if we look at infrastructure as software, we can use it as a running application and build software development workflows around operations--such as application upgrades, software patches, and so on--so that system administrators and developers work together in harmony. If we think the infrastructure is just a server, a switch, and a router, that's just not going to happen. But once we see infrastructure as a series of services, it's clear that we can treat and manipulate it as software.
DevOps should be attributed to culture, cloud computing should be technology--but in reality, cloud computing must be related to both. Although technology cannot solve the "political" problem, it will help ease it. Cloud computing technology enables application developers to work around IT departments that cannot provide a software worldview. But for those who have access to a complete software definition infrastructure, traditional systems, networks, and storage chimneys are being broken. A single team can build and deploy new applications, support higher agility, faster speeds, and significantly reduce the time it takes to deliver value from the software to the target user.
New IT and new system administrators
We are witnessing the rise of a new class of administrators who think in terms of infrastructure capabilities and services-not the way the devices are thought. We have seen this trend in the management of applications that run in environments like Amazon AWS. In most cases, these administrators do not need to consider network or storage, they need to build their own infrastructure around the software provided by Amazon.
This redefinition of infrastructure as software is being integrated into the enterprise-typically through private clouds based on technology such as OpenStack. Even if the modern private cloud does not completely replace the traditional device-based enterprise infrastructure, they are still pushing the organization, moving very quickly toward the infrastructure as software. Even if you can start 1000 virtual machines in an hour--start, run and do real work-but it still takes 10 times times to build new virtual LANs or configure them, because people who do these things are in different chimneys and organizations quickly notice that they need to change.
As cloud computing "erodes" the business, we see the transition from a vertical team to a horizontal team. Our cloud team sees its work as maintaining APIs and sla--that they can understand the full infrastructure needs. Our application team will talk about infrastructure based on these APIs and SLAs, not on operating system or hardware requirements. The abstraction from hardware to software will shift from the technical interface to the team interface-and our business will see the benefits. We release new products more frequently, get customer feedback faster, and respond more quickly to changes in the marketplace. Treating infrastructure as software, and taking it as a core competency, will provide us with a significant advantage over our competitors.
There is no doubt that eventually we will find that all of our applications are running on the service layer and on-demand infrastructure. Software that runs on top of commercialized hardware will also be commercialized. Most of our applications will no longer have unique, special infrastructure requirements-instead, they will be able to run on general-purpose software platforms that completely eliminate the need for application-level concern for basic implementation.
In this world, vertical chimneys, such as the storage, network, and systems teams (not to mention VMware, firewalls, and load-balancing teams), bring so much inconvenience-and slow business development-no longer make sense. In these areas, we will have a team responsible for the reliable delivery of business services. After all, this is it: a business service.
Is your team trying to meet this change, or is it struggling to resist the change?
See more highlights of this column: http://www.bianceng.cnhttp://www.bianceng.cn/Programming/project/