1. INTRODUCTION

2. PROBLEM DEFINITION AND CHALLENGES

3. TAXONOMY

4. APPLICATION ARCHITECTURES

5. SESSION STICKINESS

6. ADAPTIVITY

7. SCALING INDICATORS

8. RESOURCE ESTIMATION

9. OSCILLATION MITIGATION

10. SCALING TIMING

11. SCALING METHODS

12. ENVIRONMENT

13. DISCUSSION AND FUTURE DIRECTIONS

14. SUMMARY AND CONCLUSIONS