Sign In
Sign In

Gemini AI: User Guide with Instructions

Gemini AI: User Guide with Instructions
Hostman Team
Technical writer
Infrastructure

Large language models (LLMs) are gaining popularity today. They are capable of generating not only text but also many other types of content: code, images, video, and audio.

Major companies, having large resources, train their models on text data collected by humanity throughout its history. Naturally, the international IT giant Google is no exception: it not only created its own model, Gemini, but also integrated it into its ecosystem of services.

This article will discuss the large language model Gemini, its features, and capabilities.

Overview of Gemini

Gemini is a family of multimodal large language models (LLMs), launched by Google DeepMind in December 2023. Before that, the company used other models: PaLM and LaMDA.

As of today, Gemini is one of the most powerful and flexible LLM neural networks, capable of conducting complex dialogues, planning multitasking scenarios, and working with any type of data, from text to video.

Capabilities of Gemini

The Gemini model not only generates content but also provides many additional functions and broad capabilities for working with different types of content:

  • Multimodality. Through interaction with auxiliary models (Imagen and Veo), Gemini can work with different types of content: text, code, documents, images, audio, and video.

  • Large context window. On paid plans, Gemini can analyze up to 1 million tokens in a single session. This is approximately one hour of video or 30,000 pages of text.

  • AI agents. With some built-in functions, Gemini can autonomously perform chains of actions to search for information in external sources: third-party sites or documents in Google Drive.

  • Integration with services. On paid subscription plans, Gemini integrates with services from the Google ecosystem: Gmail, Docs, Search, and many others.

  • Special API. With the API provided by the Google Cloud platform, Gemini can be integrated into applications developed by third parties.

With this set of features, Gemini can be used without limitations. It serves as a universal platform both for end users who need content generation or specific information, and for developers who want to integrate a powerful multimodal AI into their applications.

How to Use Gemini AI

As part of the Google ecosystem, the Gemini model has many touchpoints with the user. It is available in several places: from search results in the browser to office applications on mobile devices.

So technically, you can access Google Gemini AI through various interfaces; all of them are merely “windows” into the central core.

Google Search Results

You can see Gemini at work in Google search results: the system supplements the list of found sites with additional reference information generated by Gemini. However, this doesn’t always happen.

In Google, this feature is called Generative AI Snippet. Gemini analyzes the query, gathers information, and displays a short answer below the search box.

Often, such a snippet turns out to be very useful. It provides a brief summary of the topic of interest. Thus, Google search results allow you to obtain information on a certain subject without going to websites.

Web Application

The most common and professional tool for interacting with Gemini is a dedicated website with a chatbot designed for direct dialogues with the model. This is where all the main Gemini features are available.

With such dialogues, you can communicate, create text, write code, and generate images and videos.

The Gemini web application has an interface typical of most LLM services: in the center is the chat with the model, at the bottom is a text input field with an option to attach files, and on the left is a list of started dialogues.

The interaction algorithm with the model is simple. The user enters a query, and the model generates a response within a few seconds. The type of response can be anything: a story, recipe, poem, reference, code, image, or video.

Yes, Gemini can generate images and videos using other models developed by Google:

  • Imagen. A diffusion model for generating photorealistic images from text descriptions (text-to-image), notable for its high level of detail and realism.

  • Veo. An advanced model for generating cinematic videos from text descriptions (text-to-video) or other images (image-to-video), notable for its high level of coherence and dynamics.

Thanks to such integration, you can enter text prompts for generating images and videos directly inside the chatbot. Quick and convenient!

The web version contains a wide range of tools for professional content generation and information gathering:

  • Deep Research. A specialized mode for conducting in-depth, multi-step research using information from publicly available internet sources. With intelligent agents, Gemini autonomously searches, reads, analyzes, and synthesizes information from hundreds or even thousands of sources, ultimately producing a full report on the topic of interest. Unlike regular search, which provides short answers and links, Deep Research mode generates detailed reports by analyzing and summarizing information. However, one should understand that such deep analysis takes time, on average, from 5 to 15 minutes.

  • Canvas. An interactive workspace that allows users to create, edit, and refine documents, code, and other materials in real time. Essentially, it is a kind of virtual “whiteboard” for more dynamic interaction with the language model.

Thus, Canvas is focused on interactive creation, editing, and real-time content collaboration, while Deep Research is aimed at collecting and synthesizing information to provide comprehensive reports.

 

Deep Research

Canvas

Purpose

In-depth data collection/analysis

Interactive creation and editing of content

Result

Detailed reports

Edited documents

Mode

Autonomous

Active

Execution time

Several minutes

Instant

Task type

Research, reviews, analytics, summaries

Writing, coding, prototyping

Users can attach various files to their messages, from documents to images. Along with a text prompt, Gemini can analyze media files, describing their content.

Thus, the user can create multimodal queries consisting of both text and media simultaneously. This approach increases the accuracy of responses and creates a wider communication channel between humans and AI.

In other words, the browser version is the main way to use Gemini.

It is also worth briefly discussing how to register for Gemini and what is required for this.

In most LLM services, authorization is required. Gemini is no exception. To launch the chatbot, you must sign in with a Google account.

The registration process is standard. You need to provide your first and last name, phone number, and desired nickname. After this, you can use not only Gemini but also the rest of the Google ecosystem applications.

Mobile App for Android and iOS

You can download the official Gemini mobile app from Google Play or App Store. Functionality-wise, it is not very different from the web version available in a browser, but it has deeper features for user interaction and smartphone integration. Moreover, on many Android devices, the app comes pre-installed.

Essentially, it is a mobile client that expands cross-platform access to the Gemini language model. The main differences lie in optimization for specific platforms:

  • Content management. On the browser version accessed from a computer, it is much more convenient to work with text, code, tables, graphs, diagrams, images, and video. Conversely, the mobile app interface, designed for touch and gesture interaction, simplifies use on smartphones and tablets, but does not offer the same efficiency as a keyboard and mouse.

  • Voice input and interaction. The mobile app has more advanced voice input and live interaction features (Gemini Live), allowing you to communicate with the model in real time, using the camera to show objects, the microphone for direct conversation, and screen capture to share images. The browser version lacks this functionality.

  • Device-specific features. The Gemini mobile app integrates closely with smartphone functions (clock, alarm, calendar, documents) for more personalized interaction. The browser version exists in a kind of vacuum and knows almost nothing about the user’s computer. Apart from accessing other websites, it has no “window” into the outside world. In rare cases, it can extract data from other Google services such as Gmail and Google Docs.

  • Multitasking convenience. On a large computer screen, it is easier to work with multiple windows, copy and paste information, which enables more efficient interaction with Gemini. On the other hand, the portability of the mobile app makes it possible to use the model “on the go,” simplifying quick queries during travel.

Nevertheless, Google regularly releases updates, and Gemini’s functionality is constantly evolving. Therefore, the differences between the web version and the mobile app change over time.

Gemini Assistant

On many smartphones running the Android operating system, the Gemini model is gradually replacing the classic Google Assistant.

That is, when you long-press the central button or say the phrase “Hey Google,” Gemini launches. It accepts the same voice commands but generates more accurate responses with expanded explanations and consolidated information from different apps. This may also include functions for managing messages, photos, alarms, timers, smart home devices, and much more.

Some smartphone manufacturers specifically add a quick-access Gemini button directly to the lock screen, allowing you to instantly continue a conversation or ask a question without unlocking the phone.

Thus, Gemini is gradually bringing together multiple functions, transforming into a unified smart control center for the phone. And most likely, this trend will only continue.

Chrome Browser

In new versions of Google’s Chrome browser, the Gemini neural network is built in by default and is available via an icon in the toolbar or by pressing a hotkey.

This way, on any page, you can run queries to analyze text, create a summary, or provide brief explanations of the content of the open site.

And let’s not forget third-party extensions that allow Gemini to be integrated into the browser, expanding its basic functionality.

Google Ecosystem Services

On paid plans, Gemini is available in many Google Workflow services. It adds interactivity to working with documents and content:

  • Gmail. Helps draft and edit emails based on bullet points or existing text.
  • Docs. Generates article drafts and edits text and sentence style.
  • Slides. Instantly creates multiple versions of illustrations and graphics based on a description of the required visuals.
  • Drive. Summarizes document contents, extracts key metrics, and generates information cards directly in the service interface.

This is only a small list of apps in the Google ecosystem where you can use Gemini. The main point of integrating the model into services is to automate routine tasks and reduce the burden on the user.

Plugins and Extensions for Third-Party Applications

For third-party applications, separate plugins are available for integration with Gemini. The most common are extensions for IDE editors, messengers, and CRM systems.

For example, there is the official Gemini Code Assist extension, which embeds Gemini into integrated development environments such as Visual Studio Code and JetBrains IDEs. It provides autocomplete, code generation and transformation, as well as a built-in chat and links to source documentation.

There are also unofficial plugins for CRM systems like Salesforce and HubSpot, as well as for messengers like Slack and Teams. In these, Gemini helps generate ad copy and support responses, as well as automates workflows through the API.

Versions and Pricing Plans for Gemini

First, Google offers both free and paid plans for personal use:

Free. A basic plan with limited functionality. Suitable for most standard tasks. Free of charge.

  • Access to basic models, Gemini Flash and Gemini Pro. The first is optimized for fast and simple tasks, the second offers more advanced features but with limitations.
  • Limited context window size up to 32,000 tokens (equivalent to about 50 pages of text).
  • No integration with Google Workspace apps (Gmail, Docs, and others).
  • No video generation functions.
  • Data may be used to improve models (this can be disabled in settings, but it is enabled by default).
  • Limited usage quotas for more advanced models and functions.

Advanced. An enhanced plan with extended functionality. Suitable for complex tasks requiring deep data analysis. Pricing starts at $20/month.

  • Access to advanced and experimental models without restrictions.
  • Increased context window size up to 1 million tokens (equivalent to about 1,500 pages of text or 30,000 lines of code).
  • Deep integration with Google Workspace apps.
  • Image and video generation functions.
  • Data is not used to improve models.
  • Expanded voice interaction capabilities via Gemini Live, including the ability to show objects through the camera.
  • Priority access to future AI features and updates.

Second, there are extended plans for commercial (business) and non-commercial (educational) organizations, offering additional collaboration and management features:

  • Business. Provides extended functionality of the Advanced plan with additional tools for team use. Designed for small and medium businesses. Pricing starts at $24/month.
  • Enterprise. Provides extended functionality of the Business plan with additional tools for AI meeting summaries, improved audio and video quality, data privacy, and security protection. It also has higher limits and increased priority access. Designed for large international companies with high security and scalability requirements. Pricing starts at $36/month.
  • Education. Provides full access to Gemini’s generative capabilities for educational institutions, including many additional features tailored to the learning environment. Custom pricing.

Gemini API for Developers

Specifically for developers engaged in machine learning and building services based on large language models, Google provides a full API for interacting with Gemini without a graphical user interface.

Moreover, Google has separate cloud platforms for more efficient development and testing of applications built with the Gemini API:

  • Google AI Studio. A lightweight and accessible platform designed for developers, students, and researchers who want to quickly experiment with generative models, particularly the Gemini family from Google. The tool is focused on working with large language models (LLMs): it allows you to quickly create and test prompts, adjust model parameters, and get generated content. The platform offers an intuitive interface without requiring deep immersion into machine learning infrastructure. Simply put, it’s a full-fledged sandbox for a quick start in the AI industry.

  • Vertex AI. A comprehensive artificial intelligence and machine learning platform in Google Cloud, designed to simplify the development, deployment, and scaling of models. It combines various tools and services into a unified, consistent workflow. Essentially, it is a unified set of APIs for the entire AI lifecycle, from data preparation to training, evaluation, deployment, and monitoring of models. In short, it is a complete specialized ecosystem.

  • Gemini Gems. A set of features in Google Gemini designed to automate repetitive tasks and fine-tune model behavior. It allows you to create mini-models tailored for specific, narrow tasks: creating recipes, writing code, generating ideas, translating text, assisting with learning, and much more. In addition to manual configuration, there are many ready-made templates.

Naturally, Google provides the API as a separate channel for interacting with Gemini. With its help, developers can integrate text generation, code writing, image processing, audio, and video capabilities directly into their applications.

Access to the API is possible through the Google Cloud computing platform. Working with Gemini without a graphical user interface is a separate topic beyond the scope of this article. You can find more detailed information about the Gemini API in the official Google Cloud documentation.

Nevertheless, it can be said with certainty that working with the Gemini API is no different from working with the API of any other service. For example, here is a simple Python code that performs several text generation requests:

from google import genai

# client initialization
client = genai.Client(api_key="AUTHORIZATION_TOKEN")

# one-time text generation
response = client.models.generate_content(
    model="gemini-2.0-flash",
    contents="Explain in simple words how generative AI works",
)

print(response.text)

# step-by-step text generation
for chunk in client.models.stream_generate_content(
    model="gemini-2.0-pro",
    contents="Write a poem about spring",
):
    print(chunk.text, end="", flush=True)

At the same time, Google provides numerous reference materials to help you master cloud-based AI generation:

  • Documentation. Official reference for all possible capabilities and functions of the Gemini API.
  • GitHub Examples. Numerous examples of using the Gemini API in Go, JavaScript, Python, and Java.
  • GitHub Cookbook. Practical materials explaining how to use the Gemini API with ready-made script examples.

Thus, Gemini offers developers special conditions and tools for integrating the model into the logic of other applications. This is not surprising, since Google has one of the largest cloud infrastructures in the world.

Conclusion

The Gemini model stands out favorably from many other LLM neural networks, supporting working with multimodal data: text, code, images, and video.

Google, with its rich ecosystem, seeks to integrate Gemini into all its services, adding flexibility to the classic user experience.

Infrastructure

Similar

Infrastructure

Data Processing Unit (DPU): Meaning & How It Works

A DPU is a special type of processor designed for data processing. The abbreviation stands for Data Processing Unit. Technologically, it is a kind of smart network interface card. Its main purpose is to offload the central processing unit (CPU) by taking over part of its workload. To understand why DPUs are important and what potential this technology holds, we need to go back several decades. A Bit of History In the 1990s, the Intel x86 processor, combined with software, provided companies with unprecedented computing power. Client-server computing began to develop, followed by multi-tier architectures and then distributed computing. Organizations deployed application servers, databases, and specialized software, all running on numerous x86 servers. In the early 2000s, hypervisors became widespread. Now, multiple virtual machines could be launched on a single powerful server. Hardware resources were no longer wasted and began to be used efficiently. Thanks to hypervisors, hardware became programmable. Administrators could now write code to automatically detect and initiate virtual machines, forming the foundation of today’s cloud computing paradigm. The next step was network and storage virtualization. As a result, a powerful CPU became the foundation for emulating virtually everything: virtual processors, network cards, and storage interfaces. The downside of this evolution was that pressure on the CPU increased significantly. It became responsible for everything, from running the operating system and applications to managing network traffic, storage I/O operations, security, and more. All system components began competing for CPU resources. The CPU’s functions went far beyond its original purpose. At this point, two major trends emerged: The appearance of specialized hardware for artificial intelligence (AI). The evolution of programmable hardware. CPU, GPU, and DPU AI workloads require parallelism, which cannot be achieved with a general-purpose CPU. Thus, graphics processing units (GPUs) became the driving force behind AI development. Originally designed to accelerate graphics rendering, GPUs evolved into coprocessors for executing complex mathematical operations in parallel. NVIDIA quickly seized this opportunity and released GPUs specifically designed for AI training and inference workloads. GPUs were the first step toward offloading the CPU. They took over mathematical computations. After that, the market saw the emergence of other programmable chips. These microchips are known as application-specific integrated circuits (ASICs) and field-programmable gate arrays (FPGAs), which can be programmed for specific tasks, such as optimizing network traffic or accelerating storage I/O operations. Companies like Broadcom, Intel, and NVIDIA began producing processors that were installed on network cards and other devices. Thanks to GPUs and programmable controllers, the excessive load on the CPU started to decrease. Network functions, storage, and data processing were delegated to specialized hardware. That’s the simplest explanation of what a coprocessor is: a device that shares the CPU’s workload, allowing hardware resources to be used to their full potential. The secret to success is simple: each component does what it does best. Understanding the Architecture Before discussing DPUs, we should first understand what an ASIC processor is and how it relates to network interface cards. Standard and Specialized Network Cards A network card is a device that allows a computer to communicate with other devices on a network. They are also referred to by the abbreviation NIC (Network Interface Controller). At the core of every NIC is an ASIC designed to perform Ethernet controller functions. However, these microchips can also be assigned other roles. The key point is that a standard NIC’s functionality cannot be changed after manufacturing; it performs only the tasks it was designed for. In contrast, SmartNICs have no such limitations. They allow users to upload additional software, making it possible to expand or modify the functionality of the ASIC, without even needing to know how the processor itself is structured. To enable such flexibility, SmartNICs include enhanced computing power and extra memory. These resources can be added in different ways: by integrating multi-core ARM processors, specialized network processors, or FPGAs. DPU Characteristics Data Processing Units are an extension of SmartNICs. Network cards are enhanced with support for NVMe or NVMe over Fabrics (NVMe-oF). A device equipped with an ARM NVMe processor can easily handle input/output operations, offloading the central processor. It’s a simple yet elegant solution that frees up valuable CPU resources. A DPU includes programmable interfaces for both networking and storage. Thanks to this, applications and workloads can access more of the CPU’s performance, which is no longer burdened with routine network and data management tasks. Market Solutions One of the best-known solutions is NVIDIA® BlueField, a DPU line first introduced in 2019, with the third generation announced in 2021. NVIDIA BlueField DPU is designed to create secure, high-speed infrastructure capable of supporting workloads in any environment. Its main advantages include: Zero-trust architecture, ensuring strong security within data centers. Low latency with direct data access. Data transfer speeds up to 400 Gbit/s. SDKs that help developers build high-performance, software-defined, cloud-optimized services accelerated by DPUs using standard APIs. Another company in this space is Pensando, which develops the Distributed Services Card, a data-processing card featuring a DPU. It includes additional ARM cores and hardware accelerators for specific tasks such as encryption and disk I/O processing. Google and Amazon are also developing their own ASIC-based projects: Google TPU (Tensor Processing Unit): a processor designed for machine learning, optimized to run advanced ML models in Google Cloud AI services. AWS Graviton: an ARM-based chip designed to provide the best performance-to-cost ratio for cloud workloads running in Amazon EC2. What’s Next? It is quite possible that the DPU will become the third essential component of future data center servers, alongside the CPU (central processing unit) and GPU (graphics processing unit). This is due to its ability to handle networking and storage tasks. The architecture may look like this: CPU: used for general-purpose computing. GPU: used for accelerating AI applications. DPU: used for processing and transferring data. It appears that DPUs have a promising future, largely driven by the ever-growing volume of data. Coprocessors can breathe new life into existing servers by reducing CPU load and taking over routine operations. This eliminates the need to look for other optimization methods (such as tweaking NVIDIA RAID functions) to boost performance. Estimates suggest that currently, around 30% of CPU workload is consumed by networking functions. Transferring these tasks to a DPU provides additional computing power to the CPU. This can also extend the lifespan of servers by several months or even years, depending on how much CPU capacity was previously dedicated to networking. By adding a DPU to servers, clients can ensure that CPUs are fully utilized for application workloads, rather than being bogged down by routine network and storage access operations. And this looks like a logical continuation of the process that began over 30 years ago, when organizations started building high-performance systems based on a single central processor.
09 October 2025 · 6 min to read
Infrastructure

Service Level Agreement (SLA): Meaning, Metrics, Examples

An SLA is an agreement that defines the level of service a company provides to its customers. This term is usually used in IT and telecommunications.  Unlike standard service contracts, a Service Level Agreement provides a very detailed description of service quality, operating modes, response times to incidents, and other parameters. Main Characteristics of an SLA A Service Level Agreement usually has the following characteristics: Maximum possible transparency of all processes and interactions between the service provider and the client. When drafting the contract, vague wording that could be interpreted ambiguously in one direction or another is avoided. Clearly defined rights and obligations understood by all participants in the agreement. For example, a provider commits to ensuring 99.9% service availability and to pay compensation if a lower figure is recorded, while the client has the right to request that compensation. Expectation management. For instance, a client might expect 24/7, ultra-fast support even for minor issues, while the provider cannot offer such a service. In this case, the client should either lower their expectations or sign a contract with another provider. A third option is also possible: the provider may raise the service level if it benefits their business processes. The agreement specifies the timeframes for fixing issues and solving other problems. It also describes possible compensations that the client may receive if the company fails to meet the declared metrics. An SLA does not always need to be a large document. The main thing is that it clearly describes the core parameters of the service in understandable terms. For example, the AWS S3 SLA is only one page long. It lists monthly uptime percentages and the amount of compensation the client receives if the service fails to meet those thresholds. What is Usually Included in an SLA The example above from Amazon Web Services is not a standard; it is just one possible format tailored to a specific service. An IT SLA often includes the following sections: The procedure for using the service. Responsibilities of both parties, including tools for mutual monitoring of performance. Specific steps for troubleshooting and restoring functionality. The agreement may also specify its term. In some cases, the parties describe in detail the procedure for adding new requirements for functionality or service availability. When describing service quality, its parameters are also disclosed. These typically include: Service availability. Response time to a problem. Time to fix incidents. The SLA may also specify a metric for operating hours. When describing payment procedures, it may indicate the billing model (e.g., pay-as-you-go, fixed rate, etc.). If penalties are provided, the SLA will specify the situations in which the provider must pay them. If the client is entitled to compensation, the SLA also describes the relevant situations and payment procedures. Key SLA Parameters SLA parameters are metrics that can be measured. The agreement should not contain vague phrases like “issues will be resolved quickly, before you even notice.” Such wording is unclear and prevents all participants from organizing proper workflows. For example, the support schedule metric should clearly define when and for which groups of users technical support is available. Suppose a company divides its clients into several groups: Group 1: 24/7 phone and chat support. Group 2: phone and chat support only on weekdays. Group 3: chat-only support on weekdays. Metrics are necessary so that all participants understand which services they receive, when, and in what scope. From this, several key characteristics follow: Metrics must always be publicly available. Their descriptions must be unambiguous for all parties. Clients must be notified in advance about metric changes. When defining metrics, it’s important not to set overly strict requirements, as this significantly increases costs. For instance, suppose a typical specialist can resolve a problem in 4 hours, while a higher-level expert can do it in 2 hours. Writing “2 hours” as the SLA metric is not ideal, as it would immediately make the expert’s work more expensive. If you specify “1 hour,” costs rise further due to the increased risk of penalties for non-compliance. Other important metrics can include response time to a client request. The values may differ depending on the client’s status and problem criticality. For example, a company providing IT outsourcing services might have: Premium clients: response within 15 minutes. Basic clients: response within 24 hours. All of this must be clearly reflected in the SLA. In addition to response time, there’s also incident resolution time. The logic for this parameter is similar: even if a client is important, requests are prioritized based on criticality. For example: If a client’s local office network stops working and all processes halt, that issue must be prioritized. The SLA may state that local network troubleshooting should take no more than 5 hours. If the same client needs to add a few new devices to an already working network, the resolution time may be several hours or even days. The combination of response time and resolution time forms downtime. These and other parameters must be described in the SLA and accepted by all parties before cooperation begins. This approach reduces conflicts; everyone understands what to expect from each other. Service Availability For providers, one of the most important SLA parameters is service availability. It is usually measured in days, hours, or minutes over an agreed period. For example, a provider guarantees that a cloud computing service will be available 99.99% of the time during a year. At first glance, the difference between SLA 99 and SLA 100 may seem small. But in absolute terms, it’s significant. At 99%, you agree that servers may be down up to 4 days per year. At 100%, downtime should be zero—something no company can guarantee. That’s why SLAs are usually written with “nines”: e.g., 99.9%, 99.99%, etc. For example, Hostman.com guarantees 99.98% uptime, meaning total annual downtime will not exceed 1 hour 45 minutes. Some providers promise “five nines”: 99.999% uptime, or less than 15 minutes of downtime per year. But this is not always the best option. Two points to consider: The higher the SLA percentage, the higher the cost. Not every client needs such a high level. In most cases, 99.982% uptime (or slightly higher) is sufficient. It’s important to check not only the number of nines but also the time unit used for measurement. By default, SLA indicators are calculated annually. For example, 99.95% availability equals no more than 4.5 hours of downtime per year. If the contract doesn’t explicitly say that the time unit is “per year,” be sure to clarify, as some providers disguise monthly values as annual. Another key concept is aggregate availability, which equals the lowest of all measured values. Benefits of an SLA Signing and adhering to an SLA benefits both parties. For the company, it defines obligations and protects against unreasonable client demands, such as urgently fixing a minor issue in the middle of the night. Other benefits include: The provider can use the SLA to organize both external and internal processes, such as introducing different support levels depending on service criticality and client importance. Clients gain clarity about what services they can expect, in what timeframes, and in what order, helping them plan their core operations. SLA vs. SLO: What’s the Difference An SLA can also be viewed as an indicator of user satisfaction, ranging from 0% to 100%. Absolute satisfaction (100%) is impossible, just as it’s impossible to guarantee 100% uptime. Therefore, when choosing metrics, one should be realistic and select achievable values. For example, if your team doesn’t provide 24/7 support, you shouldn’t promise it. When the team expands, you can update the SLA and delight clients by offering round-the-clock assistance. To monitor service levels internally, another system is used: SLO (Service Level Objective). These are the target values the provider aims to achieve. Example: Current capabilities are handling 50 tickets per business day, working 9:00 to 18:00, five days a week. These metrics are fixed in the SLA and shown to clients. Meanwhile, the SLO document sets internal goals, for example, increasing the number of handled tickets to 75 per day or switching to 24/7 support. This directly affects the company’s future service level. How to Create a Proper SLA Start with a descriptive section, which usually includes: A glossary System description Participant roles (users, support specialists) Boundaries of operation: geography, time, functionality The next section describes the services provided, giving the client a full understanding of what they can expect when signing with the provider. Then comes the main section, describing the service level. It should include metrics that reflect quality and are easily measurable, as well as metric values that are specific numbers guiding all participants. You can end the SLA with references to other documents that regulate service processes. At all stages of preparing an SLA, remember: it is a regulatory document. Its main goal is control. The more control over the process, the better the SLA. If there is no control, such an agreement is meaningless. Checklist: What to Consider When Preparing an SLA If you are not signing but drafting an SLA to offer clients, pay attention to the following points: Users. In large systems, divide users into groups and manage them separately. This helps allocate resources efficiently and avoid overload from different client types. Services. Consider the criticality of each service for each client group. Example: You provide a CRM to trading companies. If they can’t use it, they lose money and complain, meaning it’s a high-criticality service. Printer replacement or user account creation can wait until tomorrow. Service quality parameters. They must align with business goals and client needs. A typical example is incident resolution times, e.g., 24/7 support versus 9 a.m. to 5 p.m. on weekdays only. An SLA is a document that must be announced to all users whenever it is introduced or updated, regardless of privilege level or service criticality. SLA is a management tool that constantly evolves. You may find that current quality parameters harm business processes or no longer meet client expectations. In that case, management should decide to optimize processes or improve services. The main goal of SLA indicators is not to attract users but to ensure open dialogue with them. Every participant accepts the agreement and commits to following it. Violation of an SLA is grounds to claim compensation and terminate cooperation.
09 October 2025 · 9 min to read
Infrastructure

What is Docker: Application Containerization Explained

Docker is software for containerizing applications. Today, we’ll talk about what containerization and Docker are, what they are used for, and what advantages they bring. Containerization Containerization is one of the methods of virtualization. To understand it better, let’s take a brief historical detour. In the 1960s, computers couldn’t perform multiple tasks at once. This led to long queues for access to such rare machines. The solution was to distribute computing power among different isolated processes. That’s how the history of virtualization began. Virtualization is the allocation of computing resources to isolated processes within a single physical device. The main development of virtualization came during the Internet era. Imagine you’re a business owner and you want your company to have a website. You need a server connected to the global network. Today, that’s as easy as visiting hostman.com and choosing a server that fits your needs. But in the early days of the internet, such convenient services didn’t exist. Companies had to buy and maintain servers on their own, which was inconvenient and expensive.  This problem led to the rise of hosting providers: companies that purchased hardware, placed it in their facilities, and rented out servers. As technology advanced, computers became more powerful, and dedicating a full physical server to a single website became wasteful. Virtualization helped: several isolated virtual machines could run on one computer, each hosting different websites. The technology allowed allocating exactly as many resources as each site needed. However, that still wasn’t enough. As the internet evolved, the number of applications required for running a website grew, and each required its own dependencies. Eventually, it became “crowded” within a single virtual machine. One workaround was to host each application in its own virtual machine, a kind of virtual “matryoshka doll.” But a full VM was still excessive for a single application: it didn’t need a full OS instance. Meanwhile, virtual machines consumed a lot of resources, much of which went unused. The solution was containerization. Instead of running a separate virtual machine for each application, developers found a way to run them in isolation within the same operating system. Each container includes the application, its dependencies, and libraries: an isolated environment that ensures consistent operation across systems. Docker What is a program? It’s a piece of code that must be executed by the CPU. When you run a container, Docker (through the containerd component) creates an isolated process with its own namespace and file system. To the host system, the container looks like a regular process, while to the program inside it, everything appears as if it’s running on its own dedicated system. Containers are isolated but can communicate with each other via networks, shared volumes, or sockets, if allowed by configuration. Data Storage Isolation from the host OS raises a natural question: how to store data? Docker Volume: a storage unit created and managed by Docker itself. It can be located anywhere: within the host’s file system or on an external server. Bind Mount: storage manually created by the user on the host machine, which is then mounted into containers during runtime. tmpfs Volume: temporary in-memory storage. It is erased when the container stops. In production environments, volumes are most commonly used, as Docker manages them more securely and reliably. Docker Architecture Docker’s architecture consists of several key components that work together to build, run, and manage containers: Docker Host A physical or virtual machine running the Docker Engine. This is where containers and images are executed. Docker Engine (Docker Daemon) The central service responsible for building, running, and managing containers. Since Docker 1.11, Docker Engine has used containerd, a low-level component that directly manages container lifecycles (creation, start, stop, and deletion). containerd A container runtime that interacts with the operating system kernel to execute containers. It’s used not only by Docker but also by other systems such as Kubernetes. Docker Engine communicates with containerd via an API, passing commands received from the client. Docker CLI (Client) The command-line interface through which users interact with Docker. CLI commands are sent to the Docker Daemon via REST API (usually over a Unix socket or TCP). Docker Image A Docker image is a template that includes an application and all its dependencies. It’s similar to a system snapshot from which containers are created. Dockerfile A text file containing instructions on how to build an image. It defines the base image, dependency installation commands, environment variables, and the application’s entry point. Docker Container A Docker container is a running instance of an image. A container is isolated from other processes and uses host resources through Docker Engine and containerd. Docker Registry A repository for storing and distributing Docker images. There are public and private registries. The most popular public one is Docker Hub, which Docker connects to by default. Docker Compose A tool for defining and running multi-container applications using YAML files. It allows developers to configure service dependencies, networks, and volumes for entire projects. Advantages of Docker Security What does isolation provide in terms of security? An isolated application cannot harm the host operating system. It has no access to the host’s file system, preventing data leaks. Any application-related crash won’t affect the host OS. Compatibility A container image can be run on any device with Docker installed. Automation Docker automates application deployment and configuration, saving time and reducing human error. Shared Repositories Docker users have access to repositories with thousands of ready-to-use images for various purposes. Resource Efficiency Unlike virtual machines, Docker containers don’t require a separate OS instance, allowing better use of computational resources. Using Docker Now let’s move from theory to practice. The first thing we need to do is install Docker. Installation Installation begins at the official website: docker.com. Go to the “Get Started” section and choose the version for your operating system. In our case, it’s Windows. Installation guides for other OSs are also available. After installation, a system reboot is required. Docker requires a hypervisor, special software that enables multiple operating systems to run simultaneously. We’ll use WSL2 (Windows Subsystem for Linux 2). Docker installs WSL2 automatically, but you must manually download the latest Linux kernel update. Go to Microsoft’s website, download, and install the update package. After rebooting, Docker Desktop will open. Running a Python Script Let’s print the message “Hello, World” to the console using a simple Python script: #!/usr/bin/python3 print("Hello World") Since we’re not running the script directly, we need a shebang—that’s the first line in the script. In short, the shebang tells the Linux kernel how to execute the script. Let’s name our file the classic way: main.py. Now open the command line. To run the script, execute: docker run -v D:\script_dir:/dir python:3 /dir/main.py Let’s break this down: docker run runs a container -v mounts a directory (bind mount) D:\script_dir is the directory with our script /dir is the mount point inside the container python:3 is the image /dir/main.py is the executable file (our script) What happens when this command is executed? Docker searches for the python:3 image first locally, then in the registry, and deploys it. Next, it mounts our script directory into the container and runs the script inside it. Conclusion In this article, we explored what Docker is, how it works, and even ran our first script. Docker and containerization are not a cure-all, but they’re invaluable tools in modern software development.
08 October 2025 · 7 min to read

Do you have questions,
comments, or concerns?

Our professionals are available to assist you at any moment,
whether you need help or are just unsure of where to start.
Email us
Hostman's Support