Finger cloud computing

    Cloud computing - calculations carried out in a ready-made infrastructure to which there is access through the network. Infrastructure can consist of thousands, hundreds of thousands of computing nodes, disk arrays. All this is connected into a single network and functions as one large computer. Everything is configured and accessible from the box.







    The development of cloud computing leads to the creation of large abstract computers in which:
    • All components are used at full capacity - utilization of idle resources. With the number of servers thousands, tens and even more so hundreds of thousands, the costs of idle servers will increase decently and the use of cloud computing will not be rational. Therefore, virtualization develops when several operating systems are installed on one machine. Virtualization is controlled by hypervisors, special software that provides the operation and distribution of resources of several operating systems.
    • High degree of parallelism
      Computing. If on a local machine your threads can run in parallel, if there are 2 or more cores or processors. Then in the cloud you can run 100, 1000 or more threads, they can be executed on separate servers (if this is of course implemented by a cloud service provider). What will it give? The speed of script execution will no longer matter where the task can be parallelized, use multiple threads, they can be used even when rendering web pages.
      Data. Distributed storage is much more reliable than storage at one point. Such storages can save data even after a nuclear war or the destruction of the continent, due to geographical diversity.
    • Unified infrastructure for developing applications for the cloud. You are using a high-level API, where the operating system under the cover of a new software layer and sends greetings to the BIOS. You use the resources of the “infinite” machine, that’s all.
    Dmitry Sotnikov cited a good analogy:
    “I would compare cloud computing with subsistence farming and a supermarket. There are people who grow fruits and vegetables themselves, sew shoes, clothes, etc. to themselves. - They certainly do it with pleasure and are surely confident in the quality of their products. But there is an option like you and me: people work somewhere, get paid, go to the supermarket and buy what they need. So with cloud computing. Often, ceteris paribus, it is economically more profitable to get an outsourced service. Specialization, division of labor and mass production are economically more efficient models. ”

    Three whales


    Cloud computing includes three definitions of IaaS, PaaS, and SaaS.

    Description in simple words

    IaaS - infrastructure as a service (server rental, payment after the resources used), the configuration starts with the choice of the operating system and ends with the programming of the necessary services. This can be compared to buying an unfinished house without interior decoration. Until the final solution, you will have to invest more resources than using PaaS. Target audience software developers.

    PaaS- the platform as a service (IaaS + special software platform), the infrastructure is configured, the operating systems are already up and running, the software platform is up, running, manages data balancing and sharding, provides a convenient API. The analogy is a completed house, there are windows and doors, gas, water. You will have to hang your chandeliers, wallpaper, buy kitchen utensils, etc. Target audience software developers. In the presence of convenient visual environments it can be users far from programming.

    In fact, PaaS is a serious step forward. This can be compared with the first appearance of operating systems for personal computers.

    SaaS - application as a service (payment for the time of using the application). Target audience end consumers.

    What they say about clouds


    It is believed that you can drag all existing software into the cloud and run there. Imagine that your wires from the mouse and keyboard monitor go to some kind of distant data center where this software is spinning. And the user receives a thin client (terminal) in his use. By clicking on the button of the keyboard or mouse, the data goes directly to the DC, and there the software itself is executed and gives the client a finished picture. Personally, I agree only with the thin terminal and do not consider this path to be true because:
    • It is very simple and could have been done for a long time (for software where the response time is not so important);
    • The existing software market has grown on technologies developing in isolated personal computer environments. Transferring existing software to the clouds will only create a bunch of “crutches”;
    • Hypervisors vryatli will provide a high degree of utilization of idle resources with this approach.
      "If you want to use the entire space of the can, do not load it with stones, crush them in the sand."

    The impact of concepts on cloud solutions




    On the X axis, the main directions of cloud computing, block size = the potential number of the target audience. The horizontal overlap of the blocks shows how much this or that concept influenced the decision.

    On the Y axis, the entry threshold on the left is a cumulative factor that takes into account ready-made services, standardization of access to services from different programming languages, architecture integrity, ease of use of third-party modules (3rd party), development tools created based on PaaS.

    Decisions influenced by the concept of IaaS
    Amazon WS, GoGrid, ElasticHosts, FlexiScale, RackspaceCloud, Joyent, Enomaly, ElasticGrid.

    Decisions Affected by PaaS
    Hivext Platform Concept, Google AppEngine, Microsoft Azure Platform, Aptana Cloud, Engine Yard, Grid Gain, CodeRun.

    The future of cloud platforms


    The development of cloud computing can spawn powerful software platforms similar to the platforms of existing operating systems. Only here is the potential for the development of cloud platforms is much more than operating systems platforms for personal computers.

    Imagine that there is an “infinite” machine in its resources with access from anywhere in the world, and stability that no PC in the world has dreamed of. To work with it, you use thin clients (tablet devices, telephones, terminals in public places). The cost of portable devices is rapidly falling, and opportunities are growing and overtaking desktop systems through the use of cloud platforms and the growth of data transfer speed over the network.

    Opportunities available earlier only to large institutions and businesses come to ordinary users, as personal computers once came.

    Do you agree with this?

    Also popular now: