CLOUDNATIVE AI PIPELINES CLOUDNATIVE DESIGN PRINCIPLES KUBEFLOW AND
CLOUD-NATIVE AI PIPELINES CLOUD-NATIVE DESIGN PRINCIPLES, KUBEFLOW AND [GAP ANALYSIS] DRAFT PANTELIS MONOGIOUDIS, NOKIA
CLOUD NATIVE ARCHITECTURE The key characteristics that a cloud native architecture should possess are https: //www. slideshare. net/mstine/cloud-nativearchitecture-patterns-tutorial : 1. Modularity (e. g. Microservices) 2. Observability (Measure Everything) 3. Deployability (CD) 4. Testability (CI) 5. Disposability / Replaceability In an nutshell, an architecture is cloud-native when everything is extensible and/or replaceable to be able to absorb the future evolution of end-user needs. Acumos is not architected to be cloud native in Release A.
MAKING MICROSERVICES IS EASY • We need to adhere to best practices of designing Microservices aka. • The most difficult part is to orchestrate the microservices that make a distributed system that works and is future proof. • Asynchronous Communication, • Isolation, • Autonomicity, • This is where Kubernetes comes in. • Single Responsibility, • Exclusive State, and • Mobility.
KUBERNETES C-PLANE • The Kubernetes API Server, which you and the other Control Plane components communicate with • The Scheduler, which schedules your apps (assigns a worker node to each deployable component of your application) • The Controller Manager, which performs cluster-level functions, such as replicating components, keeping track of worker nodes, handling node failures, and so on • etcd, a reliable distributed data store that persistently stores the cluster configuration. Using a CRD, it is easy to create a controller with the desired semantics for a particular workload while hiding users from the implementation. The K 8 s community has quickly adopted this pattern contributing numerous CRDs for various workloads.
KUBERNETES WORKER • The Kubelet, which talks to the API server and manages containers on its node • The Kubernetes Service Proxy (kube-proxy), which load-balances network traffic between application components
KUBEFLOW • Only uses Kubernetes native apis. • Model Training Pipeline: TFJob and replacables • K 8 s custom resource descriptor (CRD) and associated controller for training. The CRD takes care of managing the K 8 s resources needed to run a training job. One CRD per framework e. g. TFJob. • The TFJob controller tf-operator will process TFJobs and CRUD services/pods according to the spec of TFJob. It is responsible for synchronizing TFJob objects stored in the system with actual running services and pods, continuously strive to make the observed state match the desired state. • Serving Pipeline • TF Serving and replacables.
SERVING PIPELINE: SELDON https: //www. youtube. com/watch? v=p. Dlap. Gtecb. Y
- Slides: 7