Categories
Cloud Computing

Cloud Computing is not simple!

Cloud computing promises to be simple. Starting here and there a virtual server and the own virtual cloud infrastructure is ready. Those who think that I’m right with the statement are totally wrong. Virtual servers are only a small component of a virtual infrastructure at a cloud provider. A few virtual machines aren’t a cloud. The complexity sticks in the architecture of the application. And thus in the intelligence that the architect and the software developer included. That this is sometimes not implemented, the one or the other cloud user have showed us more than once impressively. Regularly the same suspects fail when their cloud provider is struggling with himself. Cloud computing ist not simple! I do not mean simple software-as-a-service (SaaS). I am talking about infrastructure-as-a-service (IaaS) and platform-as-a-service (PaaS), and here even granularity about the premier class named scalability and high-availability. And that’s what you should understand and fully take into account if you want to use cloud computing successfully, away from the marketing of the cloud providers.

Software-defined Scalability and Software-defined High-Availability

Currently new terms circulating through the IT stratosphere. Software-Defined Networking (SDN) and Software-Defined Data Center (SDD). A SDN introduces another level of abstraction above the network components. Typically, each router and switch has its own local software through which it is supplied with intelligence by programming. The network administrator tells the router, for example, under what conditions which packet should be routed or not. Within a SDN the task of incorporating a local intelligence for each component is eliminated. The intelligence moves one level up into a management layer in which the entire network is designed and each rule is defined centrally for each component. If the design is completed, it will be rolled out across the network components and the network is configured. With a SDN it should be possible to change a complete network design by “push the button” directly without having to touch each individual component.

The idea of ​​the SDN concept must also be taken into account mandatory when using a cloud infrastructure. Because the use of a PaaS, but much more of an IaaS means a lot of self-responsibility. More than you might think at first glance. To start one or two virtual machines does not mean that one uses a virtual cloud infrastructure. There are and will remain two virtual servers. An IaaS provider only provides the components, such as the aforementioned virtual machines, storage, and other services plus APIs with which the infrastructure can be used. Bottom line, to put it simply, an IaaS provider only supplies its customers with the appropriate resources and tools in order to build their own virtual infrastructure respectively own virtual data center on the providers cloud infrastructure.

One must therefore ensure with software (the own application) that the cloud infrastructure scaled if necessary (Software-Defined Scalability, SDS) and in the event of a failure of a cloud infrastructure component a replacement component (eg, virtual machine) is started and is thus replaced (Software-Defined High-Availability, SDHA). The software therefore provides the scalability and high-availability of the virtual cloud infrastructure so that the web application itself is scaled and fail-safe, and uses the character of each cloud provider.

How a cloud computing infrastructure is used almost to perfection shows Netflix impressively.

Cloud Computing ist not simple!

Source: Adrian Cockcroft

Netflix the supreme example

Netflix is the world’s largest cloud service ​​by far. The video streaming service has become responsible for a third of all Internet traffic during peak periods. This user requests must be answered, of course, performant and at any time. Since its launch in 2009 Netflix sets on cloud technologies and has shifted its complete technology stack including the resulting infrastructure to the cloud of the Amazon Web Services in November 2012. Here about 1,000 virtual Linux-based Tomcat Java server and NGINX web server are running. There are also other services such as Amazon Simple Storage Service (S3) and the NoSQL database Cassandra in conjunction with memcached and a distributed memory object caching.

However, this is only one side of the coin. More important is the use of multiple Availability Zones in the Amazon Cloud. Netflix uses a total of three Availability Zones to increase the availability and speed of the own service. Occurs a problem in an Availability Zone, the architecture of the Netflix application is designed that the service can continue to run through the other two. Here Netflix has not relied on the pure marketing promises from Amazon, but developed with the Chaos Gorilla its own software that is testing the stability of the virtual servers Amazon Elastic Compute Cloud (EC2). In short, the failure of a complete EC2 Region or Availability Zone is simulated to ensure that the Netflix service continues to function in an emergency. One of the biggest challenges is in the fact that in the event of an error in an Amazon region, the Domain Name System (DNS) is automatically reconfigured so that Netflix customers do not notice the failure. The different DNS providers APIs make this task not easier. In addition, most have been developed that the settings have to be done manually, which does not make it easier to automate this.

Bottom line, it is to say that Netflix plans ahead for the error case and does not rely on the cloud. Because sometimes something goes wrong in the cloud, as in any ordinary data center. You only need to be prepared for it. Who is more interested in what Netflix makes to reach this state should read “Netflix: The Chaos Monkey and the Simian Army – The model for a good cloud system architecture” (only in German).

Simplicity counts

Maybe I’m asking too much. Finally, cloud computing is a relatively new concept. Nevertheless, Netflix shows impressively that it works. However, when you consider what huge efforts Netflix makes to be successful in the cloud, you just have to say that cloud computing is not simple, and a cloud infrastructure, no matter at which provider, needs to be built with the corresponding architecture. This means, conversely, that the use of the cloud must be more simply in order to achieve the promised cost advantages. Because if one uses cloud computing the right way, it is necessarily not cheaper. In addition to savings in infrastructure costs which are always reckoned up, the other costs as may for the staff with the appropriate skills and the costs for the development of scalable and fault-tolerant applications in the cloud should never be neglected.

The positive sign is that I see first startups on the horizon, who take care of this problem and have set the simple demand of finished cloud resources to their task, without worrying about scalability and high-availability as a user.

By Rene Buest

Rene Buest is Gartner Analyst covering Infrastructure Services & Digital Operations. Prior to that he was Director of Technology Research at Arago, Senior Analyst and Cloud Practice Lead at Crisp Research, Principal Analyst at New Age Disruption and member of the worldwide Gigaom Research Analyst Network. Rene is considered as top cloud computing analyst in Germany and one of the worldwide top analysts in this area. In addition, he is one of the world’s top cloud computing influencers and belongs to the top 100 cloud computing experts on Twitter and Google+. Since the mid-90s he is focused on the strategic use of information technology in businesses and the IT impact on our society as well as disruptive technologies.

Rene Buest is the author of numerous professional technology articles. He regularly writes for well-known IT publications like Computerwoche, CIO Magazin, LANline as well as Silicon.de and is cited in German and international media – including New York Times, Forbes Magazin, Handelsblatt, Frankfurter Allgemeine Zeitung, Wirtschaftswoche, Computerwoche, CIO, Manager Magazin and Harvard Business Manager. Furthermore Rene Buest is speaker and participant of experts rounds. He is founder of CloudUser.de and writes about cloud computing, IT infrastructure, technologies, management and strategies. He holds a diploma in computer engineering from the Hochschule Bremen (Dipl.-Informatiker (FH)) as well as a M.Sc. in IT-Management and Information Systems from the FHDW Paderborn.

Leave a Reply