Sustainability in software development refers to both the preservation of software over time and the ongoing provision of software as a service. There are two main approaches to sustainable software: 1) Bundle software and dependencies together into a single deployable package. 2) Abstract important algorithms and store as documentation, while abandoning other parts. Sustainable development requires better engineering practices through training and support from the beginning of the development process. The sustainability of software must be addressed at the outset.