Configuration can be defined as the composition of a complex product from instances of a set of component types taking into account restrictions on the compatibility of those component types. For supporting product configuration, different AI approaches are well established as central technologies in industrial configuration systems. However, the wide industrial use of configuration technologies and the increasing size and complexity of configuration problems make the field more challenging than ever. Nowadays, the Mass Customization paradigm has been extended from traditional physical products to the fields of software and service configuration. Configuration systems have evolved into interactive web-based applications that need to support highly sophisticated knowledge representation and reasoning methods. A wide range of AI techniques are being used in this context, just to mention a few, constraint satisfaction, intelligent user interfaces, preference handling, and explanations.