A coating, from a surface engineering point of view, is a layer of material deposited onto a substrate to enhance the surface properties for corrosion and wear protection. Factors affecting the choice of a coating include service environment, life expectancy, substrate material compatibility, component shape and size, and cost.