Code:
p1 = ParametricPlot3D[{Cos[t], 1 + Sin[t], 1 + Sin[t]}, {t, 0,
2 \[Pi]}, PlotStyle -> {Thickness[0.008], Yellow}];
xpt = 1;
ypt = 1;
zpt = 1;
myNormal = {2 x, 2 y - 2, 0} /. {x -> xpt, y -> ypt, z -> zpt};
myLine = Graphics3D[{Thickness[0.01], Red,
Line[{{xpt, ypt, zpt}, {xpt + myNormal[[1]], ypt + myNormal[[2]],
zpt + myNormal[[3]]}}]}];
cp1 = ContourPlot3D[{x^2 + y^2 == 2 y}, {x, -1, 2}, {y, -1,
3}, {z, -2, 3}];
cp2 = ContourPlot3D[{y == z}, {x, -1, 2}, {y, -1, 3}, {z, -2, 2},
ContourStyle -> Opacity[0.2]];
Show[{cp1, cp2, p1, myLine}, BoxRatios -> {1, 1, 1},
PlotRange -> {{-3, 3}, {-3, 3}, {-3, 3}}]