DevOps

DevOps

The Big vs. The Fast

You might expect that if something becomes cheaper, you will spend less on it. What actually happens though is the complete opposite. A good example of this is how both governments and environmentalists assume that gains in energy efficiency will lower overall consumption.  What we see in reality is that as the cost of a resource falls, we find more uses for it because it becomes easier to deploy and more cost effective. Lower costs lead to increased demand, usually in brand new areas where the previous expense formed a barrier to entry. This observation is called Jevons Paradox - first seen with the consumption of coal in the 19th century, it is also true of computing power today.

Technology is the relentless march of increased efficiency. As the cost of computing decreases to the beat of Moore's Law, the question is not how much money businesses will save from the use of new technology, but what new goods and services will arise from that freed up capital.

It is frequently observed that AirBnB is disrupting hospitality, Netflix video delivery, Uber how we take a taxi. All these services are underpinned by the Cloud. Those who are adopting the Cloud as a cost-saving exercise are missing the point; the Cloud is about innovation, transformation and a new way of delivering services that was never previously possible.

When we look at current mobile and cloud technologies, none of the above tech “start-ups” could have existed 10 years ago; technological deflation is an essential catalyst for new invention. If you decrease the cost of change, you increase the rate of change. People are trying to run their businesses faster; today business value is being driven by a need for of automation and continuous iteration. It now makes less sense to ask whether a company is big or small, but whether they are fast or slow. In 1935 an incumbent could expect be in the S&P 500 for 90 years, in 2015 that average was only 17. The benefits of being an incumbent are declining and the ability to be agile can mean life or death for a business, or even an entire industry.

 In order to stay on top corporations must orient internal structures to reflect external realities. The tools available to consumers through services provided via Google or Facebook frequently exceed the capabilities of the tools available internally in the workplace. Top developers are choosing cloud services through companies like Amazon Web Services (AWS) due to quick and easy deployment, elastic capacity and a breath of capabilities that match their skill-sets and objectives; they are not choosing the Cloud because it was approved, recommended and provided by IT or because it was compatible with existing IT assets or investments.

Today IT needs to be less about Information Technology and more about Innovation and Transformation.  DevOps is a new structure for IT and software development teams that enables agility, speed and competitive edge. It brings the power of web-giants to enterprise environments. Rather then being an unapproved development project, cloud is enhanced and encouraged by an IT skill-set. It is not enough to simply have digital technology in business; businesses must be ready, able and properly structured to take advantage of new tools that are available to them or risk being beaten by those that do.

Retooling the Enterprise in the Digital Era

More and more what creates value are ideas, not tangible assets—mind, not matter; bits, not atoms; and interactions, not transactions. The great irony of the Digital Era is that, in many ways, we actually know less about what makes a successful business than we did 50 years ago. There’s a huge layer of the value that is unseen in the income statements and balance sheets of most companies. Free digital goods, the sharing economy, intangibles and changes in the way humans communicate have big effects on our potential and capabilities. These changes call for new organisational structures, new skills and perhaps even a reassessment of some of our values.

DevOps is the idea that in order to take advantage of digital technologies, IT and development teams must be reorganised to be both effective and productive. Today how software is built and run is key to world's economy. In many senses changes in software development we see today have parallels with the move from steam to electric manufacturing.

In the late 1890s, electricity was being introduced to factories but the “productivity paradox” of that era was that labour productivity growth did not take off for over 20 years. Paul David, an economic historian at Stanford University and the University of Oxford, examined the records of factories when they first electrified and found that they often retained a similar layout and organisation to those that were powered by steam engines

In a steam engine driven plant, power was transmitted via a large central axle, which in turn drove a series of pulleys, gears, and smaller crankshafts.  Years later, when electricity replaced the steam engine, engineers simply bought the largest electric motors they could find and stuck them where the steam engines used to be. Even when brand-new factories were built, they followed the same design. Perhaps unsurprisingly, records show that the electric motors did not lead to much of an improvement in performance.

There might have been less smoke and a little less noise with electric motors compared to steam, but the new electric technology contributed very little. Overall, productivity barely budged. Only after thirty years—long enough for the original managers to retire and be replaced by a new generation—did factory layouts change. The new factories looked much like those we see today: Instead of a single massive engine, each piece of equipment had its own small electric motor. Instead of putting the machines needing the most power closest to the central motor, the layout was based on a simple and powerful new principle: the natural workflow of product assembly. Productivity didn’t merely inch upward on the resulting assembly lines; it doubled or even tripled.

We have been living with the internet for over 20 years, today we live in a world where every computer and 3 billion people are connected. Yet the way we do computing, the structure of operating systems and applications has changed little. Today software packages are for the most part vast monolithic systems, central steam-powered axels, which power a hoard of client devices. This is a world where software is optimised for an unconnected world.

Only now are we finally see a breakthrough from this old paradigm to cellular "microservice" software designs that can break down code into individual tasks and leverage the benefits of distributed systems. Individual application services can now be transported over the internet to any environment with ease. Just as living organisms are made up of millions of cells that each perform a function yet seamlessly communicate with each other, microservices can coalesce to form full bodied apps or services

Counter to what we might expect the actual gains in productivity from the Internet Era thus far have been relatively modest - the so called "Solow Paradox" of productivity. DevOps is allowing the speed at which software can be developed and shipped to skyrocket. New software applications are being born in the Cloud and as we have seen with Uber, Netflix and AirBnB they are changing every aspect of our lives.

Cloud Native

Looking at the above analogy from steam to electric, today, the “electric motor” which underpins software development or “manufacturing” in the Cloud is virtual infrastructure. Companies like VMware talk about how you can turn physical infrastructure like servers, storage and networking into code to form a "Software-Defined Data Center" speeding up how quickly you can deploy, configure and manage the software on which a business runs. This concept, called virtualization, abstracts hardware resources like CPU, RAM and storage from physical machines into virtual machines (VMs); virtualization is a staple component of today’s enterprise IT environments.

To most companies today “Virtualization = Cloud” but just as large singular electric motors failed to yield much in the way of extra productivity when compared to the large central steam axles they were replacing, a new mode of thinking is needed to really leverage the benefits of cloud computing.  Google, Facebook, Amazon or indeed any of the aforementioned tech start-ups like Uber do not run any of their apps via virtualization pioneered by VMware.

The key concept of virtualization, turning infrastructure resources into code is very powerful. It has always been the case that IT teams design and manage the infrastructure while developer teams write the software which runs on top of the infrastructure. Once you have hardware represented in software, you can treat hardware like any other piece of code. You can move it, you can program it, you can write applications for it. Up until now it has been infrastructure which has defined the limits of applications and what they can do; now applications are redefining what it means to think of infrastructure. 

Applications being written by developers from a new cloud-native perspective are defining, programmatically, the infrastructure they actually need...inverting the relationship between IT operations and software developers entirely. Tools are available that allow applications to be written to take into account the physics of large scale distributed systems – problems like availability, consistency and partition-tolerance can me handled via smart software rather than smart hardware. Rather than provisioning virtual machines (VM’s) that have the available resources to support a pre-packaged application, infrastructure considerations like load balancing, service discovery, auto-scaling are done on top of the virtual infrastructure via software “containers” by the app itself. If a server doesn't have the required physical resources, then the app will find another one that does.Tools like Docker, Kubernetes, CoreOS and Rancher are allowing software to break free of the old constraints of thinking of a computer as a single box.

Cloud-Native Operating Systems

From left to right: VMware Photon, CoreOS, RancherOS, Ubuntu Snappy, Project Atomic. Microsoft is also creating it's own such system called "Nano Server".

Once thought to be the preserve of obscure operating system expertise, containerisation is becoming a mainstream topic in the technology world. Software containers, like those provided via Docker, allow for applications to be broken down into replaceable cellular parts. Docker's innovation is in making the container concept remarkably intuitive and portable for developers. It is an innovation in user experience that is regarded by many to be the most important since the arrival of the web-bowser. In 1995 few could have foreseen that the web browser would lead to a transition from server-client apps to web-apps like Salesforce and Facebook, similarly containers today have a radical untapped potential. Container-optimised operating systems can turn cloud infrastructure from any provider into a commodity product and make the internet itself a ubiquitous programmable computer. 

Amazon

Amazon's AWS re:Invent conference is likely to be the largest IT infrastructure conference in the world by 2016 with 20,000+ attendees

No article on cloud computing is complete without mentioning Amazon.  The idea that a bookseller could completely upend the world's largest technology companies seems a little absurd, but it is also true. VMware, the original enabler of virtual infrastructure has 600,000 customers and has revenues of $6 billion growing at 10% per year. But Amazon Web Services (AWS) has exploded onto the scene to also reveal earnings of $6 billion this year, growing at 70-80% a year.

Today we like to think of the costs of IT in terms of infrastructure purchases and software licencing fees; a better way to frame the economics of IT is to think of a service and and the underlying raw resources it actually needs: If it takes a certain amount of time to compute something, costs a certain amount of money to move a piece of information from one place to another or you need to pay to store a certain amount of data or secure it, then you can think about how this application architecture influences the overall costs of compute, network and storage, especially at scale.

Given the above vantage point you would want to design your applications, your business platform, in the most economically effective way possible. You certainly wouldn't want to pay for any unused excess. If you only pay for the exact resources you need, it encourages efficient software development. Last month Gartner predicted that “By 2020, 75 percent of application purchases supporting digital business will be “build,” not “buy,” The rush to build applications via software development rather than buying pre-packaged apps is reversing previous generations of off-the-shelf software purchases in IT.

With this rise of DevOps, both IT and developers are looking for technologies to build, run, and manage their applications without investing unnecessarily in infrastructure to support it. AWS have given software developers choice in what infrastructure services they can use. On AWS everything has an application programming interface (API) that can be programmed: storage, compute, networking, security, etc.  Due to the huge flexibility Amazon has in its programming tools its APIs are fast becoming the Lingua Franca for Infrastructure-as-a-Service (IaaS).

Amazon releases a new application version of it's platform every 10.5 seconds. Put simply, no one other cloud provider, even Microsoft or Google, can compete with Amazon's pace of innovation. Agile development used to mean doing a fresh software release every two weeks. DevOps means doing releases several times a day. Rather than build a piece of code for IT to run in production you run it yourself. DevOps is all about continuous delivery - no meetings, not tickets, self-service tools and APIs to get something out in production fast.  Since you own your own code in a production environment, you own how much it costs in production.

Public clouds like Amazon currently account for a small proportion of total IT spend. But if you have a new product which is 10 times more effective and 10 times cheaper than the incumbent, then a market where 90% is spent on the incumbent and 10% on the new player is really a 50:50 market. Money being spent on software development projects on the other hand, essentially technology R&D, is a leading indicator of market direction and here everything points towards a future in the Cloud.

As organisations look towards DevOps today, developers need to think like IT and operations, and IT administrators must enable developers to make infrastructure choices unconstrained. Incumbents that sell to IT administrators like virtualization, storage, network, or security admins will need to understand how to sell to developers. IT professionals need to think about how to enable developer choice rather then restrict it and developers need to expand what their definition of coding is. Code isn’t about just writing a program or app that lives on a server or smart-phone; it is about every element of service design and orchestration. The Cloud will be the virtual assembly line for products and services for the 21st century.

要查看或添加评论,请登录

Matthew Hughes的更多文章

  • Dell & EMC's Merger is Because of Cloud Computing

    Dell & EMC's Merger is Because of Cloud Computing

    At $67 billion Dell's buyout of EMC is the biggest corporate merger in IT history. That might sound impressive, but…

    10 条评论
  • The Economics of Digitization

    The Economics of Digitization

    Globalization was to the economic debates of the late 20th century what technological change now is to the early 21st…

  • Cloud Evolution

    Cloud Evolution

    The Cloud Today Cloud Computing is a term that has been with us for some time now and many believe the concept to have…

    3 条评论
  • Banking on Apple

    Banking on Apple

    Technology today can be viewed as having four key drivers: Cloud, Mobile, Big Data/Analytics and Social. These trends…

    31 条评论
  • The Internet of Everything

    The Internet of Everything

    The Internet Today It’s easy to forget the internet is not a single network. The internet is made up of millions of…

    44 条评论

社区洞察

其他会员也浏览了