{"id":1022580,"date":"2024-05-13T09:00:00","date_gmt":"2024-05-13T16:00:00","guid":{"rendered":"https:\/\/www.microsoft.com\/en-us\/research\/?p=1022580"},"modified":"2024-05-14T14:20:22","modified_gmt":"2024-05-14T21:20:22","slug":"enhanced-autoscaling-with-vasim-vertical-autoscaling-simulator-toolkit","status":"publish","type":"post","link":"https:\/\/www.microsoft.com\/en-us\/research\/blog\/enhanced-autoscaling-with-vasim-vertical-autoscaling-simulator-toolkit\/","title":{"rendered":"Enhanced autoscaling with VASIM: Vertical Autoscaling Simulator Toolkit"},"content":{"rendered":"\n<p class=\"has-text-align-center\"><em><strong>This research was presented as a demonstration at the<\/strong><\/em><strong><em> <\/em><\/strong><a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" href=\"https:\/\/icde2024.github.io\/\" target=\"_blank\" rel=\"noopener noreferrer\"><strong><em>40<sup>th<\/sup> IEEE International Conference on Data Engineering<\/em><\/strong><span class=\"sr-only\"> (opens in new tab)<\/span><\/a><strong><em> (ICDE 2024), one of the premier conferences on data and information engineering.<\/em><\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1400\" height=\"788\" src=\"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2024\/04\/VASIM-BlogHeroFeature-1400x788-1.jpg\" alt=\"ICDE conference logo, in white, on the left side of the graphic. To the right, the first page of the accepted paper, \"VASIM: Vertical Autoscaling Simulator Toolkit.\u201d \n\nBackground: blue to purple to pink gradient. \" class=\"wp-image-1022622\" srcset=\"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2024\/04\/VASIM-BlogHeroFeature-1400x788-1.jpg 1400w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2024\/04\/VASIM-BlogHeroFeature-1400x788-1-300x169.jpg 300w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2024\/04\/VASIM-BlogHeroFeature-1400x788-1-1024x576.jpg 1024w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2024\/04\/VASIM-BlogHeroFeature-1400x788-1-768x432.jpg 768w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2024\/04\/VASIM-BlogHeroFeature-1400x788-1-1066x600.jpg 1066w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2024\/04\/VASIM-BlogHeroFeature-1400x788-1-655x368.jpg 655w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2024\/04\/VASIM-BlogHeroFeature-1400x788-1-240x135.jpg 240w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2024\/04\/VASIM-BlogHeroFeature-1400x788-1-640x360.jpg 640w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2024\/04\/VASIM-BlogHeroFeature-1400x788-1-960x540.jpg 960w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2024\/04\/VASIM-BlogHeroFeature-1400x788-1-1280x720.jpg 1280w\" sizes=\"auto, (max-width: 1400px) 100vw, 1400px\" \/><\/figure>\n\n\n\n<p>Since the inception of cloud computing, autoscaling has been an essential technique for optimizing resources and performance. By dynamically adjusting the number of computing resources allocated to a service based on current demand, autoscaling ensures that the service can handle the load efficiently while optimizing costs. However, developing and fine-tuning autoscaling algorithms, which govern this process, present significant challenges. The complexity and cost associated with testing these algorithms can lead to inefficient resource management and impede the development of more effective autoscaling strategies.<\/p>\n\n\n\n<div class=\"annotations \" data-bi-aN=\"margin-callout\">\n\t<article class=\"annotations__list card depth-16 bg-body p-4 annotations__list--right\">\n\t\t<div class=\"annotations__list-item\">\n\t\t\t\t\t\t<span class=\"annotations__type d-block text-uppercase font-weight-semibold text-neutral-300 small\">Publication<\/span>\n\t\t\t<a href=\"https:\/\/www.microsoft.com\/en-us\/research\/publication\/vasim-vertical-autoscaling-simulator-toolkit\/\" data-bi-cN=\"VASIM: Vertical Autoscaling Simulator Toolkit\" data-external-link=\"false\" data-bi-aN=\"margin-callout\" data-bi-type=\"annotated-link\" class=\"annotations__link font-weight-semibold text-decoration-none\"><span>VASIM: Vertical Autoscaling Simulator Toolkit<\/span>&nbsp;<span class=\"glyph-in-link glyph-append glyph-append-chevron-right\" aria-hidden=\"true\"><\/span><\/a>\t\t\t\t\t<\/div>\n\t<\/article>\n<\/div>\n\n\n\n<p>In our paper, \u201c<a href=\"https:\/\/www.microsoft.com\/en-us\/research\/publication\/vasim-vertical-autoscaling-simulator-toolkit\/\">VASIM: Vertical Autoscaling Simulator Toolkit<\/a>,\u201d presented at ICDE 2024, we introduce a tool designed to address the complexities involved in assessing autoscaling algorithms. While existing simulation tools cover a range of capabilities, such as energy efficiency and fault tolerance, VASIM stands out by evaluating the critical recommender component within the algorithm and suggesting optimal resource scaling actions based on usage data, balancing performance and cost. This enables developers to iterate more rapidly, enhancing algorithmic performance, and improving resource efficiency and cost savings.<\/p>\n\n\n\n<p>VASIM&#8217;s user-friendly interface simplifies the evaluation of autoscaling policies, as illustrated in Figure 1. First steps entail uploading historical data and defining autoscaling policies, including the algorithm and its parameters, shown in the left panel. The Simulation Run feature enables the modification of algorithm parameters, imported via a configuration file, and the execution of simulations based on the selected trace. A results screen displays the CPU limits determined by the selected policies as well as the actual CPU usage tailored to these limits. Additionally, VASIM provides fundamental metrics like throttling incidents, number of scaling operations, and amount of unused capacity, or <em>slack<\/em>, for the current simulation.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a data-bi-bhvr=\"14\"  data-bi-cn=\"[On the left] Image of VASIM user interface. On the left panel, it has options to select from \u201cSimulation Run\u201d, \u201cSimulation Tuning\u201d, \u201cSimulation Tuning History\u201d. Option \u201cSimulation Run\u201d is selected. Below user has loaded a trace from csv file on disk (c_26742_perf_event_log.csv), algorithm C, metadata config json file from disk. Button \u201cVisualize workload\u201d was clicked and loaded trace is displayed. \n\n[On the right] On the right panel, user picked other parameters for simulation run (lag \u2013 how often recommender gives decision and initial core count) and algorithm parameter from json are shown for edit. \n\nImage of VASIM UI when simulation was run for selected algorithm, trace and parameter setting. It shows a graph with cpu usage in blue and the limit calculated by selected algorithm in red. It is different from the trace plot that was shown before because calculated limits were below cpu utilization, so the latter was cut off. On top of the plot it shows metrics of the simulation like average slack, average insufficient CPU, sum slack, sum insufficient CPU, number of scalings, number of times of insufficient CPU etc.  \" href=\"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2024\/04\/VASIM_Fig1.png\"><img loading=\"lazy\" decoding=\"async\" width=\"2000\" height=\"666\" src=\"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2024\/04\/VASIM_Fig1.png\" alt=\"[On the left] Image of VASIM user interface. On the left panel, it has options to select from \u201cSimulation Run\u201d, \u201cSimulation Tuning\u201d, \u201cSimulation Tuning History\u201d. Option \u201cSimulation Run\u201d is selected. Below user has loaded a trace from csv file on disk (c_26742_perf_event_log.csv), algorithm C, metadata config json file from disk. Button \u201cVisualize workload\u201d was clicked and loaded trace is displayed. \n\n[On the right] On the right panel, user picked other parameters for simulation run (lag \u2013 how often recommender gives decision and initial core count) and algorithm parameter from json are shown for edit. \n\nImage of VASIM UI when simulation was run for selected algorithm, trace and parameter setting. It shows a graph with cpu usage in blue and the limit calculated by selected algorithm in red. It is different from the trace plot that was shown before because calculated limits were below cpu utilization, so the latter was cut off. On top of the plot it shows metrics of the simulation like average slack, average insufficient CPU, sum slack, sum insufficient CPU, number of scalings, number of times of insufficient CPU etc.  \" class=\"wp-image-1022595\" srcset=\"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2024\/04\/VASIM_Fig1.png 2000w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2024\/04\/VASIM_Fig1-300x100.png 300w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2024\/04\/VASIM_Fig1-1024x341.png 1024w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2024\/04\/VASIM_Fig1-768x256.png 768w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2024\/04\/VASIM_Fig1-1536x511.png 1536w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2024\/04\/VASIM_Fig1-240x80.png 240w\" sizes=\"auto, (max-width: 2000px) 100vw, 2000px\" \/><\/a><figcaption class=\"wp-element-caption\">Figure 1. The VASIM user interface comprises a run simulation pane on the left and a results pane on the right.<\/figcaption><\/figure>\n\n\n\n<p>VASIM achieves several important goals:<\/p>\n\n\n\n<p><strong>Resource efficiency and cost reduction<\/strong>. VASIM reduces costs by removing the need to test scaling operations in real-time, which would be resource intensive. This enables developers to adjust algorithms iteratively in a controlled, cost-efficient environment, accelerating development cycles. Because the tool allows users to upload CPU performance history and algorithm parameters, it delivers the results of scaling operations across the entire workload in minutes rather than hours. <\/p>\n\n\n\n<p><strong>Multi-objective optimization<\/strong>. It\u2019s challenging to develop an autoscaling method that handles conflicting parameters. VASIM makes this easier by applying <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" href=\"https:\/\/en.wikipedia.org\/wiki\/Pareto_front\" target=\"_blank\" rel=\"noopener noreferrer\">Pareto optimization techniques<span class=\"sr-only\"> (opens in new tab)<\/span><\/a>, helping developers to find a balance among key metrics. Figure 2 depicts scatter plots for two metrics: average slack and average insufficient CPU. It also shows three optimization objectives: the optimal amount of slack, throttling, and number of scaling operations.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1224\" height=\"450\" src=\"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2024\/04\/VASIM_Fig2.png\" alt=\"[On the left] A graph that plots the average slack on the Y axis and the average insufficient cpu on the X axis. It shows that the more average insufficient cpu decreases, the more average slack increases. There are six points in red that are pareto frontier points, all on the very edge of the graph but not too close to each other, showing some possible choices of configuration. \n\n[On the right] A 3D scatter plot displays the total slack on the X axis, cpu total throttle on the Y axis, and the amount of scalings in Z axis. It shows that as you aim to lower total slack and throttle, the amount of scalings increases.\" class=\"wp-image-1022601\" srcset=\"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2024\/04\/VASIM_Fig2.png 1224w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2024\/04\/VASIM_Fig2-300x110.png 300w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2024\/04\/VASIM_Fig2-1024x376.png 1024w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2024\/04\/VASIM_Fig2-768x282.png 768w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2024\/04\/VASIM_Fig2-240x88.png 240w\" sizes=\"auto, (max-width: 1224px) 100vw, 1224px\" \/><figcaption class=\"wp-element-caption\">Figure 2. The 2D diagram on the left shows a scatter plot of tuning with Pareto points. The 3D graph on the right shows a scatter plot with the three objectives.<\/figcaption><\/figure>\n\n\n\n<p><strong>Recommender algorithm testing<\/strong>. VASIM simplifies the process of testing and evaluating recommendation algorithms across diverse workloads. With all tuning jobs running in parallel, computation occurs more quickly, allowing users to efficiently adjust their recommender parameters as necessary. To assess the algorithm\u2019s generalizability, we ran VASIM against 11 <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" href=\"https:\/\/github.com\/alibaba\/clusterdata\" target=\"_blank\" rel=\"noopener noreferrer\">available open cluster traces<span class=\"sr-only\"> (opens in new tab)<\/span><\/a> for benchmarking and internal product workload traces. This enabled us to evaluate the algorithms\u2019 robustness across a variety of workload types, including cyclical, bursty, and monotonic variations, demonstrating their reliability across different scenarios.<\/p>\n\n\n\n<p><strong>Versatility and <\/strong><strong>a<\/strong><strong>daptability<\/strong>. VASIM provides users with the flexibility to modify components, experiment with recommendation strategies, and evaluate the impact of changes in a controlled and customizable environment. Figure 3 shows the results of a simulation run on the same algorithm and historical performance data but with different parameters. This versatility ensures that infrastructure engineers can tailor the system to meet their needs, enhancing the overall effectiveness of their autoscaling strategies.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"897\" height=\"856\" src=\"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2024\/05\/Figure3.png\" alt=\"These graphs display VASIM running an identical algorithm on the same historical data but with varying parameters, affecting slack, throttling, and the frequency of scaling events. The objective is to maintain a minimal gap between the peak and the lowest resource utilization levels (the top of the bottom line and the bottom of the top line, respectively), and to reduce the space between the response lag indicated by the trailing edges to the left of the lines. Simultaneously, it's important to minimize the occurrence of scaling events to prevent disruptions in workload execution.\" class=\"wp-image-1031514\" srcset=\"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2024\/05\/Figure3.png 897w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2024\/05\/Figure3-300x286.png 300w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2024\/05\/Figure3-768x733.png 768w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2024\/05\/Figure3-189x180.png 189w\" sizes=\"auto, (max-width: 897px) 100vw, 897px\" \/><figcaption class=\"wp-element-caption\">Figure 3. These graphs show VASIM running an identical algorithm on the same historical data but with varying parameters, affecting slack, throttling, and the frequency of scaling events. The objective is to maintain a minimal gap between the peak and the lowest resource utilization levels\u2014the top of the bottom line and the bottom of the top line, respectively. The goal is also to reduce the space between the response lag indicated by the trailing edges to the left of the lines. Simultaneously, it\u2019s important to minimize the occurrence of scaling events to prevent disruptions in workload execution.<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"optimizing-scalability-and-costs-in-kubernetes-environments\">Optimizing scalability and costs in Kubernetes environments<\/h2>\n\n\n\n<p>Our research on <a href=\"https:\/\/www.microsoft.com\/en-us\/research\/publication\/caasper-vertical-autoscaling\/\">vertically autoscaling monolithic applications with a container-as-a-service algorithm<\/a> helped us to better understand the tradeoffs between cost and availability that different algorithm variations introduce. Because VASIM is similar to standard autoscaling architecture (as in the <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" href=\"https:\/\/github.com\/kubernetes\/autoscaler\/tree\/master\/vertical-pod-autoscaler\" target=\"_blank\" rel=\"noopener noreferrer\">Kubernetes Vertical Pod Autoscaler<span class=\"sr-only\"> (opens in new tab)<\/span><\/a> [VPA]) it allows us to test autoscaling algorithms for pods, applications, and virtual machine (VM) capacity. This is possible because these systems share similar components, including resource updaters, controllers, and recommenders. Despite differences in specific systems, their underlying architectures are sufficiently similar, enabling VASIM to effectively mimic them, as shown in Figure 4.<\/p>\n\n\n\n<h5 id=\"\" class=\"wp-block-heading\">&nbsp;<\/h5>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"588\" src=\"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2024\/04\/VASIM_Fig4-1024x588.png\" alt=\"The image depicts how VASIM works. It has a Simulation Controller in the middle, which asks Recommender for decisions using one of the algorithms, Simulation Scaler with a scale function, Cloud State Provider to get traces and use them for time simulation, Analyzer to get metrics after each run. Params Tuning Controller tells Simulation Controller to run for every tuning setting and calls Analyzer to get pareto front to find tradeoff between multiple goals after multiple configs were evaluated. Recommender also needs data from Cloud State Provider to access historical data.  \" class=\"wp-image-1022616\" style=\"width:600px;height:auto\" srcset=\"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2024\/04\/VASIM_Fig4-1024x588.png 1024w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2024\/04\/VASIM_Fig4-300x172.png 300w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2024\/04\/VASIM_Fig4-768x441.png 768w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2024\/04\/VASIM_Fig4-1536x882.png 1536w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2024\/04\/VASIM_Fig4-240x138.png 240w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2024\/04\/VASIM_Fig4.png 2000w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Figure 4. VASIM architecture mimics the main components of general autoscaling architectures, allowing users to parametrize those modules to fit their specific needs.<\/figcaption><\/figure>\n\n\n\n<h5 id=\"\" class=\"wp-block-heading\">&nbsp;<\/h5>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"implications-and-looking-ahead\">Implications and looking ahead<\/h2>\n\n\n\n<p>Looking forward, we plan to broaden the scope of VASIM&#8217;s support beyond just CPUs to include a wide range of resources, such as memory, disk I\/O, and network bandwidth. This expansion will provide future users with a comprehensive understanding of system performance and enable them to make more accurate decisions regarding system management and resource optimization. Additionally, a deeper understanding of system performance will help inform proactive optimization strategies focused on maximizing system efficiency and performance.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Autoscaling can optimize cloud resource usage and costs by adjusting to demand. VASIM shows that simplifying testing and refinement of autoscaling algorithms can enable rapid development and evaluation of more efficient & cost-effective autoscaling strategies. <\/p>\n","protected":false},"author":37583,"featured_media":1022622,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"msr-url-field":"","msr-podcast-episode":"","msrModifiedDate":"","msrModifiedDateEnabled":false,"ep_exclude_from_search":false,"_classifai_error":"","msr-author-ordering":[{"type":"user_nicename","value":"Anna Pavlenko","user_id":"40009"},{"type":"user_nicename","value":"Karla Saur","user_id":"39991"},{"type":"user_nicename","value":"Yiwen Zhu","user_id":"39438"},{"type":"user_nicename","value":"Brian Kroth","user_id":"40024"},{"type":"user_nicename","value":"Joyce Cahoon","user_id":"40012"},{"type":"user_nicename","value":"Jes\u00fas Camacho Rodr\u00edguez","user_id":"40693"}],"msr_hide_image_in_river":0,"footnotes":""},"categories":[1],"tags":[],"research-area":[13563,13560],"msr-region":[],"msr-event-type":[],"msr-locale":[268875],"msr-post-option":[243984],"msr-impact-theme":[],"msr-promo-type":[],"msr-podcast-series":[],"class_list":["post-1022580","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-research-blog","msr-research-area-data-platform-analytics","msr-research-area-programming-languages-software-engineering","msr-locale-en_us","msr-post-option-blog-homepage-featured"],"msr_event_details":{"start":"","end":"","location":""},"podcast_url":"","podcast_episode":"","msr_research_lab":[],"msr_impact_theme":[],"related-publications":[],"related-downloads":[],"related-videos":[],"related-academic-programs":[],"related-groups":[684024],"related-projects":[],"related-events":[],"related-researchers":[{"type":"user_nicename","value":"Anna Pavlenko","user_id":40009,"display_name":"Anna Pavlenko","author_link":"<a href=\"https:\/\/www.microsoft.com\/en-us\/research\/people\/annapa\/?lang=ko-kr\" aria-label=\"Anna Pavlenko \ub300\ud55c \ud504\ub85c\ud544 \ud398\uc774\uc9c0 \ubc29\ubb38\">Anna Pavlenko<\/a>","is_active":false,"last_first":"Pavlenko, Anna","people_section":0,"alias":"annapa"},{"type":"user_nicename","value":"Yiwen Zhu","user_id":39438,"display_name":"Yiwen Zhu","author_link":"<a href=\"https:\/\/www.microsoft.com\/en-us\/research\/people\/yiwzh\/?lang=ko-kr\" aria-label=\"Yiwen Zhu \ub300\ud55c \ud504\ub85c\ud544 \ud398\uc774\uc9c0 \ubc29\ubb38\">Yiwen Zhu<\/a>","is_active":false,"last_first":"Zhu, Yiwen","people_section":0,"alias":"yiwzh"},{"type":"user_nicename","value":"Brian Kroth","user_id":40024,"display_name":"Brian Kroth","author_link":"<a href=\"https:\/\/www.microsoft.com\/en-us\/research\/people\/bpkroth\/?lang=ko-kr\" aria-label=\"Brian Kroth \ub300\ud55c \ud504\ub85c\ud544 \ud398\uc774\uc9c0 \ubc29\ubb38\">Brian Kroth<\/a>","is_active":false,"last_first":"Kroth, Brian","people_section":0,"alias":"bpkroth"},{"type":"user_nicename","value":"Joyce Cahoon","user_id":40012,"display_name":"Joyce Cahoon","author_link":"<a href=\"https:\/\/www.microsoft.com\/en-us\/research\/people\/jcahoon\/?lang=ko-kr\" aria-label=\"Joyce Cahoon \ub300\ud55c \ud504\ub85c\ud544 \ud398\uc774\uc9c0 \ubc29\ubb38\">Joyce Cahoon<\/a>","is_active":false,"last_first":"Cahoon, Joyce","people_section":0,"alias":"jcahoon"},{"type":"user_nicename","value":"Jes\u00fas Camacho Rodr\u00edguez","user_id":40693,"display_name":"Jes\u00fas Camacho Rodr\u00edguez","author_link":"<a href=\"https:\/\/www.microsoft.com\/en-us\/research\/people\/jesusca\/?lang=ko-kr\" aria-label=\"Jes\u00fas Camacho Rodr\u00edguez \ub300\ud55c \ud504\ub85c\ud544 \ud398\uc774\uc9c0 \ubc29\ubb38\">Jes\u00fas Camacho Rodr\u00edguez<\/a>","is_active":false,"last_first":"Camacho Rodr\u00edguez, Jes\u00fas","people_section":0,"alias":"jesusca"}],"msr_type":"Post","featured_image_thumbnail":"<img width=\"960\" height=\"540\" src=\"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2024\/04\/VASIM-BlogHeroFeature-1400x788-1-960x540.jpg\" class=\"img-object-cover\" alt=\"ICDE logo in white to the left of the first page of the &quot;VASIM: Vertical Autoscaling Simulator Toolkit&quot; accepted paper.\" decoding=\"async\" loading=\"lazy\" srcset=\"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2024\/04\/VASIM-BlogHeroFeature-1400x788-1-960x540.jpg 960w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2024\/04\/VASIM-BlogHeroFeature-1400x788-1-300x169.jpg 300w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2024\/04\/VASIM-BlogHeroFeature-1400x788-1-1024x576.jpg 1024w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2024\/04\/VASIM-BlogHeroFeature-1400x788-1-768x432.jpg 768w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2024\/04\/VASIM-BlogHeroFeature-1400x788-1-1066x600.jpg 1066w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2024\/04\/VASIM-BlogHeroFeature-1400x788-1-655x368.jpg 655w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2024\/04\/VASIM-BlogHeroFeature-1400x788-1-240x135.jpg 240w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2024\/04\/VASIM-BlogHeroFeature-1400x788-1-640x360.jpg 640w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2024\/04\/VASIM-BlogHeroFeature-1400x788-1-1280x720.jpg 1280w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2024\/04\/VASIM-BlogHeroFeature-1400x788-1.jpg 1400w\" sizes=\"auto, (max-width: 960px) 100vw, 960px\" \/>","byline":"","formattedDate":"May 13, 2024","formattedExcerpt":"Autoscaling can optimize cloud resource usage and costs by adjusting to demand. VASIM shows that simplifying testing and refinement of autoscaling algorithms can enable rapid development and evaluation of more efficient &amp; cost-effective autoscaling strategies.","locale":{"slug":"en_us","name":"English","native":"","english":"English"},"_links":{"self":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/posts\/1022580","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/users\/37583"}],"replies":[{"embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/comments?post=1022580"}],"version-history":[{"count":29,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/posts\/1022580\/revisions"}],"predecessor-version":[{"id":1031517,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/posts\/1022580\/revisions\/1031517"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/media\/1022622"}],"wp:attachment":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/media?parent=1022580"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/categories?post=1022580"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/tags?post=1022580"},{"taxonomy":"msr-research-area","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/research-area?post=1022580"},{"taxonomy":"msr-region","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-region?post=1022580"},{"taxonomy":"msr-event-type","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-event-type?post=1022580"},{"taxonomy":"msr-locale","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-locale?post=1022580"},{"taxonomy":"msr-post-option","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-post-option?post=1022580"},{"taxonomy":"msr-impact-theme","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-impact-theme?post=1022580"},{"taxonomy":"msr-promo-type","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-promo-type?post=1022580"},{"taxonomy":"msr-podcast-series","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-podcast-series?post=1022580"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}