Hi, I'm Brendan Burns for Microsoft Azure, and I'm going to talk to you about scenarios for Kubernetes.
So traditionally of course, Kubernetes has been thought of as a platform for delivering microservices, services that are connected to one another probably serving some sort of web-based application.
But the truth is that Kubernetes is turning into a broader platform than just that.
One of the most obvious initial uses is to say, "Hey, you know what? Most web-based applications have a diurnal peak." During the day when everybody is awake, there's a lot of traffic, but at night there tends to be a lot less traffic.
So one of the ways you can take advantage of Kubernetes is, sure, deploy your microservices-based application.
But if you need to do some sort of batch analytics, you can also deploy that into the cluster during the times when there's less traffic and therefore less need of the microservices that are delivering your services.
But what we're also seeing is that the Kubernetes API itself is being extended with things like jobs and scheduled jobs to make running those sorts of applications, those sorts of batch processes even easier.
In addition to that, we're actually seeing the orchestration capabilities of Kubernetes being taken advantage of to deliver something like workflow.
So in workflow, you may do something like, say, "Hey you know what? I had to run this job first and then it's going to trigger this job, followed by these two jobs," and we're seeing applications like Brigade which you can find at brigade.sh, rising up to give you an easy orchestration.
So you can file a Javascript program that can define this workflow on top of that Kubernetes cluster.
In addition to that, we're actually seeing scenarios where the complexity of the application is made significantly easier by the knowledge that every single person has access to the Kubernetes API, either via a Cloud provider like the Azure Kubernetes Service or an on-premise installation.
Things like TensorFlow or other AI applications are simply assuming that you have Kubernetes, and so you have that Kubernetes API, and then you're seeing TensorFlow install on top of that to do machine learning and other AI.
Then also, this is for model-building but likewise turning around and using that Kubernetes API for model serving also.
This may not even be in the context of these batch jobs in diurnal peaks.
People are often times building dedicated Kubernetes clusters with GPU or other hardware like FPGA.
Kubernetes is actually learning how to manage these resources so that if you have a limited set of resources, you can ensure that you're not over-scheduling your GPU or you're not over-scheduling an FPGA.
Likewise, if you actually do want to build a hybrid cluster, you can have part of your cluster dedicated to GPU and part of your cluster dedicated to more traditional serving workloads.
Kubernetes can be responsible for landing the right jobs in the right places.
So these are just a few of the scenarios where people are finding an opportunity for Kubernetes to make their lives easier and their application deployment more straightforward.
안녕하세요, 저는 Microsoft Azure의 Brendan Burns입니다. Kubernetes의 시나리오에 대해 이야기하겠습니다.
물론 전통적으로 쿠 버네 티스는 마이크로 서비스를 제공하기위한 플랫폼으로 생각되어 왔으며, 서로 연결된 서비스는 아마도 일종의 웹 기반 애플리케이션을 제공 할 것입니다.
그러나 진실은 Kubernetes가 그 이상의 플랫폼으로 변모하고 있다는 것입니다.
가장 명백한 초기 용도 중 하나는 "이봐, 그거 알아? 대부분의 웹 기반 응용 프로그램은 일별 정점을 가지고 있습니다."라고 말하는 것입니다. 모든 사람이 깨어있는 낮에는 교통량이 많지만 밤에는 교통량이 훨씬 적습니다.
따라서 Kubernetes를 활용할 수있는 방법 중 하나는 확실히 마이크로 서비스 기반 애플리케이션을 배포하는 것입니다.
그러나 일종의 일괄 분석을 수행해야하는 경우 트래픽이 적고 서비스를 제공하는 마이크로 서비스의 필요성이 적은 시간 동안 클러스터에 배포 할 수도 있습니다.
그러나 우리가보고있는 것은 Kubernetes API 자체가 작업 및 예약 된 작업과 같은 항목으로 확장되어 이러한 종류의 애플리케이션을 실행하고 이러한 종류의 일괄 처리를 훨씬 쉽게 수행 할 수 있다는 것입니다.
그 외에도 Kubernetes의 오케스트레이션 기능을 활용하여 워크 플로와 같은 것을 제공하는 것을 실제로보고 있습니다.
따라서 워크 플로에서 "이봐 요?이 작업을 먼저 실행 한 다음이 작업을 트리거 한 다음이 두 작업을 실행합니다"와 같은 작업을 수행 할 수 있으며 Brigade와 같은 응용 프로그램이 표시됩니다. brigade.sh에서 쉽게 오케스트레이션을 할 수 있습니다.
따라서 해당 Kubernetes 클러스터 위에이 워크 플로를 정의 할 수있는 자바 스크립트 프로그램을 제출할 수 있습니다.
그 외에도 모든 사람이 Azure Kubernetes Service와 같은 클라우드 공급자 또는 온-프레미스를 통해 Kubernetes API에 액세스 할 수 있다는 사실을 알고 있기 때문에 애플리케이션의 복잡성이 훨씬 더 쉬워지는 시나리오를 실제로보고 있습니다. 설치.
TensorFlow 또는 기타 AI 애플리케이션과 같은 것은 단순히 Kubernetes가 있고 Kubernetes API가 있다고 가정하고 그 위에 TensorFlow가 설치되어 기계 학습 및 기타 AI를 수행하는 것을 볼 수 있습니다.
또한 이것은 모델 구축을위한 것이지만 마찬가지로 모델 제공을 위해 Kubernetes API를 돌려서 사용합니다.
이것은 일주 피크에서 이러한 배치 작업의 맥락에 있지 않을 수도 있습니다.
사람들은 종종 GPU 또는 FPGA와 같은 기타 하드웨어로 전용 Kubernetes 클러스터를 구축합니다.
Kubernetes는 실제로 이러한 리소스를 관리하는 방법을 배우고 있으므로 제한된 리소스 집합이있는 경우 GPU를 과도하게 예약하지 않거나 FPGA를 과도하게 예약하지 않도록 할 수 있습니다.
마찬가지로 실제로 하이브리드 클러스터를 구축하려는 경우 클러스터의 일부를 GPU 전용으로, 클러스터의 일부를 기존의 제공 워크로드 전용으로 사용할 수 있습니다.
Kubernetes는 올바른 위치에 올바른 일자리를 제공 할 책임이 있습니다.
따라서 이들은 사람들이 Kubernetes가 삶을 더 쉽게 만들고 애플리케이션 배포를 더 간단하게 만들 수있는 기회를 찾는 몇 가지 시나리오에 불과합니다.
Add Comment