전자 신문 Allshow TV 웨비나 : 서비스 생산성 향상을 돕는 DBaaS for My SQL 8/서버리스 * KT Cloud 서버리스 소개 및 PoC 시연 다시보기 https://youtu.be/iaVwynhVnh4
INFORMATION NAMEMinwook. KimNOW* (이전)KT 융합기술원 / (현재) KT Cloud - Container service development* PhD Candidate - Infra tech research(Serverless, Container, Cloud, Autoscaling, etc) - ML/DL/RL research for application to infra tech SKILLSContainer / Serverless / Cloud Computing / Kubernetes / Openstack / NFV / HA / Infra ManagementLANGUAGE Python / Go / Java E-MailPERSONAL91.minwook.kim@gmail.com
Knative Autoscaling 연구하기안녕하세요. 이전 포스팅에서 Serving과 Eventing 그리고 Auto Scaling에 대해서 알아보았습니다. Knative의 Auto Scaling은 기존의 Metric, Event 방식의 Autoscaler들과는 달리 KPA(Knative Pod Autoscaler)에 의해 Concurrency 즉, Request 수에 따라 Autoscaling이 이루어지게 됩니다. 따라서 이번 포스팅에서는 Knative에서 Auto Scaling이 내부적으로 어떻게 동작하고 어떻게 구현되어있는지 그리고 어떠한 수식과 로직에 따라계산되는지 등에 대해 코드레벨에서 분석한 내용을 말씀드리고자합니다. * 코드의 내용이 방대하여 전체 코드를 세세하게 보진 못하여 틀린 부..
[국내] 클라우드 환경 모니터링 시스템 및 방법 (Monitoring system and method of cloud environment) Authors 김민욱(Kim Min Wook), *김영한(Kim Young Han) Status 등록 [국내] 서비스형 함수의 콜드 스타트 지연을 줄이는 시스템과 방법 (System and method for reducing cold start latency of function as a service) Authors 김민욱(Kim Min Wook) Status 공개
Knative Eventing 연구하기안녕하세요. 이전 포스팅에서 Serving과 Auto Scaling에 대해서 알아보았습니다. Knative는 서버리스 서비스의 라이프사이클 뿐만아니라 서비스로 전달되는 다양한 이벤트를 관리하거나 혹은 이벤트를 직접 생성할 수있는 기능을 제공하고 있습니다. 따라서 이번 포스팅에서는 Eventing에 속해 있는 개념들과 이러한 Eventing들이 제공하는 다양한 기능들에 대해서 설명드리겠습니다. Knative Eventing서버리스 서비스들을 개발하는 개발자들은 이벤트를 기반으로하여 다양한 서비스들을 개발할 수 있습니다. Knative Eventing에서는 특히 이벤트를 생성하는 이벤트 생성자와 이벤트를 수신하는 이벤트 컨슈머등의 개념을 기반으로 기능을 제공하고 있..
Knative 연구하기안녕하세요. 최근 개인적으로 Serverless 분야를 흥미있게 연구하고 있는데 이전에 포스팅 했던 Faas(Function as a Service) 프로젝트인 OpenFaaS와 더불어 Kubernetes 인프라 상에서 동작하는 Serverless 프로젝트인 Knative에 정리하고자 합니다. Knative는 2018년 7월 구글에서 발표한 오픈소스 프로젝트로 Knative를 사용하면 컨테이너 기반의 어플리케이션을 쉽게 개발하고 배포하며 또 관리 할 수있게 됩니다. 그림 1과 같이 Knative를 통해 개발자들은 서버 관리 등에 대해서 고려할 필요없이 오로지 어플리케이션 개발 및 배포에만 신경쓸 수 있게 되며, 사용자 역시 API를 통해 어플리케이션이 제공하는 기능을 사용할 수 있..
Knative AutoScaling 연구하기안녕하세요. 이전 포스팅에서 Serving에 대해서 알아보았습니다. 서버리스 서비스들은 일정 시간 동안 요청이 없으면 Pod가 제거 되고, 요청이 오면 Pod를 생성하게 됩니다. 이러한 기능을 Knative에서는 Auto Scaling이라고 부르며, 이번 포스팅에서는 Auto Scaling을 위한 각각의 컴포넌트들과 순차적인 워크플로우에 대해서 살펴보도록 하겠습니다. Knative Auto Scaling서버리스 서비스가 Pod로 생성되게 되면, 자동적으로 Queue Proxy가 포함되게 됩니다. 해당 컨테이너는 서비스 컨테이너의 요청을 파악하고, 요청이 없다면 다른 컴포넌트에 이를 알려주게 됩니다. Queue Proxy는 서비스 컨테이너와 함께 사이드카 형태..
Knative 개발환경설치안녕하세요. 최근 개인적으로 Serverless 분야를 흥미있게 연구하고 있는데 이전에 포스팅 했던 Faas(Function as a Service) 프로젝트인 OpenFaaS와 더불어 Kubernetes 인프라 상에서 동작하는 Serverless 프로젝트인 Knative에 정리하고자 합니다. Knative는 2018년 7월 구글에서 발표한 오픈소스 프로젝트로 현재는 Cloud Native Computing Foundation(CNCF)에 호스팅되어 있는 프로젝트입니다. Knative를 사용하면 컨테이너 기반의 어플리케이션을 쉽게 개발하고 배포하며 또 관리 할 수있게 됩니다. 그림 1과 같이 Knative를 통해 개발자들은 서버 관리 등에 대해서 고려할 필요없이 오로지 어플리케이..
OpenTracing 개요안녕하세요. 이번 포스팅에서는 마이크로서비스(Microservice) 구조에서 서비스 간의 호출에 따른 요청과 실행 되는 메소드들을 추적하여 확인하고 지연, 장애를 식별할 수 있는 트레이싱 툴의 비공식 표준인 CNCF의 OpenTracing에 대해 공식 문서[1]를 기준으로 한 번 살펴보도록하겠습니다. 클라우드 환경이 도입되고 컨테이너로의 발전과 함께 소프트웨어 아키텍쳐의 발전으로 이어지고 있습니다. 개발 프로세스는 DevOps로 가상머신은 컨테이너로, 어플리케이션 아키텍쳐는 기존 모놀리식 구조에서 마이크로서비스 구조로 진화하였습니다. 컨테이너 기반의 마이크로서비스들은 클라이언트의 요청을 처리하기 위해 여러 개의 개별적인 분산 서비스들로 구성되고 서로 클라우드 상에서 네트워크 혹..
기본적인 인벤토리 문법안녕하세요. 저번 포스팅에서는 Ansible 연구하기(개념 및 설치)에 작성해보았습니다. 이번 포스팅에는 Ansible 공식 Documentation을 기준으로 간략하게 정리한 인벤토리 문법에 대해 한번 작성해 보도록 하겠습니다. 인벤토리 문법은 체계적으로 그룹화하여 관리하는 것이 중요하다고 생각됩니다. 중복되는 서버 리스트가 있을 수도 있고 각 서버 혹은 그룹 별로 다르게 적용해야할 변수들도 있을 것입니다. 이러한 부분에 대해 숙련을 가지기 위해서는 다른 사람들이 어떻게 분류하는지에 대해 연구하는 것이 중요할 것같습니다. 이번 포스팅은 간략하게 어떻게 그룹으로 작성하고, 변수를 선언하는지 등 아주 간단하게만 작성될 예정이므로 메모장 정도로 생각하시면 될 것 같습니다. Ansi..
Ansible Concept안녕하세요. 이번 포스팅에서는 서버 배포 및 구성 자동화 툴인 Ansible에 대해 연구하고 설치 및 테스트까지 진행해 보고자 합니다. Ansible에 대해 아시는 분들이 훨씬 많으실테지만, 기본적으로 제가 연구하고 공부했던 내용들을 정리하였습니다. 기존 리눅스 환경에서 다수의 서버들을 구성하기 위해서는 일반적으로 Bash 쉘 스크립트를 사용합니다. 물론 지금도 스크립트는 많이 쓰여지고 있으며, Flask와 같은 파이썬 라이브러리를 이용해 스스로 원하는 자동화 툴을 구성하기도 합니다. 따라서 이들을 통해 패키지 설치, 의존성, 설정 구성 등을 일괄적으로 처리하기 위해 스크립트를 작성하고 각 로컬에서 실행할 수 있습니다. 그러나 점차 관리해야 할 서버 수가 증가하고 클라우드 ..
오픈스택 연구하기 : Devstack으로 오픈스택 빠르게 설치하기 안녕하세요. 이번 포스팅에서는 Devstack을 이용해서 오픈스택을 빠르게 구축해보겠습니다. Devstack은 오픈스택을 설치하기 위한 자동화 툴입니다. 오픈스택을 구축하는 방법으로는 매뉴얼대로 설치하는 방법과 자동화 툴을 이용하는 방법이 있습니다. 사실 매뉴얼에 대한 설치 방법은 많이 지원하지 않는 프로젝트들도 많이 있고, 무엇보다도 시간이 오래 걸립니다. 직접 프로젝트 데이터베이스 테이블을 생성한다던지, 사용자를 생성한다던지의 여러 과정이 각 프로젝트마다 있기 때문입니다. 따라서 이제는 자동화 툴을 사용하시는 것을 추천드립니다. 제가 다양한 자동화 툴을 사용해본 것은 아니지만, 분명 자동화는 인프라 기술에서 중요한 기능 중 하나입..