<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">

  <title>Vlad Ionescu's Blog</title>
  <id>https://www.vladionescu.me/</id>
  <link rel="alternate" type="text/html" hreflang="en" href="https://www.vladionescu.me/"/>
  <link rel="self" type="application/atom+xml" href="https://www.vladionescu.me/feed.xml"/>
  <icon>https://www.vladionescu.me/logo.svg</icon>
  <rights>Copyright (c) 2022 Vlad Ionescu</rights>
  <updated>2022-05-10T00:00:00+00:00</updated>
  <author>
    <name>Vlad Ionescu</name>
    <uri>https://www.vladionescu.me</uri>
    <email>totally-not-spam-I-pinky-swear@vladionescu.me</email>
  </author>

  <entry>
    <title>Scaling containers on AWS in 2022</title>
    <link rel="alternate" type="text/html" href="https://www.vladionescu.me/posts/scaling-containers-on-aws-in-2022/"/>
    <id>https://www.vladionescu.me/posts/scaling-containers-on-aws-in-2022/</id>
    <published>2022-04-13T00:00:00+00:00</published>
    <updated>2022-05-10T00:00:00+00:00</updated>
    <content type="html">
      &lt;p&gt;This all started with &lt;a href=&quot;https://www.vladionescu.me/posts/scaling-containers-in-aws/&quot;&gt;a blog post back in 2020&lt;/a&gt;, from a tech curiosity: what's the fastest way to scale containers on AWS? Is ECS faster than EKS? What about Fargate? Is there a difference between ECS on Fargate and EKS on Fargate? I &lt;b&gt;had to know&lt;/b&gt; this to build better architectures for my clients.&lt;/p&gt;

      &lt;p&gt;In &lt;b&gt;2021&lt;/b&gt;, containers got even better, and &lt;a href=&quot;https://www.youtube.com/watch?v=UhRiLCxYNbo&quot;&gt;I was lucky enough to get a preview and present just how fast they got at re:Invent&lt;/a&gt;!&lt;/p&gt;

      &lt;p&gt;What about &lt;b&gt;2022&lt;/b&gt;? What's next in the landscape of scaling containers? Did the previous trends continue? How will containers scale this year? What about Lambda? We now have the answer!&lt;/p&gt;

      &lt;figure&gt;
        &lt;img
          src=&quot;https://www.vladionescu.me/posts/scaling-containers-on-aws-in-2022/overview.min.svg&quot;
          alt=&quot;Hand-drawn-style graph showing how long it takes to scale from 0 to 3500 containers: Lambda instantly spikes to 3000 and then jumps to 3500, ECS on Fargate starts scaling after 30 seconds and reaches close to 3500 around the four and a half minute mark, EKS on Fargate starts scaling after about a minute and reaches close to 3500 around the eight and a half minute mark, EKS on EC2 starts scaling after two and a half minutes and reaches 3500 around the six and a half minute mark, and ECS on EC2 starts scaling after two and a half minutes and reaches 3500 around the ten minute mark&quot;
        /&gt;
        &lt;figcaption&gt;Hand-drawn-style graph showing how long it takes to scale from 0 to 3500 containers: Lambda instantly spikes to 3000 and then jumps to 3500, ECS on Fargate starts scaling after 30 seconds and reaches close to 3500 around the four and a half minute mark, EKS on Fargate starts scaling after about a minute and reaches close to 3500 around the eight and a half minute mark, EKS on EC2 starts scaling after two and a half minutes and reaches 3500 around the six and a half minute mark, and ECS on EC2 starts scaling after two and a half minutes and reaches 3500 around the ten minute mark&lt;/figcaption&gt;
      &lt;/figure&gt;

      &lt;p&gt;&lt;b&gt;Tl;dr&lt;/b&gt;:&lt;/p&gt;
      &lt;ul&gt;
        &lt;li&gt;Fargate is now faster than EC2&lt;/li&gt;
        &lt;li&gt;ECS on Fargate improved so much and is the perfect example for why offloading engineering effort to AWS is a good idea&lt;/li&gt;
        &lt;li&gt;ECS on Fargate using Windows containers is surprisingly fast&lt;/li&gt;
        &lt;li&gt;App Runner is on the way to becoming a fantastic service&lt;/li&gt;
        &lt;li&gt;Up to a point, EKS on Fargate is faster than EKS on EC2&lt;/li&gt;
        &lt;li&gt;EKS on EC2 scales faster when using &lt;a href=&quot;https://karpenter.sh&quot;&gt;karpenter&lt;/a&gt; rather than &lt;a href=&quot;https://github.com/kubernetes/autoscaler/tree/master/cluster-autoscaler&quot;&gt;cluster-autoscaler&lt;/a&gt;, even in the worst possible scenario&lt;/li&gt;
        &lt;li&gt;EKS on EC2 is a tiny bit faster when using IPv6&lt;/li&gt;
        &lt;li&gt;Lambda with increased limits scales &lt;i&gt;ridiculously&lt;/i&gt; fast&lt;/li&gt;
      &lt;/ul&gt;

      &lt;p&gt;Beware, &lt;b&gt;this benchmark is extremely specific and meant to provide a &lt;em&gt;frame of reference&lt;/em&gt;, not completely accurate results&lt;/b&gt; &#8212; the focus here is making informed architectural decisions, not on squeezing out the most performance!&lt;/p&gt;

      &lt;p&gt;&lt;br&gt;&lt;/p&gt;

      &lt;p&gt;That's it! If you want to get more insights or if you want details about how I tested all this, continue reading on &lt;a href=&quot;https://www.vladionescu.me/posts/scaling-containers-on-aws-in-2022/&quot;&gt;https://www.vladionescu.me/posts/scaling-containers-on-aws-in-2022/&lt;/a&gt;&lt;/p&gt;
    </content>
  </entry>

  <entry>
    <title>Flowchart: How should I run containers on AWS?</title>
    <link rel="alternate" type="text/html" href="https://www.vladionescu.me/posts/flowchart-how-should-i-run-containers-on-aws-2021/"/>
    <id>https://www.vladionescu.me/posts/flowchart-how-should-i-run-containers-on-aws-2021/</id>
    <published>2021-11-05T00:00:00+00:00</published>
    <updated>2022-05-10T00:00:00+00:00</updated>
    <content type="html">
      &lt;p&gt;Writing blog posts is hard, so I made a flowchart!&lt;/p&gt;

      &lt;p&gt;I only wanted to post this &lt;a href=&quot;https://twitter.com/iamvlaaaaaaad/status/1457676356033171465&quot;&gt;on Twitter&lt;/a&gt;, but the accessibility text could not fit. This blog post is for folks with vision impairment or low vision. Accessibility matters!&lt;/p&gt;

      &lt;p&gt;See the charts &lt;a href=&quot;https://twitter.com/iamvlaaaaaaad/status/1457676356033171465&quot;&gt;on Twitter&lt;/a&gt; or continue reading on &lt;a href=&quot;https://www.vladionescu.me/posts/flowchart-how-should-i-run-containers-on-aws-2021/&quot;&gt;https://www.vladionescu.me/posts/flowchart-how-should-i-run-containers-on-aws-2021/&lt;/a&gt;&lt;/p&gt;
  </content>
  </entry>

  <entry>
    <title>Scaling containers on AWS in 2021</title>
    <link rel="alternate" type="text/html" href="https://www.vladionescu.me/posts/scaling-containers-on-aws-in-2021/"/>
    <id>https://www.vladionescu.me/posts/scaling-containers-on-aws-in-2021/</id>
    <published>2021-02-05T00:00:00+00:00</published>
    <updated>2022-05-10T00:00:00+00:00</updated>
    <content type="html">
      &lt;p&gt;For the 2021 results, there is no blog post: I got to present the results at re:Invent! You can &lt;a href=&quot;https://www.youtube.com/watch?v=UhRiLCxYNbo&quot;&gt;watch the talk on YouTube&lt;/a&gt;&lt;/p&gt;
    </content>
  </entry>

  <entry>
    <title>Accidentally a hacker</title>
    <link rel="alternate" type="text/html" href="https://www.vladionescu.me/posts/how-i-became-a-hacker/"/>
    <id>https://www.vladionescu.me/posts/how-i-became-a-hacker/</id>
    <published>2020-06-23T00:00:00+00:00</published>
    <updated>2022-05-10T00:00:00+00:00</updated>
    <content type="html">
      &lt;p&gt;Around the beginning of February 2020, GitHub Security updated their &lt;a href=&quot;https://bounty.github.com/bounty-hunters.html&quot;&gt;public security disclosures&lt;/a&gt; and &lt;a href=&quot;https://bounty.github.com/index.html&quot;&gt;hacker leaderboard&lt;/a&gt;, and this happened:&lt;/p&gt;
        &lt;figure&gt;
          &lt;img
            src=&quot;https://www.vladionescu.me/posts/how-i-became-a-hacker/leaderboard.png&quot;
            alt=&quot;GitHub Security Leaderboards with Vlad Ionescu on the ninth position out of ten people&quot;
          /&gt;
          &lt;figcaption&gt;GitHub leaderboard as of June 2020&lt;/figcaption&gt;
        &lt;/figure&gt;

      &lt;p&gt;Previously, on October 7, 2019, something popped up on &lt;a href=&quot;https://www.hackerone.com&quot;&gt;HackerOne&lt;/a&gt;:&lt;/p&gt;
        &lt;figure&gt;
          &lt;img
            src=&quot;https://www.vladionescu.me/posts/how-i-became-a-hacker/bounty.png&quot;
            alt=&quot;A 10.000$ bounty awarded to Vlad Ionescu on HackerOne for a GitHub security report&quot;
          /&gt;
          &lt;figcaption&gt;&lt;p&gt;HackerOne bounty&lt;/figcaption&gt;
        &lt;/figure&gt;

      &lt;p&gt;This is the story of how it all came to be. Unlikely to ever have a sequel. Continue reading on &lt;a href=&quot;https://www.vladionescu.me/posts/how-i-became-a-hacker/&quot;&gt;https://www.vladionescu.me/posts/how-i-became-a-hacker/&lt;/a&gt;&lt;/p&gt;
    </content>
  </entry>

  <entry>
    <title>Scaling containers on AWS in 2020</title>
    <link rel="alternate" type="text/html" href="https://www.vladionescu.me/posts/scaling-containers-in-aws/"/>
    <id>https://www.vladionescu.me/posts/scaling-containers-in-aws/</id>
    <published>2020-04-08T00:00:00+00:00</published>
    <updated>2022-05-10T00:00:00+00:00</updated>
    <content type="html">
      &lt;p&gt;This all started with a tech curiosity: what&apos;s the fastest way to scale containers on AWS? Is ECS faster than EKS? What about Fargate? Is there a difference between Fargate on ECS and Fargate on EKS?&lt;/p&gt;
      &lt;p&gt;For the fiscally responsible person in me, there is another interesting side to this. Does everybody have to bear the complexities of EKS? Where is the line? Say for a job that &lt;strong&gt;must&lt;/strong&gt; finish in less than 1 hour and that on average uses 20.000 vCPUs and 50.000 GBs, what is the cost-efficient option considering the ramp-up time?&lt;/p&gt;

      &lt;figure&gt;
        &lt;img
          src=&quot;https://vladionescu.me/posts/scaling-containers-on-aws-in-2020/results-graph.svg&quot;
          alt=&quot;Hand-drawn graph showing EKS scaling from 0 to 3500 containers in about 5 minutes. Fargate on ECS and Fargate on EKS scale up to the same 3500 containers in about an hour. Tuned Fargate scales faster than Fargate, but slower than EKS. There is minimal variance in the results.&quot;
          /&gt;
        &lt;figcaption&gt;The final results&lt;/figcaption&gt;
      &lt;/figure&gt;

      &lt;p&gt;&lt;strong&gt;Tl;dr&lt;/strong&gt;:&lt;/p&gt;
        &lt;ul&gt;
          &lt;li&gt;Fargate on ECS scales up 1 single &lt;code&gt;Service&lt;/code&gt; at a surprisingly consistent 23 containers per minute&lt;/li&gt;
          &lt;li&gt;Fargate on ECS scales up multiple &lt;code&gt;Services&lt;/code&gt; at 60 containers per minute &lt;a href=&quot;https://forums.aws.amazon.com/thread.jspa?threadID=276814&quot;&gt;as per the default AWS Limit&lt;/a&gt;&lt;/li&gt;
          &lt;li&gt;Fargate on EKS scales up at 60 containers per minute, regardless of the number of &lt;code&gt;Deployments&lt;/code&gt;&lt;/li&gt;
          &lt;li&gt;Fargate scales up the same way, no matter if it&apos;s running on ECS or EKS&lt;/li&gt;
          &lt;li&gt;Fargate on EKS scales down &lt;a href=&quot;https://twitter.com/iamvlaaaaaaad/status/1231980069008166912&quot;&gt;significantly faster&lt;/a&gt;&lt;/li&gt;
          &lt;li&gt;Fargate limits can be increased for relevant workloads, significantly improving performance&lt;/li&gt;
          &lt;li&gt;Fargate starts scaling with a burst of 10 containers in the first second&lt;/li&gt;
          &lt;li&gt;EKS does have a delay of 1-2 minutes before it starts scaling up. The &lt;a href=&quot;https://kubernetes.io/docs/concepts/scheduling/kube-scheduler/&quot;&gt;&lt;code&gt;kube-scheduler&lt;/code&gt;&lt;/a&gt; has to do some magic, &lt;a href=&quot;https://github.com/kubernetes/autoscaler/tree/master/cluster-autoscaler&quot;&gt;&lt;code&gt;cluster-autoscaler&lt;/code&gt;&lt;/a&gt; has to decide what nodes to add, and so on. Fargate starts scaling up immediately&lt;/li&gt;
          &lt;li&gt;EKS scales up suuuper fast&lt;/li&gt;
        &lt;/ul&gt;

      &lt;p&gt;Beware, &lt;strong&gt;this benchmark is utterly useless for web workloads&lt;/strong&gt; — the focus here is on background work or batch processing. For a scaling benchmark relevant to web services, you can check out &lt;a href=&quot;https://www.youtube.com/watch?v=OdzaTbaQwTg&amp;amp;t=1366&quot;&gt;Clare Liguori&apos;s awesome demo at re:Invent 2019&lt;/a&gt;.&lt;/p&gt;

      &lt;br  /&gt;

      &lt;p&gt;That&apos;s it! If you want to check out details about how I tested this, read more on &lt;a href=&quot;https://www.vladionescu.me/posts/scaling-containers-in-aws/&quot;&gt;https://www.vladionescu.me/posts/scaling-containers-in-aws/&lt;/a&gt;&lt;/p&gt;
    </content>
  </entry>

  <entry>
    <title>Fixing EKS DNS</title>
    <link rel="alternate" type="text/html" href="https://www.vladionescu.me/posts/eks-dns/"/>
    <id>https://www.vladionescu.me/posts/eks-dns/</id>
    <published>2019-11-04T00:00:00+00:00</published>
    <updated>2022-05-10T00:00:00+00:00</updated>
    <content type="html">
      I got to blog on the AWS Containers Blog: &lt;a href=&quot;https://aws.amazon.com/blogs/containers/eks-dns-at-scale-and-spikeiness/&quot;&gt;EKS DNS at scale and spikeiness&lt;/a&gt;! 🎉

      I usually just get to mentor people, and they get to post stuff publicly, so this is a nice change!
      The AWS Containers Blog now &lt;a href=&quot;https://github.com/aws/containers-roadmap/issues/303&quot;&gt;seems to be missing my blog post&lt;/a&gt;, you can read a copy on my website.

      Read more on &lt;a href=&quot;https://www.vladionescu.me/posts/eks-dns/&quot;&gt;https://www.vladionescu.me/posts/eks-dns/&lt;/a&gt;
    </content>
  </entry>

</feed>
