Kubernetes와컨테이너화된마이크로서비스에 MATLAB 기능을배포하기

Transcription

Kubernetes와 컨테이너화 된 마이크로 서비스에클라우드 네이티브 MATLAB 기능을 배포하기엄준상 부장, 매스웍스코리아0

Link to User Story2

Link to User Story3

Konkuk UniversityForecasts COVID-19 trend and effects of social distancing for KDCAProfessor Eun ok Jung has developed aSEIR model using MATLAB.She predicts infection rate in South Koreaand provides scientific background for KDCA.The model is published using MATLABWeb App Server, and freely accessiblefrom browser.For her profound contribution, shereceived the honor of a President’sCommendation from President award onApril 21, 2020.4

Load Forecasting ApplicationLink5

Load forecasting deployed on MATLAB Production ServerSpotfire extension for MATLAB Production Server6

Deploy MATLAB & Simulink models using MATLAB Production Server8

Understanding resource utilization using production server dashboardSize your MATLAB Production Server9

What to consider ?Accessibility– Data– Models– APIs– CI/CDInfrastructure– Compute– Memory– Security– Network AccessMaintenance & Recovery– Health Check– Backup– Server managementScalabilityVerticalBigger/Smaller serverHigh up-front cost vs risk ofrunning out of resourcesMATLABMulti-core CPUGPUHorizontalNumber of nodes required concurrentlyLoad balancing across nodes/VMsRegional and Global LBsClustersEither way requires high maintenance if you keep on-premise !10

Key Takeaways Deploying MATLAB algorithms into cloud-native webservices usingMATLAB Production Server Comparing VM based and Container based provisioning ofMATLAB Production Server– Selecting deployment strategy based on requirements– Available reference architectures New Kubernetes-hosted MATLAB Production Server is– Performant– Resilient– Provides on-demand scaling11

Marketplace products can be provisioned and purchased directlyfrom Azure12

VM based reference architecture for MATLAB Production Server13

Deploying to cloud using MATLAB Production ServerVM based MATLAB Production Server:– Every instance is a separate VM– Windows or Linux OS– Manual scaling capability– Web dashboard configurationReference Architectures available onGitHub:– AWS– Azure– GCP14

Key Takeaways Deploying MATLAB algorithms using MATLAB Production Server VM based provisioning of MATLAB Production Server on cloud Container based provisioning of MATLAB and Simulink models on the cloud New Kubernetes-hosted MATLAB Production Server is– Performant– Resilient– Provides on-demand scaling15

MATLAB Compiler provides Package Docker Images for reuse16

Microservices from MATLAB & Simulink using MATLAB Compiler ulinkSimulationDistributeOperationalizeClient applicationMATLAB Compiler SDKMATLABFunctionMATLABCompilerf(x)Compile roservice: PackageMATLAB models andSimulink simulations into aDocker container withHTTP RESTful rviceMicroservicesArchitecture ApplicationCreate Microservice Docker Containers with MATLAB17

Deploy MATLAB and Simulink algorithms in containersTurn proof of concepts Into production web services deployed withDevOps principlesPackage MATLAB models andSimulink simulations into a Dockercontainer with RESTful HTTPendpoint(s) using the newmicroservice feature in MATLABCompiler SDK R2022aTurn those same MATLAB models andSimulink simulations into production-readyRESTful HTTP endpoint(s) with access control,autoscaling, and moreCreate Microservice Docker Containers with MATLAB18

Deploying to cloud using MATLAB Production ServerContainer-based MATLAB Production Server– Any Kubernetes cluster (Vendor independent)– Lightweight, lower upfront infrastructurecost (New pods can be started quickly)– Linux only– Autoscaling– CLI configurationReference Architectures available on GitHub:– Any Kubernetes cluster, including AWS,Azure, and GCP19

How can we manage containers? Enter: KubernetesImage source: ises21

Kubernetes autoscaling based on requestsThis makes it easy on solutions architect to design, plan and scale with a lot of flexibilityAdding resourcesRemoving resources22

Deploying K8s hosted MATLAB Production Server23

Which cloud architecture should we use?클라우드 소프트웨어 종속을 방지하고 반복 가능하고자동화된 배포를 위해 가능한 경우 컨테이너에서표준화된 환경을 구성하고 싶습니다.CTODrives operationalstrategyMATLAB Production Server에는 이를 쉽게 수행할수 있는 Kubernetes 기반 배포 참조 아키텍처가있습니다.System ArchitectDeploys and operationalizesmodels on Azure cloud24

Which cloud architecture should we use?Windows 기반 소프트웨어를 필요로 하는통합 기능이 있습니다.Process EngineerDevelops models inMATLAB and Simulink이 경우 Windows VM 기반 MATLABProduction Server 배포를 사용해야 합니다.System ArchitectDeploys and operationalizesmodels on Azure cloud25

MATLAB Online – hosted, managed, and controlled by you2Sign in with yourorganizational credentials1Hosted and managed byyour organization, for ex.https://matlab.acme.com26

MATLAB Online – hosted, managed, and controlled by you4Includes Live Editor andMATLAB Apps3Integrated with your NFS27

Different pools of MATLAB compute on a single server licenseOptional ConfigurationDifferent hardware resources(memory, GPUs)Different MATLAB re ServicesCore-UIMATLAB R2020aResource-ProxyMATLAB R2020bwith splayGPU28

Key Takeaways Deploying MATLAB algorithms into cloud-native webservices using MATLABProduction Server Comparing VM based and Container based provisioning of MATLABProduction Server– Selecting deployment strategy based on requirements– Available reference architectures New Kubernetes-hosted MATLAB Production Server is– Performant– Resilient– Provides on-demand scaling29

Call to ActionExplore the MATLAB Production Server Reference Architecture for tlabproduction-server-on-kubernetes Uses existing MATLAB license server Works with cloud-managed or on-premiseKubernetes clusters30

Thank you 2022 The MathWorks, Inc. MATLAB and Simulink are registered trademarks of The MathWorks, Inc. See mathworks.com/trademarksfor a list of additional trademarks. Other product or brand names may be trademarks or registered trademarks of their respective holders.31

Production Server Comparing VM based and Container based provisioning of MATLAB Production Server -Selecting deployment strategy based on requirements -Available reference architectures New Kubernetes-hosted MATLAB Production Server is -Performant -Resilient -Provides on-demand scaling