📜 ⬆️ ⬇️

The Cloud Services API is the next step in the development of PaaS. How to save more using cloud platforms

Hivext Cloud Programming
Probably, only people far from IT have not heard about cloud platforms. There is an opinion that cloud platforms in the near future will become a paradise for applications, and sooner or later almost all applications will live “in heaven”.

Under the phrase "cloud platform" often combine different technical solutions that are different from each other. In this article, we classify cloud platforms by architecture and problem they solve.

In the article, I want to convey the idea of ​​what resources can be saved by orders of magnitude more when developing applications, what type of platforms are aimed at creating applications faster and at lower costs.
')
Also, at the end of the article, a number of features of the cloud platform will be described, which is developed by joint efforts of specialists from Russia and Ukraine.

Basically, the platforms are divided into three groups. , relative to the level of virtualization:



Cloud hosting


This type of platform solves the problem of resource management at the operating system level. Allows you to deploy applications of almost any architecture. Solve the problem of dynamic resource allocation based on operating system virtualization.
This group of platforms appeared before everyone else and exists relatively long ago; technical solutions have well-established and proven mechanisms.

Representatives : Amazon EC2, Azure, Scalaxy, Clodo

Cloud containers


Solve the problem of dynamic resource allocation at the web server level. They allow you to deploy applications by limiting the choice of programming language (PL), sometimes partially limiting the set of functional capabilities of a particular PL.
This group appeared a little later than the previous one. The technical solution of cloud containers is mainly built on top of cloud hosting, but this is hidden from the developers at the container level of the web server.

Representatives : GAE, Heroku

Cloud Services


In addition to the organization of efficient resource consumption, cloud services are primarily intended to solve a fundamentally different issue, namely, to solve problems of long duration, complexity and high cost of development. Technically, cloud services are usually implemented on top of cloud containers or cloud hosting sites, and they are based on the principle of application virtualization within the platform.
Development of applications based on cloud services is focused on the use of the ready-made set of services API.
At the moment, this is the last level of cloud platform abstraction. As a separate class, similar platforms have appeared relatively recently.

Representatives : GAE Services, Oracle Service Bus, LongJump, Saleforces Service Cloud, Hivext Cloud Platform


API cloud services


Cloud Services API


Let's analyze the reasons for the emergence of the third group of platforms, namely cloud services, as a separate class.
The first and second groups are intended, first of all, to relieve developers of their concerns about the application infrastructure. Due to this, you can save on the administration of applications and on the consumption of resources: to pay approximately only for what you actually use on resources.

However, the cost of administration and application resources is not the most expensive part in IT . Probably, every customer of applications knows what exactly costs the most when creating and operating his application. The most expensive item is the salary of employees , and more specifically, it is the salary of programmers and managers . The more extensive the project, the more programmers need, the more complex its level, the higher the level of training and knowledge required by these same programmers.

Programmer salary
Based on the foregoing, it is obvious that saving more, especially at the stage of prototyping, creating a new product, testing your business model is not necessary on resources. While the project lives to the point where it is necessary to save on resources, tens, hundreds of thousands of kilobaxes are spent. The project may not live to see the release spending a lot of time and money on the implementation of their business ideas.
That's precisely why cloud platforms began to appear with sets of ready-made services that are primarily aimed at reducing costs in the application development process itself.

Of course, it is the very same problem that is solved by using versatile, individual, ready-made developments and libraries. There are currently a large number of them in various areas of software development. If we analyze how the evolution of the evolution of programming techniques and PL itself develops, we can clearly distinguish transitions from low to higher levels of abstraction. At the moment, there are 5 generations of PL. Each new generation absorbs the quantitative developments of the previous generation and contains the most important, proven and proven techniques and algorithms from earlier generations. In other words, the creation of tools, techniques, and PL itself for developing applications directly obeys the law “Transition of quantity to quality” .

At the moment, a similar situation occurs in the development of an extensive set of libraries and developments. The most proven ones are selected from them and form the basis of the next level - the basis of cloud services.

Service Oriented Programming


This approach to programming did not arise yesterday. For a relatively long time, there is SOAP and WebServices based on it with WSDL . A couple of years ago, WebServices also talked a lot about cloud computing. Today, various platforms and sites provide their API for different protocols. This is a qualitative continuation of the SOA and WebServices paradigm.

An ecosystem of cloud services , in general, is a combination of all the services and functions that can be accessed by your application running on a particular cloud platform. The platform provides and manages these services, guaranteeing a high availability ratio, low response time, efficient allocation of resources between common and dedicated resources, etc. The beauty of such services is that deployed applications can rely on them and access them through a given interface. Services of this type are both standard, like tables and databases, and more complex - user authorization systems, payment processing, etc.

Today, a multi-cloud approach is actively used - the formation of logical chains of calls to services of different cloud platforms.

Multi cloud


Interests of participants in the application development process


Cloud PaaS + SaaS


Service-oriented architecture Hivext Cloud Platform


With a large number of different libraries and frameworks, the complexity of developing applications remains quite high. Even for the implementation of the prototype and validation of the business idea, the developer is faced with the need to develop a large number of related tasks not related to the main idea of ​​the application. These tasks primarily include: setting up server solutions (WebServer, DB, ORM, etc.), implementing a security model (authorizing users, distributing access rights, monitoring data integrity, and others), file storage. In reality, this is only the tip of the iceberg of tasks that are little connected with the business idea of ​​the application itself, but require the allocation of resources to solve them.

At the heart of the Hivext idea lies the SOA paradigm. However, there are a number of features that are key:
  1. availability of a large set of services expandable by application developers
  2. availability of a service bus that combines them conveniently
  3. availability of client libraries for all services and for different PLs that hide work with services behind clear classes and convenient methods
  4. cloud hosting features - automatic acquisition of additional computing resources on demand

Hivext provides services for developers to improve the application development process, more efficient use of resources - time, money, knowledge. From the provided set of services, application developers can already implement their services for end users, which harmoniously integrate into the ecosystem of common services of the platform.

Hivext - services as platform


In addition, Hivext has a number of distinctive characteristics.


Today the list of finalists of the Zvorykinsky project (the state program of the Federal Agency for Youth Affairs), in which the Hivext Cloud Platform project passed, is officially published. We thank everyone who believes in our forces and supports our project with advice or deed!

P.S



Summarize the benefits of cloud services providing API


Today, probably, the majority of market participants do not perceive cloud services as a distinctive feature of PaaS solutions offered by providers. This is a completely understandable state of affairs for a given point in time, indicating the immaturity of the cloud computing market. Most likely, in the near future, the services offered by the platforms will receive more attention from all participants of IT projects.

Links to material used at the time of writing

PaaS Is The Key To The Future Of Cloud Services: APIs Are The Key
PaaS solutions: application services ecosystem

Pictures found on google.

Source: https://habr.com/ru/post/109088/


All Articles