digraph {
  rankdir=TB;
  compound=true;
  graph [ fontname = Handlee ];
  node [ fontname = Handlee ];
  edge [ fontname = Handlee; arrowsize=0.9 ];
  
  subgraph cluster_me {
    graph [
      label = "Me";
      pencolor=transparent;
      nodesep=0.01;
    ];
    
    me [
      label = "😃";
      fontsize=30;
      shape=plaintext;
      height=0.3;
      fixedsize=true;
    ];
  }
  
  subgraph cluster_aws {
      graph [
        label = "*us-east-1*";
      ];
      S3;
      Lambda;
      x [shape=point; style=invis; height=0; fixedsize=true];
  }
  
  me -> Lambda [
    label = "1. 50 KB patch                ";
  ];
  S3 -> Lambda [
    taillabel = "2. GET\n  old   \n   file     ";
  ];
  Lambda -> S3 [
    taillabel = "  4. PUT   \nnew  \n  file      ";
  ];
  Lambda:s -> Lambda:s [
      label = "3. rebuild\nnew file";
  ];
  
   Lambda -> x [style=invis]; 
}