📜 ⬆️ ⬇️

Improving service design in IaaS model



/ photo Juhan Sonin CC

Constantly changing requirements for cloud infrastructure lead to the need to work out new business models and create architectural solutions. This allows you to constantly improve the level of security and data manageability.
')
In our blog on Habré, we already wrote about solutions and services for managing data and organizing backup to the cloud of an IaaS provider.

Today we would like to touch on the topic of delivery and design services in the IaaS model. We will talk about deployment models that will drive the collaboration of all participants in the application development and delivery process.

Service Design


Technologies and business processes only become more complicated every year, the volumes of data being processed are growing. To maximize the use of company resources and increase user satisfaction, it is recommended to use the ITIL library. ITIL offers best practices for providing high quality IT services (services).

The approach focuses the organization’s attention on achieving the goals set, as well as on the resources spent on their achievement. When building a strategy, the service provider should focus primarily on the goals of its potential customer. To do this, it is necessary to clearly understand what role the provided IT service will play in the client's business. This is where ITIL methodologies come to the rescue, helping to build a strategy that is a fundamental step in the design of the service.

ITIL is gaining wide popularity among companies in various areas. Such companies as Hewlett-Packard, Boeing, IBM, Sony, Honda and many others work with ITIL. Forrester conducted a survey, interviewing 491 participants of the itSMF forum (IT Service Management Forum). According to the data obtained, the methods proposed by ITIL increased the productivity of services in 85% of respondents, and 65% of respondents noted a positive impact on business reputation. It is worth saying that Cisco joined the ranks of ITIL adepts. As its experts say, service design is a critical component of the cloud infrastructure.

It is the penetration of cloud technologies in all areas of activity had a significant impact on the approaches to the design of services. Service design is a serious stage that includes eight points: design coordination, service catalog management, service level management, capacity management, availability management, service continuity management, information security management, supplier management. Each of these aspects has undergone certain changes.

The task of adding the service to the catalog began to require a competent description of the cloud service so that the client would have no questions regarding its implementation. The same applies to service level management: the service level agreement (SLA) should now include such points as time to troubleshoot cloud infrastructure, paid compensation, warranties provided, etc.

The next item is accessibility management. When migrating to the cloud, it becomes important for the provider to provide high availability, as if the user had deployed their applications “on site”. For example, in the case of IaaS, it is necessary to guarantee the availability of memory or processors that are ready to connect, and also provide tools for monitoring resources.

As for the management of services, the manager should now take into account the possibility of a “fall” not only on the company's website, but also on the cloud provider’s website. Moreover, organizations will have to study the solutions offered by service providers, research the market and look for compromises. With all this, we should not forget about the assessment of the conditions of security, confidentiality and integrity of data.

The final design element of services is the supplier management process. It has also undergone changes: there is a need to evaluate external services and monitor the quality of the services provided. Importantly, an additional task was to establish a trusting relationship with the supplier.

Deployment Models


In the current "cloud" world, the processes that determine how infrastructure is delivered to end users by IT teams have changed. Red Hat employee James Labocki has been monitoring organizations from various industries, including the telecommunications, financial, and transportation industries for several months. During this time, he appreciated the mechanisms of interaction of teams with each other and managed to identify three main models for improving the design of the service.

Repeatable Deployment Model

In this model, a team of system administrators is responsible for developing and configuring infrastructure elements. Their duties include allocating resources for the virtual environment (virtual switches, storages, virtual machines, OS installation), scanning containers and ensuring their protection.



After the infrastructure is configured, the team responsible for delivering the applications comes into play. The responsibility of the delivery specialist is to deploy the services required to run and properly operate the applications, configure the cluster of the application server, and set up a pool of connections to the database. The final stage of their work is to deploy the application from a binary file to the repository.

In such a model, infrastructure deployment is more often automated, and only sometimes deployment and configuration of an application server. Deploying an application from a binary file is rarely automated.

This model is easiest to implement, but the lack of coherence of development processes with the deployment, configuration, and operation of the application itself makes it impossible to solve problems that require fast delivery. In addition, this model is not “bulletproof” because it is strongly affected by the human factor at the application deployment stage.

Custom Repeatable Build Model

In this model, the team of system administrators is still responsible for the deployment and configuration of the infrastructure: storage, network, virtual machines, and containers. However, this kind of task is often automated using specialized tools. After that, the finished infrastructure is transmitted in the format of an indivisible unit to the application delivery team.



Delivery specialists are responsible for configuring the application server and sending executable files to it — all of this is also done using automation and configuration management platforms.

The model of customized recurring builds saves time spent on development processes, but requires special knowledge to bundle the source code, prepare the working image and automate the deployment. In addition, the model has a significant disadvantage: the commissioning of one application takes several months, so this model may be unacceptable for large companies, which run thousands of applications.

Prescriptive Repeatable Build Model

The virtual infrastructure in the prescribed recurring builds model includes storage, network, virtual machines, or containers that are configured by the system administration team. However, in this case, the configured infrastructure is not transmitted to the application delivery team, but to the PaaS team, which provides PaaS services using cloud infrastructure resources.



Access to the development environment in the PaaS model occurs via the user interface, presented in the form of a self-service portal. Developers get a convenient interface for working with the service and access to the source code of the application.

This type of model is characterized by a maximum level of standardization, which allows developers to quickly switch between source code and a working application, eliminating all sorts of difficulties.

Conclusion


In conclusion, we note that the choice of a pattern for your organization depends on many factors, among which there are:
  1. Level of own skills;
  2. The uniformity of the application development process;
  3. Business requirements related to the life cycle of the application (in particular, time);
  4. Application architecture;
  5. Flexibility of management processes.

It is also worth saying that the speed and method of delivering the service to the end user in the IaaS model depends on a variety of variables. However, one of the determining factors is the choice of the deployment pattern and the coordinated work of adjacent teams with each other.

PS Other materials from our blog on Habré:

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


All Articles