Cloud computing services attempt to provide computing power (compute) and data storage resources (storage) while minimizing the need for active server management by the user. The US National Institute of Technology defines cloud computing as being an on-demand service with wide network access, being elastic and measured1. The most common form of categorization centres around compute capabilities23. They are “IaaS, PaaS and SaaS (infrastructure, platform and software as a service)”2. More specialist services cater to organizations implementing microservices and modular scalable systems over legacy monolithic systems4. They include BaaS (backend as a service) allowing practitioners to access scalable services such as notification and messaging and FaaS (function as a service) which aims to provide compute power to practitioners in as convenient a manner as possible56.

Cloud computing is more democratizing that traditional on-premises computing. Actors can access compute and storage at a comparatively low cost. In some cases at no cost until the system under development begins to scale up78. We’ve experienced this first hand when developeing the early versions of Snapfix. We embraced IaaS and Serverless paradigms from the onset of nascent development of our service.

The majority of empirical data throughout these blog posts concerns public cloud services that are provided over public networks. However, cloud services can also be deployed on self-owned and operated data centres2 and several case studies also discuss private cloud services creation and consumption. Amazon were pioneers in both types. Their private e-commerce based internal cloud services morphed over time into Amazon Web Services9 which is now the largest global provider of public cloud services1011.

Next: Cloud Security

  1. Mell, P., & Grance, T. (2011). The NIST Definition of Cloud Computing. 7. ↩︎

  2. Venters, W., & Whitley, E. A. (2012). A critical review of cloud computing: Researching desires and realities. Journal of Information Technology, 27(3), 179–197. ↩︎

  3. Yoo, C. S. (2011). Cloud Computing: Architectural and Policy Implications. Review of Industrial Organization, 38(4), 405–421. ↩︎

  4. Jamshidi, P., Pahl, C., Mendonça, N. C., Lewis, J., & Tilkov, S. (2018). Microservices: The Journey So Far and Challenges Ahead. IEEE Software, 35(3), 24–35. ↩︎

  5. Costa, I., Araujo, J., Dantas, J., Campos, E., Silva, F. A., & Maciel, P. (2016). Availability Evaluation and Sensitivity Analysis of a Mobile Backend-as-a-service Platform. Quality and Reliability Engineering International, 32(7), 2191–2205. ↩︎

  6. Gropengießer, F., & Sattler, K.-U. (2014). Database Backend as a Service: Automatic Generation, Deployment, and Management of Database Backends for Mobile Applications. Datenbank-Spektrum, 14(2), 85–95. ↩︎

  7. AWS. (2019a). AWS Free Tier. Retrieved 20 August 2019, from Amazon Web Services, Inc. website: ↩︎

  8. Bowers, L. (2011). Cloud Computing Efficiency. Applied Clinical Trials; Iselin, 20(7), 45-46,48-51. ↩︎

  9. ↩︎

  10. Agmon Ben-Yehuda, O., Ben-Yehuda, M., Schuster, A., & Tsafrir, D. (2014). The Rise of RaaS: The Resource-as-a-service Cloud. Commun. ACM, 57(7), 76–84. ↩︎

  11. Byrne, D., Corrado, C., & Sichel, D. E. (2018). The Rise of Cloud Computing: Minding Your P’s, Q’s and K’s (Working Paper No. 25188). ↩︎