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>