The TikZ-CD package (cd library) might provide a nicer interface for CDs.
Here, I'm using the end arrows key from another answer so that it will be easier to create arrows in a loop (and also have them out of the way of the content of internal matrix that's used). This doesn't stop you from using the normal \ar/\arrow macro however as it is used for the dashed arrow.
In the first diagram, I'm bending the arrows in such a way that the shortest one is actually straight. The labels use the tight key so that they don't have so much white space around them
For the second diagram, I'm just shifting A and A'a bit to the right, a new column could have been used, too, possibly with no actual space between it and the previous one.
Here' I'm using slanted rounded orthogonal arrows whose end point is slightly shifted vertically. The labels are placed on the arrow by using the description style.
Code
\documentclass[tikz]{standalone}
\usetikzlibrary{cd}
\tikzset{
XY To/.tip={To[length=+3pt +3.5, width=+2pt +2.5]},
XY To Tight/.tip={XY To[width=+2pt +1.5]},
|-/.style={to path={|-(\tikztotarget)\tikztonodes}}}
\tikzcdset{
tight/.style={inner sep=+.1em},
tight desc/.style={tight, description}}
\makeatletter
\NewDocumentCommand{\tikzcd@arrowlate}{O{}}{%
\path[{/tikz/commutative diagrams/.cd,every arrow,#1}]
(\tikzcd@ar@start\tikzcd@startanchor)to(\tikzcd@ar@target\tikzcd@endanchor);}
\tikzcdset{
end arrows/.style={
/tikz/commutative diagrams/every matrix/.append style={
append after command=
\pgfextra{\pgfutil@g@addto@macro\tikzcd@savedpaths
{\let\arrow\tikzcd@arrowlate#1}}}}}
\makeatother
\begin{document}
\begin{tikzcd}[
arrows=-XY To,
end arrows={
\foreach[count=\j from 2] \i in {1, 2, 3}{
\arrow[from=2-\i, to=1-4, bend left=-(\i-3)*7, "\alpha _\i" tight, near start]
\arrow[from=2-\i, to=3-4, bend left= (\i-3)*7, "\alpha'_\i"' tight, near start]
\arrow[from=2-\i, to=2-\j, "\alpha_{\i, \j}" tight]
}
}
]
& & & A \ar[dd, bend left, dashed, "\exists!\alpha"] \\
A_1 & A_2 & A_3 & \cdots \\
& & & A'
\end{tikzcd}
\begin{tikzcd}[
arrows=-XY To Tight,
end arrows={
\foreach[count=\j from 2] \i in {1, 2, 3}{
\arrow[from=2-\i, to=1-4, |-, xslant= .5, rounded corners, near start,
"\alpha_\i" tight desc, end anchor={[yshift=-(\i-2)*1mm]}]
\arrow[from=2-\i, to=2-\j, "\alpha_{\i, \j}" tight]
\arrow[from=2-\i, to=3-4, |-, xslant=-.5, rounded corners, near start,
"\alpha'_\i" tight desc, end anchor={[yshift=(\i-2)*1mm]}]
}
}
]
& & & |[xshift=1.5em]| A \ar[dd, dashed, "\exists!\alpha"] \\
A_1 & A_2 & A_3 & \cdots \\
& & & |[xshift=1.5em]| A'
\end{tikzcd}
\end{document}
Output
