This article introduces a scenario optimization framework for reliability-based design given a set of observations of uncertain parameters. In contrast to traditional methods, scenario optimization makes direct use of the available data thereby eliminating the need for creating a probabilistic model of the uncertainty in the parameters. This feature makes the resulting design exempt from the subjectivity caused by prescribing an uncertainty model from insufficient data. Furthermore, scenario theory enables rigorously bounding the probability of the resulting design satisfying the reliability requirements imposed upon it with respect to additional, unseen observations drawn from the same data-generating-mechanism. This bound, which is non-asymptotic and distribution-free, requires calculating the set of support constraints corresponding to the optimal design. In this paper we propose a framework for seeking such a design and a computationally tractable algorithm for calculating such a set. This information allows determining the degree of stringency that each individual requirement imposes on the optimal design. Furthermore, we propose a chance-constrained optimization technique to eliminate the effect of outliers in the resulting optimal design. The ideas proposed are illustrated by a set of easily reproducible case studies having algebraic limit state functions.