Skip to main content

Building MLOps workflows with Kubeflow

· 7 min read
Update Kubeflow


Hello. In this post, we introduce Kubeflow, a core platform for machine learning operations.

Kubeflow is an open-source project designed to reduce the complexity of machine learning and help data scientists and developers develop and deploy machine learning models more easily and quickly. In the first sentence introducing Kubeflow on the official Kubeflow site, it is described as a project that helps comprehensively manage and operate various open-source tools for machine learning on Kubernetes.

Starting from TensorFlow Extended (TFX), which Google used internally in the past, Kubeflow has now expanded into one of the most widely known end-to-end solutions for running machine learning workflows in various Kubernetes-based environments.

One of Kubeflow's most innovative approaches is the integration of AutoML and Kubeflow Pipelines. This allows users to automate and optimize the training, evaluation, and deployment stages of models, reducing repetitive work in machine learning projects. In addition, multi-tenant support has been strengthened so that multiple teams can effectively share the same Kubeflow instance while isolating resources. The Kubeflow service provided by KakaoCloud is also designed to maximize the efficiency of machine learning work and make it easy for users to access.

In this post, we introduce Kubeflow's major components, latest features, and various tutorial scenarios for using Kubeflow on KakaoCloud.

Kubeflow features

Kubeflow supports the following tasks in Kubernetes environments with the goal of flexible scaling and easy, convenient production deployment of machine learning models.

  • Easy, repeatable, and portable deployment: Pipelines created through Kubeflow make deployment easier across multiple environments, including cloud and on-premises environments.
  • Independent microservice deployment and management system: Based on a microservices architecture, Kubeflow enables independent management of each component.
  • Responsive scaling based on user requirements: Resources are automatically scaled according to user requirements to ensure optimal performance.

Key Kubeflow components

Kubeflow consists of multiple open-source components such as Central Dashboard, Jupyter Notebooks, Tensorboard, and Pipelines, each supporting a specific stage of the machine learning workflow. These components are designed to help users manage machine learning projects more efficiently.


Source: Kubeflow Ecosystem

Using these key components on Kubernetes, Kubeflow efficiently supports the entire process from machine learning model development and deployment to resource management.

Key Kubeflow componentDescription
Central Dashboard   Provides a dashboard web console for accessing and monitoring multiple components.
NotebooksProvides a Jupyter Notebook environment where data scientists can code directly within a cluster.
TensorboardCreates and manages Tensorboard Server, a tool for visualizing model training processes and training data provided by frameworks such as Tensorflow and PyTorch.
PipelinesSimplifies complex machine learning workflows through scalable Docker-based pipelines.
KatibAutomates hyperparameter tuning for model training through AutoML components such as Katib.
Training OperatorSupports various machine learning frameworks and enables flexible training jobs.
KServeEnables efficient model deployment and serving through model-serving add-ons such as KServe, and provides them as real-time APIs internally and externally.

KakaoCloud Kubeflow

KakaoCloud supports the latest features, including Kubeflow 1.6, and provides an optimized cloud environment that enables users to perform machine learning tasks easily and quickly. In particular, KakaoCloud Kubeflow has the following features.

Support for all Kubeflow 1.6 features

KakaoCloud Kubeflow lets you use all major Kubeflow components and add-ons introduced above. You can also install and use frameworks and libraries such as Tensorflow, PyTorch, Apache MXNet, MPI, XGBoost, Chainer, HuggingFace, and OpenAI SDK.

Granular access management

By providing RBAC, users can be assigned namespaces according to their tasks and roles, and permissions can be managed efficiently by user or group. Administrators can also assign quota features by namespace and allocate CPU, memory, GPU memory, and storage resources according to configured usage.

Flexible storage options

In addition to the independent MinIO type, KakaoCloud supports storage repositories of the Object Storage type, enabling more flexible serving of model result files.

Optimized for Nvidia MIG instances

KakaoCloud Kubeflow provides optimized MIG (Multi Instance GPU) instances based on Nvidia A100. MIG instance settings allow GPU resources to be partitioned, enabling users to run multiple workloads efficiently on the same GPU.

Multi File Storage support

Users can dynamically use as much independent File Storage as needed by user or group, making it easier to share files between work pipelines and notebooks.

Usage examples with Kubeflow

KakaoCloud technical documentation provides rich Kubeflow tutorials that cover various stages of machine learning projects, from Jupyter Notebook setup to building parallel training models and creating model-serving APIs. By referring to these tutorials, you can learn about efficient model development, training, optimization, and deployment using KakaoCloud Kubeflow.

The Kubeflow-related tutorials currently available in KakaoCloud technical documentation are as follows.

Closing

Kubeflow is currently one of the most widely used open-source MLOps platforms in Korea and abroad. As a result, educational content, experience cases, and example source code are relatively abundant, helping data scientists and working analysts who are using it for the first time adapt quickly.

KakaoCloud Kubeflow provides GPU optimization and powerful resource management features through easy provisioning that takes advantage of the cloud environment. We will continue improving the Kubeflow service so KakaoCloud users can fully benefit from an MLOps platform with machine learning efficiency and enhanced security. If you are considering using a Kubeflow service for machine learning, be sure to try KakaoCloud's service.

Thank you.

t1i instances with burstable performance

· 5 min read
Sandy (차신영)
Technical Contents Manager
New Release t1i


Hello, we are sharing updates about the BCS (Beyond Compute Service) instance family.
KakaoCloud released t1i burstable instances last September. In this post, we will look at the credit feature and burstable performance applied to t1i instances starting January 25, 2024.

Understanding t1i instances

Before taking a closer look at burstable performance, it is helpful to understand t1i instances in KakaoCloud Beyond Cloud Compute (BCS).
t1i instances, a type of KakaoCloud general-purpose instance, are designed for workloads that do not require consistently high CPU performance but need to deliver high performance in specific situations. These instances provide burstable CPU performance controlled by credits, offering an appropriate balance between high performance and cost.

How burstable performance works

The English word "burstable" is a compound of "burst" and "able." In cloud computing, burst means the ability to temporarily exceed a defined baseline performance level and deliver higher performance. Therefore, equipping an instance with burstable performance means that the instance provides baseline CPU performance but has the ability to burst beyond that baseline.

In KakaoCloud, the t1i general-purpose instance provides this burstable performance. It demonstrates its value by offering a cost-effective solution for workloads where the CPU is usually idle but occasionally requires high CPU performance.


Then how do KakaoCloud t1i instances provide this burstable feature?
The answer is CPU credits. t1i instances continuously receive CPU credits, and the credit rate varies depending on the instance size.

(Example of credit rate)
1 CPU credit = 1 vCPU x 100% utilization x 1 minute = 1 vCPU x 50% utilization x 2 minutes = 2 vCPUs x 25% utilization x 2 minutes

Credits are consumed when an instance runs above its baseline CPU utilization, and unused CPU credits during low workloads are saved for future bursts. This makes it possible to handle unexpected loads smoothly.

(Credit consumption relationship)
CPU utilization below baseline: accrued credits > consumed credits
CPU utilization equal to baseline: accrued credits = consumed credits
CPU utilization above baseline: accrued credits < consumed credits

For a detailed explanation of credit calculation, see the user guide.

Example use cases for t1i instances

t1i instances that provide burstable performance can be an optimal choice in terms of cost efficiency and flexibility. They are especially useful in the following business situations.

  • Variable workloads: When workloads are inconsistent and CPU usage fluctuates over time, t1i instances provide baseline performance while offering the flexibility to increase performance when needed.
  • Development and test environments: Development and test environments often require high performance only at certain times. t1i instances can be a cost-effective choice for these environments.
  • Low-latency interactive applications: For applications that require user interaction, response time is important. t1i instances can instantly adjust performance when needed and improve user experience.
  • Small and medium-sized databases: Suitable for databases that require consistent performance but occasionally need high performance. Burstable performance can be used during database maintenance tasks or unexpected traffic increases.
  • Background processing jobs: For scheduled batch jobs or background processing jobs, t1i instances can reduce costs when consistently high performance is not required.

Best practices

To use t1i instances smartly, several strategic management and planning practices are needed. We hope the following best practices help you use t1i instances and maximize application performance.

  • Monitor CPU credit balance: You can collect and view key metrics through KakaoCloud Monitoring. Monitor CPU credit balance regularly so that instances can burst when needed.
  • Choose an appropriate instance size: Select an appropriate t1i instance size, such as t1i.nano, t1i.medium, or t1i.2xlarge, according to different workload requirements to optimize cost and performance.
  • Understand workload patterns: Analyze CPU usage patterns of workloads and improve operational efficiency by balancing CPU credit accumulation and consumption rates for the instance.

Closing

On January 25, 2024, the powerful feature of "burstable" performance was added as a milestone for KakaoCloud t1i instances, providing more flexible and cost-effective compute performance.
The burstable feature is especially meaningful because KakaoCloud is the first domestic CSP to release it. We want to emphasize that KakaoCloud t1i instances are not just an instance type, but a strategic asset that can use resources cost-effectively. Use the power of burstable performance to experience operations that ensure high performance during peak hours while avoiding unnecessary costs during idle time.
For detailed specifications and information about t1i instances, see Burstable instances in the user guide.

Notice

The above overview of burstable instances was written based on information available in January 2024. For the latest information about KakaoCloud BCS instances, see BCS instances.

New BCS p1i and m3az instances released

· 2 min read
Mia (정혜원)
Technical Contents Manager
Notice

The following announcement for p1i and m3az instances was written based on information available in December 2023. For the latest information about KakaoCloud Beyond Compute Service, see Specifications by instance type.

Hello, we are sharing updates about the BCS (Beyond Compute Service) instance families.

KakaoCloud continues to introduce BCS instance types that better match users' diverse workload specifications. In this post, we introduce the recently released p1i family, which supports accelerated computing, and the general-purpose m3az family.


1. p1i instances for high-performance computing

p1i is an instance family optimized for high-performance computing such as machine learning and HPC. It is equipped with Gold 5120 Skylake Intel Xeon Scalable processors and supports up to 56 vCPUs and 512 GiB of memory. p1i instances are currently provided as Bare Metal Server types, with up to four NVIDIA V100 Tensor Core GPUs.

Selecting a p1i instance in the console Selecting a p1i instance in the console


2. m3az instances optimized for single-threaded CPU environments

The m3az instance family is a general-purpose instance family equipped with the latest 4th Gen AMD EPYC 9004 series processors. It provides a single-threaded CPU environment and is optimized for specific workloads such as games and healthcare. m3az instances provide memory and vCPU options in various sizes. They also provide network bandwidth up to 12.5 Gbps.

Selecting an m3az instance in the console Selecting an m3az instance in the console


The two new instance families, p1i and m3az, are available in the kr-central-2 region. For more information, see the BCS instance types documentation.

We hope you experience more efficient and powerful cloud computing with KakaoCloud's diverse BCS instance services.
Thank you.

Hadoop Eco Dataflow clusters now available

· 3 min read
Sandy (차신영)
Technical Contents Manager
Notice

The following overview of Hadoop Eco was written based on information available in December 2023. For the latest information about KakaoCloud Hadoop Eco, see Hadoop Eco.

Gartner, a global information technology (IT) research and consulting company, researches and announces Data & Analytics (D&A) trends every year.
According to this year's Gartner report (Gartner Identifies the Top 10 Data and Analytics Trends for 2023), data and analytics teams must do more than manage data resources and generate insights from them. Beyond simply collecting massive amounts of data, they are required to collect the right data with the right tools at the right time and derive business insights from it. To do this, the report suggests that enterprise data and analytics teams should follow trends such as value optimization, data sharing, observability, data and analytics sustainability, and data fabric.

To continue keeping pace with rapidly evolving data analytics trends, KakaoCloud added the new Dataflow cluster type to Hadoop Eco in November 2023. Previously, Hadoop Eco provided Core Hadoop, HBase, and Trino types. With the addition of Dataflow clusters, data collection and analysis through Hadoop, Kafka, Druid, and Superset is now possible.
Dataflow provided by Apache Beam is one of the unified batch and streaming data processing models widely chosen by users around the world. Dataflow is a fully managed open-source framework optimized for streaming data analytics that minimizes latency, processing time, and cost through autoscaling and batch processing, and it supports a wide range of frameworks (Flink, Spark, and more) and multiple languages.

With the newly added Dataflow clusters in KakaoCloud Hadoop Eco, users can experience the following benefits.

  • More efficient data collection and analysis: Efficiently collect data through Kafka and analyze data in real time using Druid and Superset.
  • Various analysis tools provided: Visualize data and perform diverse analysis tasks through Druid and Superset.
  • Scalability and high availability: Standard (Single) and high availability (HA) types are provided with cluster operation stability in mind.
    In Standard (Single) mode, one master node instance runs one resource manager and one name node, making it suitable for small-scale jobs. In the high availability (HA) type, three master node instances are provided, and the resource manager and name node run in HA mode. Uninterrupted work is possible even when three master nodes are created or rebooted.

Selecting a Dataflow cluster in the console Selecting a Dataflow cluster


Try Dataflow, the unified batch and streaming data processing model provided by Apache Beam, in KakaoCloud Hadoop Eco.
Thank you.

Related documentation

In the Real-time web server log analysis and monitoring using Hadoop Eco Dataflow hands-on tutorial, you can learn in detail how to use Dataflow clusters to collect and analyze data efficiently.

Network Load Balancer TLS listener and Access Log activation features added

· 3 min read
Romy (이새롬)
Technical Contents Manager
Notice

The following announcement for new Load Balancing features was written based on information available in November 2023. For the latest information about KakaoCloud Load Balancing, see Load Balancing.

Hello, we are introducing two major releases for KakaoCloud Load Balancing.

1. TLS listener added to Network Load Balancer (NLB)

TLS has been added to the NLB listener protocol among KakaoCloud load balancer types.

Selecting the TLS protocol Selecting the TLS protocol

A TLS listener can offload encryption and decryption work to the load balancer. To use a TLS listener, you must deploy and specify at least one server certificate on the load balancer. This certificate is called the default SSL certificate, and after creating a TLS listener in the console, you can replace it or add a new certificate. KakaoCloud NLB supports TLS versions from 1.0 through 1.2.

Selecting the minimum TLS version and setting the default SSL certificate Selecting the minimum TLS version and setting the default SSL certificate

For instructions on creating a TLS listener, see the linked document.

2. Access Log activation feature provided

An Access Log activation feature has been added to all KakaoCloud load balancer types.
Access Logs are information collected to analyze traffic patterns sent to a load balancer and troubleshoot issues.

Access Log is an optional feature that users can select, and it is set to Disabled by default in the console. If you change the Access Log feature to Enabled and activate it, compressed files of captured logs can be stored in a specified Object Storage bucket. The Object Storage bucket must be located in the same region, and the encryption setting for the bucket must be set to Disabled. When configuring Access Log in the console, you can find a detailed configuration guide in the pop-up window shown below.

Object Storage bucket guidance when configuring Access Log Object Storage bucket guidance when configuring Access Log

For reference, networking costs are not charged for transferring log files, but Object Storage costs are charged.

For a more detailed explanation of Access Log, see the linked document.

We will continue working to provide safer and more convenient cloud services.

Thank you.

Reader role added to the IAM permission system

· 3 min read
Mia (정혜원)
Technical Contents Manager
Notice

The following announcement for a new IAM service role was written based on information available in November 2023. For the latest information about KakaoCloud IAM, see IAM.

Figure. KakaoCloud resource hierarchy KakaoCloud resource hierarchy

Hello, KakaoCloud IAM (Identity and Access Management) is a service that lets you manage access and control permissions for cloud resources and user groups.

Recently, KakaoCloud released the Reader role for both the 'Organization' and 'Project' levels in IAM.

An 'Organization' is the top-level concept in the KakaoCloud hierarchy and can be viewed as a cloud domain. A 'Project' is a group that can own service-level resources and is a lower-level hierarchy within an organization. At both the organization and project levels, the Reader role is fundamentally granted only permission to view information or resources within the corresponding group.

  • A user granted Reader permission at the organization level can view the organization's information and all project information within that organization. However, the user cannot view or manage resources other than project information. It is an organization-level role with minimal permissions compared with Organization Owner and Organization Admin.

  • Project Reader is also a permission configured only to view resources by project. It is one permission level lower than Project Member and can view resources owned within the project. To create, read, update, or delete resources beyond resource viewing, a user must be granted Project Member or higher permissions.

With the addition of the Reader role at the organization and project levels, permissions can now be created more granularly based on users' affiliations and responsibilities within an organization. The changed IAM role system applies equally to all KakaoCloud regions.

For more information about role management in KakaoCloud, see the IAM role management documentation.

We will continue working to provide safer and more convenient cloud services.

Thank you.

Storage Viewer role added to Object Storage

· 2 min read
Sandy (차신영)
Technical Contents Manager
Notice

The following announcement for a new Object Storage feature was written based on information available in October 2023. For the latest information about KakaoCloud Object Storage, see Object Storage.

Hello, we are announcing changes to the Object Storage permission system.

The permission system of Object Storage is slightly different from the IAM permission system. Unlike IAM, Object Storage has detailed roles so that permissions can be configured not only for buckets but also for individual objects.

In this release, the "Storage Viewer" role has been added to Object Storage permission settings. This role is granted permission to view bucket metadata information and object metadata.

With this change, users with the "Project Reader" permission in IAM roles are granted the "Storage Viewer" permission in Object Storage. In addition, "Project Admin" in IAM roles is granted the "Storage Admin" permission in Object Storage roles, and "Project Member" is granted the "Storage Editor" permission. This part remains unchanged from before.

For more detailed role definitions, see the following image comparing IAM and Object Storage roles. This role system applies to both kr-central-1 and kr-central-2.

Permission setting architecture Permission setting architecture

In the console, you can add or modify the new "Storage Viewer" role for members in the [Add role] pop-up window in the same way as before.

Bucket role settings Bucket role settings

For instructions on creating and managing buckets with detailed role configuration, see the detailed tutorial guide.

KakaoCloud users can use object-based storage optimized for storing and processing large volumes of data as objects in Object Storage. For more information about Object Storage, which enables more precise permission management through role-based access control, see the technical documentation.

We will continue working to provide safer and more convenient cloud services.

Thank you.

Transit Gateway sharing feature released

· 2 min read
Romy (이새롬)
Technical Contents Manager
Notice

The following announcement for a new Transit Gateway feature was written based on information available in October 2023. For the latest information about KakaoCloud Transit Gateway, see Transit Gateway.

Hello, a "sharing" feature that lets you share Transit Gateways across projects has been added to the Transit Gateway service.

With the sharing feature in Transit Gateway, you can now share a Transit Gateway across projects and configure communication between VPCs in different projects.

Assume you are using two projects, A and B, as shown in the following diagram. Previously, the administrator of this organization placed a Transit Gateway in each project and managed the VPCs for each project. With this sharing feature, however, the Transit Gateway in project A can also be used from project B. In other words, all VPCs in both projects can be managed conveniently through one shared Transit Gateway.

Unlike the simplified diagram provided to aid understanding, if you need a complex network configuration that connects dozens or hundreds of on-premises and VPC environments in practice, this feature can greatly simplify management points and significantly reduce operational costs.

Understanding the Transit Gateway sharing feature Understanding the Transit Gateway sharing feature

For a detailed usage example that implements VPC connectivity through Transit Gateway sharing across projects, see the detailed tutorial guide.

KakaoCloud users can use Transit Gateway to improve the efficiency of operating and managing multiple VPCs and respond flexibly to future network scalability needs. Please also remember that Transit Gateway is basically a kr-central-2 regional service, and only users with the Project Admin role can access it. For more information about Transit Gateway, see the technical documentation.

We will continue working to provide safer and more convenient cloud services.

Thank you.

Bare Metal Server nodes now available in Kubernetes Engine

· 2 min read
Mia (정혜원)
Technical Contents Manager
Notice

The following announcement for a new Kubernetes Engine feature was written based on information available in October 2023. For the latest information about KakaoCloud Kubernetes Engine, see Kubernetes Engine.

Hello, Kubernetes Engine, KakaoCloud's managed Kubernetes service, now provides Bare Metal Server nodes.

KakaoCloud users can now configure node pools in the console by choosing from three node pool types, including Virtual Machine and Bare Metal Server.

To use Bare Metal Server nodes in Kubernetes Engine, follow these steps.

  1. In the KakaoCloud console, select the Kubernetes Engine service.
  2. On the Cluster tab, select the cluster where you want to create a node pool. If no cluster has been created yet, create a cluster first.
  3. On the cluster details page, click the Node pool tab, then click [Create node pool] on the right.
  4. On the [Create node pool] screen, you can see a screen where you can select the node pool type as shown below.

Image

  1. Select the Bare Metal Server type and enter the information required for configuration to create a node pool easily.

Other recent improvements to Kubernetes Engine are as follows.



  • To ensure high availability for multi-availability-zone clusters, selecting at least one subnet in each availability zone is now required when creating a new cluster (applied to kr-central-2).
  • The API server endpoint for newly created clusters has been changed to port 443 (applied to kr-central-1).

For more information about Kubernetes Engine, see the technical documentation. We will continue working to provide safer and more convenient cloud services.

We will continue working to provide safer and more convenient cloud services.

Thank you.

News about the new technical documentation site

· 3 min read
Mia (정혜원)
Technical Contents Manager

Hello, we are pleased to announce the renewal of the new technical documentation site containing KakaoCloud from A to Z.

What is KakaoCloud technical documentation?

KakaoCloud technical documentation is a platform that provides broad information about KakaoCloud services and technologies. Its primary purpose is to help users and developers make the most of KakaoCloud's powerful services. Through this platform, you can gain a deeper understanding of KakaoCloud services and technologies and expand your technical insights.

What has changed?

  1. The previously separate user guide and technical documentation have been integrated into one site.

    The previous KakaoCloud technical documentation was operated as two separate sites: the user guide and the technical documentation. Through this renewal, the two sites have been integrated into one, significantly improving the accessibility and convenience of technical documentation, including service guides and hands-on tutorials.

    Image

  2. The GNB structure has been changed to focus on user behavior.

    The previous GNB (*Global Navigation Bar), which was organized around services, has been changed to a user-behavior-oriented structure. The previous [User Guide] - [Search bar] structure has been improved to [Get started] - [Services] - [Tutorials] - [Blog] - [Search bar] - [Contact us], making it easier for users to find the information they are looking for.

  3. A new "Get started" page has been added for new users.

    The 'Get started' page contains useful content for users who are new to KakaoCloud. It provides essential guides, including basic concepts every cloud user should know, service features, and console environment setup.

    Image

  4. A blog page has been added.

    In addition to guide-style documents, you can easily find useful information and tips for users, such as the latest release notes and instance selection guides, on the blog page.

    Image

How do I get started with KakaoCloud?

You can start using services by signing up directly on the KakaoCloud site, or begin conveniently and safely through consulting from KakaoCloud cloud experts. New customers receive free credits that can be used to run, test, and deploy workloads.

The KakaoCloud team hopes to create more points of connection with our users. We hope you start your cloud journey through the KakaoCloud technical documentation site and gain technical insights along the way.

We appreciate your support and interest.

Thank you.