{"id":65434,"date":"2021-12-16T18:19:21","date_gmt":"2021-12-16T15:19:21","guid":{"rendered":"https:\/\/www.altoros.com\/blog\/?p=65434"},"modified":"2022-02-17T11:02:40","modified_gmt":"2022-02-17T08:02:40","slug":"shell-builds-10000-ai-models-on-kubernetes-in-less-than-a-day","status":"publish","type":"post","link":"https:\/\/www.altoros.com\/blog\/shell-builds-10000-ai-models-on-kubernetes-in-less-than-a-day\/","title":{"rendered":"Shell Builds 10,000 AI Models on Kubernetes in Less than a Day"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_79_2 counter-hierarchy ez-toc-counter ez-toc-transparent ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.altoros.com\/blog\/shell-builds-10000-ai-models-on-kubernetes-in-less-than-a-day\/#Expanding_to_green_and_renewable_energy\" >Expanding to green and renewable energy<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.altoros.com\/blog\/shell-builds-10000-ai-models-on-kubernetes-in-less-than-a-day\/#Running_on_Kubernetes\" >Running on Kubernetes<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.altoros.com\/blog\/shell-builds-10000-ai-models-on-kubernetes-in-less-than-a-day\/#Data_management_and_security\" >Data management and security<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.altoros.com\/blog\/shell-builds-10000-ai-models-on-kubernetes-in-less-than-a-day\/#Faster_modeling_with_Kubeflow\" >Faster modeling with Kubeflow<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.altoros.com\/blog\/shell-builds-10000-ai-models-on-kubernetes-in-less-than-a-day\/#Want_details_Watch_the_videos\" >Want details? Watch the videos!<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.altoros.com\/blog\/shell-builds-10000-ai-models-on-kubernetes-in-less-than-a-day\/#Further_reading\" >Further reading<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.altoros.com\/blog\/shell-builds-10000-ai-models-on-kubernetes-in-less-than-a-day\/#About_the_experts\" >About the experts<\/a><\/li><\/ul><\/nav><\/div>\n<h3><span class=\"ez-toc-section\" id=\"Expanding_to_green_and_renewable_energy\"><\/span>Expanding to green and renewable energy<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>In 2015 at the United Nations Climate Change Conference, 195 countries signed the <a href=\"https:\/\/en.wikipedia.org\/wiki\/Paris_Agreement\" rel=\"noopener noreferrer\" target=\"_blank\">Paris Accords<\/a>, an agreement to reduce <a href=\"https:\/\/en.wikipedia.org\/wiki\/Greenhouse_gas_emissions\" rel=\"noopener noreferrer\" target=\"_blank\">greenhouse gas emissions<\/a> worldwide. The accord&#8217;s long-term goal is to limit the rise of global temperature below 2 degrees Celsius above preindustrial levels and eventually reach <a href=\"https:\/\/en.wikipedia.org\/wiki\/Net-zero_emissions\" rel=\"noopener noreferrer\" target=\"_blank\">net-zero<\/a> global emissions by the second half of the 21st century. With global power consumption <a href=\"https:\/\/www.mckinsey.com\/industries\/oil-and-gas\/our-insights\/global-energy-perspective-2021\" rel=\"noopener noreferrer\" target=\"_blank\">expected to double<\/a> in 2050, many organizations have started the transition to becoming net-zero emission businesses.<\/p>\n<p>Known for being an oil giant, Shell in recent years has expanded its focus from fossil fuel to green and renewable sources of energy, such as wind and solar power. According to <a href=\"https:\/\/www.linkedin.com\/in\/alex-iankoulski\/\" rel=\"noopener noreferrer\" target=\"_blank\">Alex Iankoulski<\/a>, Technical Leader, ML Orchestration at Shell, the company aims to provide a reliable supply of electricity to 100 million people in developing countries by 2030 through its <a href=\"https:\/\/www.shell.com\/energy-and-innovation\/new-energies.html\" rel=\"noopener noreferrer\" target=\"_blank\">Renewable and Energy Solutions<\/a> initiative (formerly New Energies).<\/p>\n<div id=\"attachment_65573\" style=\"width: 160px\" class=\"wp-caption alignright\"><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/12\/Alex-Iankoulski.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-65573\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/12\/Alex-Iankoulski-150x150.jpg\" alt=\"\" width=\"150\" height=\"150\" class=\"size-thumbnail wp-image-65573\" \/><\/a><p id=\"caption-attachment-65573\" class=\"wp-caption-text\"><small>Alex Iankoulski<\/small><\/p><\/div>\n<blockquote><p>\u201cShell is investing in lower carbon technologies, including renewables such as wind and solar, mobility options, such as electric vehicle charging and hydrogen charging, and an interconnected power grid. Shell is investing up to $2 billion a year in its New Energies business, which focuses on developing cleaner energy solutions.\u201d<\/p>\n<p>\u2014Alex Iankoulski, Shell<\/p><\/blockquote>\n<p>To effectively operate its Renewable and Energy Solutions, which includes distributing electrical power to customers, Shell needed a smart, fast, and agile control system. More importantly, the system had to be able to leverage artificial intelligence (AI) in order to efficiently manage computational and storage resources.<\/p>\n<p>Shell relied on Arrikto&#8217;s <a href=\"https:\/\/en.wikipedia.org\/wiki\/MLOps\" rel=\"noopener noreferrer\" target=\"_blank\">MLOps<\/a> platform to utilize <a href=\"https:\/\/www.altoros.com\/blog\/kubeflow-automating-deployment-of-tensorflow-models-on-kubernetes\/\">Kubeflow<\/a>, an open-source project that aims to make machine learning (ML) workflows on Kubernetes portable and scalable. Additionally, building on top of <a href=\"https:\/\/www.altoros.com\/blog\/tag\/kubernetes\/\">Kubernetes<\/a> will enable Shell to quickly spin up and down environments with the help of containers. &#8220;The combination of Kubernetes and machine learning is actually a match made in heaven,&#8221; explained <a href=\"https:\/\/www.linkedin.com\/in\/jiguerrero\/https:\/\/www.linkedin.com\/in\/jiguerrero\/\" rel=\"noopener noreferrer\" target=\"_blank\">Jimmy Guerrero<\/a>, VP Community and Marketing at Arrikto.<\/p>\n<div id=\"attachment_65576\" style=\"width: 160px\" class=\"wp-caption alignright\"><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/12\/Jimmy-Guerrero.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-65576\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/12\/Jimmy-Guerrero-150x150.jpg\" alt=\"\" width=\"150\" height=\"150\" class=\"size-thumbnail wp-image-65576\" \/><\/a><p id=\"caption-attachment-65576\" class=\"wp-caption-text\"><small>Jimmy Guerrero<\/small><\/p><\/div>\n<blockquote><p>&#8220;First, containers allow us to create tests and experiment with machine learning models on our laptops. We know very well that we can take those same models to production using containers. The idea here isn&#8217;t new\u2014we want to write once, reproduce, and run it everywhere. Second, a machine learning workflow on a laptop may be written entirely in one language, let&#8217;s say Python, but when we take those models into production, we&#8217;re probably going to want to interact with a variety of difference services and applications. These are going to be things like data management, security, front-end visualizations, etc., and here we&#8217;re going to probably want to go with a microservices-based architecture. Here again, Kubernetes is going to be a slam dunk for us.&#8221;<br \/>\n\u2014Jimmy Guerrero, Arrikto<\/p><\/blockquote>\n<p>However, deploying AI at a large scale is not without its problems. According to Alex, there were multiple technical challenges associated with building the foundation for Shell\u2019s Renewable and Energy Solutions.<\/p>\n<ul>\n<li style=\"margin-bottom: 6px;\"><b>Infrastructure<\/b> needed to be cloud-native and cloud-agnostic. In this manner, code does not have to be rewritten, if the platform has to run on a different cloud or across multiple clouds at the same time.<\/li>\n<li style=\"margin-bottom: 6px;\"><b>Deployments<\/b> had to be reproducible, auditable, and reversible, enabling developers to check what is running in the company\u2019s systems and how it got there.<\/li>\n<li style=\"margin-bottom: 6px;\"><b>Scaling<\/b> was to cover the entire spectrum from micro to hyper. Software should run well on a single laptop and in a large cloud.<\/li>\n<li style=\"margin-bottom: 6px;\"><b>Tooling<\/b> should be web-based and self-servicing, enabling Ops teams to focus on automation rather than repetitive manual tasks.<\/li>\n<li style=\"margin-bottom: 6px;\"><b>Compute<\/b> resources must be allocated dynamically. Workloads running on compute resources should be resilient and reproducible.<\/li>\n<li style=\"margin-bottom: 6px;\"><b>Storage<\/b> had to be fast and cost-efficient to enable the decoupling of storage and compute resources.<\/li>\n<li style=\"margin-bottom: 6px;\"><b>Data<\/b> was to be secured at all times, yet available to authorized users. It should also be versioned, so changes can be tracked and reverted as necessary. Security must be end-to-end enterprise-grade. <\/li>\n<li><b>Orchestration<\/b> must be transparent and not disruptive to users.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Running_on_Kubernetes\"><\/span>Running on Kubernetes<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Shell deployed the infrastructure for its Renewable and Energy Solutions on Amazon Elastic Kubernetes Service (EKS). The Kubernetes API was the common language used to orchestrate workloads regardless of the cloud.<\/p>\n<div id=\"attachment_65580\" style=\"width: 160px\" class=\"wp-caption alignright\"><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/12\/Vangelis-Koukis.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-65580\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/12\/Vangelis-Koukis-150x150.jpg\" alt=\"\" width=\"150\" height=\"150\" class=\"size-thumbnail wp-image-65580\" \/><\/a><p id=\"caption-attachment-65580\" class=\"wp-caption-text\"><Small>Vangelis Koukis<\/small><\/p><\/div>\n<p>By implementing a <a href=\"https:\/\/about.gitlab.com\/topics\/gitops\/\" rel=\"noopener noreferrer\" target=\"_blank\">GitOps<\/a> approach, the team can deploy on top of different Kubernetes clusters in a reproducible manner, noted <a href=\"https:\/\/www.linkedin.com\/in\/vkoukis\/\" rel=\"noopener noreferrer\" target=\"_blank\">Vangelis Koukis<\/a>, CTO and cofounder at Arrikto.<\/p>\n<blockquote><p>\u201cEverything starts from a Git repository. We have opted to stay away from the <code style=\"color: black; background-color: #e6e6e6;\">kfctl<\/code> tool, so we can deploy in the simplest Kubernetes-native way of applying manifests. Hence, we support seamless upgrades with rollbacks.\u201d<br \/>\n\u2014Vangelis Koukis, Arrikto<\/p><\/blockquote>\n<p><center><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/12\/shell-kubernetes-deployment-using-gitops-approach.png\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/12\/shell-kubernetes-deployment-using-gitops-approach.png\" width=\"640\" class=\"aligncenter size-large wp-image-66371\" \/><\/a><small>Deploying through GitOps (<a href=\"https:\/\/static.sched.com\/hosted_files\/kccncna20\/ea\/KubeConVirtual_Nov18_2020_MachineLearningOnKubernetesAtShell_AlexIankoulski_VangelisKoukis_2.pdf\" rel=\"noopener noreferrer\" target=\"_blank\">Image credit<\/a>)<\/small><\/center><\/p>\n<p>GitOps treats <a href=\"https:\/\/en.wikipedia.org\/wiki\/Infrastructure_as_code\" rel=\"noopener noreferrer\" target=\"_blank\">infrastructure as code<\/a>, where the state of the infrastructure corresponds to a commit in the repository.<\/p>\n<p>With tools like <a href=\"https:\/\/microk8s.io\/\" rel=\"noopener noreferrer\" target=\"_blank\">MicroK8s<\/a>, light workloads can run on a single laptop. For heavier workloads, Amazon EKS automatically scales seamlessly based on the demand.<\/p>\n<p><center><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/12\/shell-kubernetes-upgrades-using-gitops.png\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/12\/shell-kubernetes-upgrades-using-gitops.png\" width=\"640\" class=\"aligncenter size-large wp-image-66370\" \/><\/a><small>Upgrades using GitOps (<a href=\"https:\/\/static.sched.com\/hosted_files\/kccncna20\/ea\/KubeConVirtual_Nov18_2020_MachineLearningOnKubernetesAtShell_AlexIankoulski_VangelisKoukis_2.pdf\" rel=\"noopener noreferrer\" target=\"_blank\">Image credit<\/a>)<\/small><\/center><\/p>\n<p>By following a <a href=\"https:\/\/www.altoros.com\/blog\/devops-five-key-challenges-and-five-tips\/\">DevOps<\/a> model, tooling was shifted left, enabling developers to run their own Visual Studio Code Servers, manage code in Git repositories, and eventually run workloads on Kubeflow. <\/p>\n<p>To make compute resources resilient and reproducible, the team utilized containers based on Docker images inside Kubernetes pods.<\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Data_management_and_security\"><\/span>Data management and security<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>By moving storage from Amazon Elastic File System (EFS) to local and mounted file systems with <a href=\"https:\/\/www.arrikto.com\/rok-data-management-platform\/\" rel=\"noopener noreferrer\" target=\"_blank\">Rok<\/a>, Arrikto\u2019s data management platform, the team can take thousands of point-in-time snapshots, providing end-to-end reproducibility for workloads. <\/p>\n<blockquote><p>\u201cThink of a time machine. Let\u2019s say we snapshot once every 10 minutes for the notebook servers. You can go back in time and reproduce the data for all the experiments you run. A snapshot could also happen at each step of a pipeline, so you can know exactly what series of events led to the creation of a specific model. You can then investigate any biases.\u201d \u2014Vangelis Koukis, Arrikto<\/p><\/blockquote>\n<p>Using Rok, the team can manage storage in multiple clusters in different regions. Each cluster acts as a local independent object store, explained Vangelis. Rok Registry enables the creation of private and public groups with fine-grained access controls.<\/p>\n<p><center><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/12\/shell-kubernetes-sharing-machine-learning-data-sets-and-environments-via-rok-storage.png\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/12\/shell-kubernetes-sharing-machine-learning-data-sets-and-environments-via-rok-storage.png\" width=\"640\" class=\"aligncenter size-large wp-image-66376\" \/><\/a><small>Sharing data sets and environments with Rok (<a href=\"https:\/\/static.sched.com\/hosted_files\/kccncna20\/ea\/KubeConVirtual_Nov18_2020_MachineLearningOnKubernetesAtShell_AlexIankoulski_VangelisKoukis_2.pdf\" rel=\"noopener noreferrer\" target=\"_blank\">Image credit<\/a>)<\/small><\/center><\/p>\n<p>In terms of performance, a standard m5d.4xlarge instance using Non-Volatile Memory Express (NVMe) solid-state drives (SSDs) has over 10x read input\/output operations per second (IOPS) and 400x write IOPS compared to a 100 GB Amazon EFS instance.<\/p>\n<p><center><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/12\/shell-kubernetes-storage-comparison.png\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/12\/shell-kubernetes-storage-comparison.png\" width=\"640\" class=\"aligncenter size-large wp-image-66369\" \/><\/a><small>Local storage is faster (<a href=\"https:\/\/static.sched.com\/hosted_files\/kccncna20\/ea\/KubeConVirtual_Nov18_2020_MachineLearningOnKubernetesAtShell_AlexIankoulski_VangelisKoukis_2.pdf\" rel=\"noopener noreferrer\" target=\"_blank\">Image credit<\/a>)<\/small><\/center><\/p>\n<p>As for security, the team implemented single sign-on (SSO), single logout (SLO), centralized authentication, namespace-based isolation, and shared namespaces.<\/p>\n<p><center><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/12\/shell-kubernetes-end-to-end-security-sso-slo.png\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/12\/shell-kubernetes-end-to-end-security-sso-slo.png\" width=\"640\" class=\"aligncenter size-large wp-image-66372\" \/><\/a><small>End-to-end security with SSO\/SLO (<a href=\"https:\/\/static.sched.com\/hosted_files\/kccncna20\/ea\/KubeConVirtual_Nov18_2020_MachineLearningOnKubernetesAtShell_AlexIankoulski_VangelisKoukis_2.pdf\" rel=\"noopener noreferrer\" target=\"_blank\">Image credit<\/a>)<\/small><\/center><\/p>\n<p>Additionally, using the OpenID Connect (OIDC) AuthService, the team extended Kubeflow to become an OIDC client. OIDC AuthService integrates closely with <a href=\"https:\/\/www.altoros.com\/blog\/using-istio-to-unify-microservices-with-a-service-mesh-on-kubernetes\/\">Istio<\/a> and <a href=\"https:\/\/www.altoros.com\/blog\/cloud-foundry-advisory-board-meeting-feb-2018-abacus-envoy-and-containerd\/\">Envoy<\/a> proxies.<\/p>\n<p><center><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/12\/shell-kubernetes-kubeflow-security.png\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/12\/shell-kubernetes-kubeflow-security.png\" width=\"640\" class=\"aligncenter size-large wp-image-66375\" \/><\/a><small>Enforcing Kubeflow security (<a href=\"https:\/\/static.sched.com\/hosted_files\/kccncna20\/ea\/KubeConVirtual_Nov18_2020_MachineLearningOnKubernetesAtShell_AlexIankoulski_VangelisKoukis_2.pdf\" rel=\"noopener noreferrer\" target=\"_blank\">Image credit<\/a>)<\/small><\/center><\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Faster_modeling_with_Kubeflow\"><\/span>Faster modeling with Kubeflow<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>With Kubeflow, the team can quickly build models and use the data to help optimize operations related to the Shell&#8217;s Renewable and Energy Solutions. According to <a href=\"https:\/\/www.linkedin.com\/in\/masoud-mirmomeni-39979272\" rel=\"noopener noreferrer\" target=\"_blank\">Masoud Mirmomeni<\/a>, Lead Data Scientist at Shell, Kubeflow gave the company three major advantages.<\/p>\n<div id=\"attachment_65584\" style=\"width: 160px\" class=\"wp-caption alignright\"><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/12\/Masoud-Mirmomeni.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-65584\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/12\/Masoud-Mirmomeni-150x150.jpg\" alt=\"\" width=\"150\" height=\"150\" class=\"size-thumbnail wp-image-65584\" \/><\/a><p id=\"caption-attachment-65584\" class=\"wp-caption-text\"><small>Masoud Mirmomeni<\/small><\/p><\/div>\n<p>First, Kubeflow provides a <b>self-service model<\/b>, enabling data scientists to get computational power and storage, as well as use preconfigured ML toolkits in secured cloud environments.<\/p>\n<blockquote><p>&#8220;Now, we can bring all of those things and do the machine learning projects easily from minute zero. If you wanted to do this in the old-fashioned way, it would take weeks or even months. Now, we can do it in a couple of minutes.&#8221; <\/p>\n<p>\u2014Masoud Mirmomeni, Shell<\/p><\/blockquote>\n<p>Second, with the help of the Kubeflow Automated pipeLines Engine (<a href=\"https:\/\/github.com\/kubeflow-kale\/kale\" rel=\"noopener noreferrer\" target=\"_blank\">KALE<\/a>), data scientists can simply pass their code to operations teams. This reduces the time it takes to push ML code into production.<\/p>\n<p>Third, since Shell is using Kubernetes, computational and storage <b>resources are easily shared<\/b>. For instance, computational power used by notebook servers are monitored and when the resources become idle, they are released and become available for other workloads.<\/p>\n<p><center><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/12\/shell-kubernetes-example-machine-learning-workflow.png\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/12\/shell-kubernetes-example-machine-learning-workflow.png\" width=\"640\" class=\"aligncenter size-large wp-image-66373\" \/><\/a><small>An example of a machine learning workflow at Shell (<a href=\"https:\/\/static.sched.com\/hosted_files\/kccncna20\/ea\/KubeConVirtual_Nov18_2020_MachineLearningOnKubernetesAtShell_AlexIankoulski_VangelisKoukis_2.pdf\" rel=\"noopener noreferrer\" target=\"_blank\">Image credit<\/a>)<\/small><\/center><\/p>\n<blockquote><p>&#8220;Kubeflow is going to create very efficient platforms for data scientists and machine learning engineers to collaborate, share ideas, and learn from their own projects and experiences. It&#8217;s also going to reduce the cost of model building by managing the computational and storage resources efficiently.&#8221; \u2014Masoud Mirmomeni, Shell<\/p><\/blockquote>\n<p>With Kubeflow, Shell has significantly reduced the time it takes for data scientists and ML engineers to build models. Previously, the time required to build 10,000 models would involve two weeks of coding and four weeks of execution. Now, the team can write the code in less than four hours and build all the models within two hours.<\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Want_details_Watch_the_videos\"><\/span>Want details? Watch the videos!<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><small><a href=\"https:\/\/www.linkedin.com\/in\/masoud-mirmomeni-39979272\" rel=\"noopener noreferrer\" target=\"_blank\">Masoud Mirmomeni<\/a> of Shell and <a href=\"https:\/\/www.linkedin.com\/in\/jiguerrero\/https:\/\/www.linkedin.com\/in\/jiguerrero\/\" rel=\"noopener noreferrer\" target=\"_blank\">Jimmy Guerrero<\/a> of Arrikto talk about how Kubeflow helps data scientists at Shell.<\/small><br \/>\n<center><iframe loading=\"lazy\" width=\"560\" height=\"315\" src=\"https:\/\/www.youtube.com\/embed\/ick5hI5YI0k\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe><\/center><\/p>\n<p>&nbsp;<br \/>\n<small><a href=\"https:\/\/www.linkedin.com\/in\/alex-iankoulski\/\" rel=\"noopener noreferrer\" target=\"_blank\">Alex Iankoulski<\/a> of Shell and <a href=\"https:\/\/www.linkedin.com\/in\/vkoukis\/\" rel=\"noopener noreferrer\" target=\"_blank\">Vangelis Koukis<\/a> of Arrikto explain how the foundation for Shell\u2019s Renewable and Energy Solutions was built.<\/small><br \/>\n<center><iframe loading=\"lazy\" width=\"560\" height=\"315\" src=\"https:\/\/www.youtube.com\/embed\/ktFgKCt6L0o\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe><\/center><\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Further_reading\"><\/span>Further reading<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li><a href=\"https:\/\/www.altoros.com\/blog\/denso-delivers-an-iot-prototype-per-week-with-kubernetes\/\">Denso Delivers an IoT Prototype per Week with Kubernetes<\/a><\/li>\n<li><a href=\"https:\/\/www.altoros.com\/blog\/lyft-runs-300000-containers-in-a-multicluster-kubernetes-environment\/\">Lyft Runs 300,000+ Containers in a Multicluster Kubernetes Environment<\/a><\/li>\n<li><a href=\"https:\/\/www.altoros.com\/blog\/kubeflow-automating-deployment-of-tensorflow-models-on-kubernetes\/\">Kubeflow: Automating Deployment of TensorFlow Models on Kubernetes<\/a><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"About_the_experts\"><\/span>About the experts<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<div style=\"padding-left: 0px; padding-bottom: 30px; padding-right: 0px; padding-top: 0px;\">\n<a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/12\/Alex-Iankoulski.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/12\/Alex-Iankoulski-150x150.png\" alt=\"\" width=\"150\" height=\"150\" class=\"alignright size-thumbnail wp-image-65631\" \/><\/a><\/p>\n<p><small><a href=\"https:\/\/www.linkedin.com\/in\/alex-iankoulski\/\" rel=\"noopener noreferrer\" target=\"_blank\">Alex Iankoulski<\/a> is Technical Leader, ML Orchestration at Shell, where he works to bridge the gap between prototype and product using Kubernetes and Kubeflow. He is a full-stack software and infrastructure architect who &#8220;likes to stay hands-on.&#8221; Alex is a Docker Captain who has been helping to accelerate the pace of innovation by applying the container technologies to solve engineering, data science, AI, and ML problems.<\/small>\n<\/div>\n<p>&nbsp;<\/p>\n<div style=\"padding-left: 0px; padding-bottom: 30px; padding-right: 0px; padding-top: 0px;\">\n<a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/12\/Masoud-Mirmomeni.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/12\/Masoud-Mirmomeni-150x150.png\" alt=\"\" width=\"150\" height=\"150\" class=\"alignright size-thumbnail wp-image-65634\" \/><\/a><\/p>\n<p><small><a href=\"https:\/\/www.linkedin.com\/in\/masoud-mirmomeni-39979272\" rel=\"noopener noreferrer\" target=\"_blank\">Masoud Mirmomeni<\/a> is Lead Data Scientist at Shell, where he is involved in the company&#8217;s initiative to build renewable and green energy solutions. As a data scientist, Masoud uses data exploration, model building, statistical analysis, etc., to help Shell streamline its day-to-day operations. Prior to Shell, he served as a Data Scientist at Change Healthcare, Ancestry, and eBay.<\/small>\n<\/div>\n<p>&nbsp;<\/p>\n<div style=\"padding-left: 0px; padding-bottom: 30px; padding-right: 0px; padding-top: 0px;\">\n<a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/12\/Vangelis-Koukis.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/12\/Vangelis-Koukis-150x150.png\" alt=\"\" width=\"150\" height=\"150\" class=\"alignright size-thumbnail wp-image-65633\" \/><\/a><\/p>\n<p><small><a href=\"https:\/\/www.linkedin.com\/in\/vkoukis\/\" rel=\"noopener noreferrer\" target=\"_blank\">Vangelis Koukis<\/a> is CTO and cofounder at Arrikto. He holds a PhD in computer science and has a long history of working in storage, data management, and cloud computing. Vangelis leads a team of engineers working hard to bridge the world of low-latency, high-performance local storage with eventually consistent, massively scalable object stores, and decentralized synchronization.<\/small>\n<\/div>\n<p>&nbsp;<\/p>\n<div style=\"padding-left: 0px; padding-bottom: 30px; padding-right: 0px; padding-top: 0px;\">\n<a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/12\/Jimmy-Guerrero.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/12\/Jimmy-Guerrero-150x150.png\" alt=\"\" width=\"150\" height=\"150\" class=\"alignright size-thumbnail wp-image-65632\" \/><\/p>\n<p><small><a href=\"https:\/\/www.linkedin.com\/in\/jiguerrero\/\" rel=\"noopener noreferrer\" target=\"_blank\">Jimmy Guerrero<\/a> is VP Community and Marketing at Arrikto. He communicates MLOps, Kubeflow, data science, and open-source to developers and enterprises. Jimmy also builds and manages international technical and marketing teams.<\/small>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Expanding to green and renewable energy<\/p>\n<p>In 2015 at the United Nations Climate Change Conference, 195 countries signed the Paris Accords, an agreement to reduce greenhouse gas emissions worldwide. The accord&#8217;s long-term goal is to limit the rise of global temperature below 2 degrees Celsius above preindustrial levels and eventually reach [&#8230;]<\/p>\n","protected":false},"author":32,"featured_media":66374,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"content-type":"","footnotes":"","_links_to":"","_links_to_target":""},"categories":[7],"tags":[873,815,912,748],"class_list":["post-65434","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news-and-opinion","tag-cloud-native","tag-digital-transformation","tag-kubernetes","tag-machine-learning"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Shell Builds 10,000 AI Models on Kubernetes in Less than a Day | Altoros<\/title>\n<meta name=\"description\" content=\"Now, Shell builds thousands of machine learning models in 2 hours instead of 4 weeks, while facilitating writing the underlying code from 2 weeks to 4 hours.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.altoros.com\/blog\/shell-builds-10000-ai-models-on-kubernetes-in-less-than-a-day\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Shell Builds 10,000 AI Models on Kubernetes in Less than a Day | Altoros\" \/>\n<meta property=\"og:description\" content=\"Expanding to green and renewable energy In 2015 at the United Nations Climate Change Conference, 195 countries signed the Paris Accords, an agreement to reduce greenhouse gas emissions worldwide. The accord&#8217;s long-term goal is to limit the rise of global temperature below 2 degrees Celsius above preindustrial levels and eventually reach [...]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.altoros.com\/blog\/shell-builds-10000-ai-models-on-kubernetes-in-less-than-a-day\/\" \/>\n<meta property=\"og:site_name\" content=\"Altoros\" \/>\n<meta property=\"article:published_time\" content=\"2021-12-16T15:19:21+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-02-17T08:02:40+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/12\/shell-kubernetes-kubeflow-digital-transformation-artificial-intelligence-machine-learning-v3.gif\" \/>\n\t<meta property=\"og:image:width\" content=\"1280\" \/>\n\t<meta property=\"og:image:height\" content=\"720\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/gif\" \/>\n<meta name=\"author\" content=\"Carlo Gutierrez\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Carlo Gutierrez\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.altoros.com\/blog\/shell-builds-10000-ai-models-on-kubernetes-in-less-than-a-day\/\",\"url\":\"https:\/\/www.altoros.com\/blog\/shell-builds-10000-ai-models-on-kubernetes-in-less-than-a-day\/\",\"name\":\"Shell Builds 10,000 AI Models on Kubernetes in Less than a Day | Altoros\",\"isPartOf\":{\"@id\":\"https:\/\/www.altoros.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.altoros.com\/blog\/shell-builds-10000-ai-models-on-kubernetes-in-less-than-a-day\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.altoros.com\/blog\/shell-builds-10000-ai-models-on-kubernetes-in-less-than-a-day\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/12\/shell-kubernetes-kubeflow-digital-transformation-artificial-intelligence-machine-learning-v3.gif\",\"datePublished\":\"2021-12-16T15:19:21+00:00\",\"dateModified\":\"2022-02-17T08:02:40+00:00\",\"author\":{\"@id\":\"https:\/\/www.altoros.com\/blog\/#\/schema\/person\/833e109f77de753b2b472dca0236b442\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.altoros.com\/blog\/shell-builds-10000-ai-models-on-kubernetes-in-less-than-a-day\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.altoros.com\/blog\/shell-builds-10000-ai-models-on-kubernetes-in-less-than-a-day\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.altoros.com\/blog\/shell-builds-10000-ai-models-on-kubernetes-in-less-than-a-day\/#primaryimage\",\"url\":\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/12\/shell-kubernetes-kubeflow-digital-transformation-artificial-intelligence-machine-learning-v3.gif\",\"contentUrl\":\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/12\/shell-kubernetes-kubeflow-digital-transformation-artificial-intelligence-machine-learning-v3.gif\",\"width\":1280,\"height\":720},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.altoros.com\/blog\/shell-builds-10000-ai-models-on-kubernetes-in-less-than-a-day\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.altoros.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Shell Builds 10,000 AI Models on Kubernetes in Less than a Day\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.altoros.com\/blog\/#website\",\"url\":\"https:\/\/www.altoros.com\/blog\/\",\"name\":\"Altoros\",\"description\":\"Insight\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.altoros.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.altoros.com\/blog\/#\/schema\/person\/833e109f77de753b2b472dca0236b442\",\"name\":\"Carlo Gutierrez\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.altoros.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/02\/CG_portrait-2-96x96.jpg\",\"contentUrl\":\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/02\/CG_portrait-2-96x96.jpg\",\"caption\":\"Carlo Gutierrez\"},\"description\":\"Carlo Gutierrez is a Technical Writer at Altoros. As part of the editorial team, his focus has been on emerging technologies such as Cloud Foundry, Kubernetes, blockchain, and the Internet of Things. Prior to Altoros, he primarily wrote about enterprise and consumer technology. Carlo has over 12 years of experience in the publishing industry. Previously, he served as an Editor for PC World Philippines and Questex Asia, as well as a Designer for Tropa Entertainment.\",\"url\":\"https:\/\/www.altoros.com\/blog\/author\/carlo\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Shell Builds 10,000 AI Models on Kubernetes in Less than a Day | Altoros","description":"Now, Shell builds thousands of machine learning models in 2 hours instead of 4 weeks, while facilitating writing the underlying code from 2 weeks to 4 hours.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.altoros.com\/blog\/shell-builds-10000-ai-models-on-kubernetes-in-less-than-a-day\/","og_locale":"en_US","og_type":"article","og_title":"Shell Builds 10,000 AI Models on Kubernetes in Less than a Day | Altoros","og_description":"Expanding to green and renewable energy In 2015 at the United Nations Climate Change Conference, 195 countries signed the Paris Accords, an agreement to reduce greenhouse gas emissions worldwide. The accord&#8217;s long-term goal is to limit the rise of global temperature below 2 degrees Celsius above preindustrial levels and eventually reach [...]","og_url":"https:\/\/www.altoros.com\/blog\/shell-builds-10000-ai-models-on-kubernetes-in-less-than-a-day\/","og_site_name":"Altoros","article_published_time":"2021-12-16T15:19:21+00:00","article_modified_time":"2022-02-17T08:02:40+00:00","og_image":[{"width":1280,"height":720,"url":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/12\/shell-kubernetes-kubeflow-digital-transformation-artificial-intelligence-machine-learning-v3.gif","type":"image\/gif"}],"author":"Carlo Gutierrez","twitter_misc":{"Written by":"Carlo Gutierrez","Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.altoros.com\/blog\/shell-builds-10000-ai-models-on-kubernetes-in-less-than-a-day\/","url":"https:\/\/www.altoros.com\/blog\/shell-builds-10000-ai-models-on-kubernetes-in-less-than-a-day\/","name":"Shell Builds 10,000 AI Models on Kubernetes in Less than a Day | Altoros","isPartOf":{"@id":"https:\/\/www.altoros.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.altoros.com\/blog\/shell-builds-10000-ai-models-on-kubernetes-in-less-than-a-day\/#primaryimage"},"image":{"@id":"https:\/\/www.altoros.com\/blog\/shell-builds-10000-ai-models-on-kubernetes-in-less-than-a-day\/#primaryimage"},"thumbnailUrl":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/12\/shell-kubernetes-kubeflow-digital-transformation-artificial-intelligence-machine-learning-v3.gif","datePublished":"2021-12-16T15:19:21+00:00","dateModified":"2022-02-17T08:02:40+00:00","author":{"@id":"https:\/\/www.altoros.com\/blog\/#\/schema\/person\/833e109f77de753b2b472dca0236b442"},"breadcrumb":{"@id":"https:\/\/www.altoros.com\/blog\/shell-builds-10000-ai-models-on-kubernetes-in-less-than-a-day\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.altoros.com\/blog\/shell-builds-10000-ai-models-on-kubernetes-in-less-than-a-day\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.altoros.com\/blog\/shell-builds-10000-ai-models-on-kubernetes-in-less-than-a-day\/#primaryimage","url":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/12\/shell-kubernetes-kubeflow-digital-transformation-artificial-intelligence-machine-learning-v3.gif","contentUrl":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/12\/shell-kubernetes-kubeflow-digital-transformation-artificial-intelligence-machine-learning-v3.gif","width":1280,"height":720},{"@type":"BreadcrumbList","@id":"https:\/\/www.altoros.com\/blog\/shell-builds-10000-ai-models-on-kubernetes-in-less-than-a-day\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.altoros.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Shell Builds 10,000 AI Models on Kubernetes in Less than a Day"}]},{"@type":"WebSite","@id":"https:\/\/www.altoros.com\/blog\/#website","url":"https:\/\/www.altoros.com\/blog\/","name":"Altoros","description":"Insight","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.altoros.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.altoros.com\/blog\/#\/schema\/person\/833e109f77de753b2b472dca0236b442","name":"Carlo Gutierrez","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.altoros.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/02\/CG_portrait-2-96x96.jpg","contentUrl":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2021\/02\/CG_portrait-2-96x96.jpg","caption":"Carlo Gutierrez"},"description":"Carlo Gutierrez is a Technical Writer at Altoros. As part of the editorial team, his focus has been on emerging technologies such as Cloud Foundry, Kubernetes, blockchain, and the Internet of Things. Prior to Altoros, he primarily wrote about enterprise and consumer technology. Carlo has over 12 years of experience in the publishing industry. Previously, he served as an Editor for PC World Philippines and Questex Asia, as well as a Designer for Tropa Entertainment.","url":"https:\/\/www.altoros.com\/blog\/author\/carlo\/"}]}},"_links":{"self":[{"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/posts\/65434","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/users\/32"}],"replies":[{"embeddable":true,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/comments?post=65434"}],"version-history":[{"count":103,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/posts\/65434\/revisions"}],"predecessor-version":[{"id":66378,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/posts\/65434\/revisions\/66378"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/media\/66374"}],"wp:attachment":[{"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/media?parent=65434"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/categories?post=65434"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/tags?post=65434"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}