Minha solução:
<canvas width="600" height="400"></canvas>
<script>
  let tela = document.querySelector("canvas");
  let pincel = tela.getContext("2d");
  pincel.fillStyle = "lightgray";
  pincel.fillRect(0, 0, 600, 400);
  desenhaCirculo = (x, y, raio) => {
    pincel.fillStyle = "blue";
    pincel.beginPath();
    pincel.arc(x, y, raio, 0, 2 * Math.PI);
    pincel.fill();
  };
  limpaTela = () => {
    pincel.clearRect(0, 0, 600, 400);
  };
  let x = 35;
  let y = 40;
  let raio = 20;
  let aux = 0;
  atualizaTela = () => {
    limpaTela();
    if (raio > 30) {
      aux = -1;
    } else if (raio <= 20) {
      aux = 1;
    }
    raio += aux;
    desenhaCirculo(x, y, raio);
  };
  setInterval(atualizaTela, 20);
</script>