DESIGNING FOR CAP - The Effect of Design Decisions on the CAP Properties of Cloud-native Applications

Vasilios Andrikopoulos, Christoph Fehling, Frank Leymann

Abstract

The limitations of distributed systems to satisfy the combination of consistency, availability and network partitioning tolerance requirements are well-documented and formally proven. There is however a limited amount of works discussing the impact of these limitations on designing applications native to the Cloud. This work addresses this particular need by proposing an approach for considering these requirements while designing an application. Our contributions are therefore a methodology for Cloud-native application design which considers consistency, availability and network partitioning tolerance, and a framework instantiating this methodology by using design patterns and their realization solutions on the Cloud. We also show how the proposed methodology can be used in practice to design an application solution with desired properties.

References

  1. Alexander , C., Ishikawa, S., Silverstein, M., Jacobson, M., Fijksdal-King, I., 1977. A pattern language: towns, buildings, construction. Oxford University Press.
  2. Brewer, E. A., 2000. Towards robust distributed systems. PODC Keynote.
  3. Chee, Y., Zhou, N., Meng, F. J., Bagheri, S., Zhong, P., 2011. A Pattern-Based Approach to Cloud Transformation. Proceedings of the IEEE International Conference on Cloud Computing (CLOUD).
  4. Erl, T., Kurtagic, A., Wilhelmsen, H., 2010. Designing Services for Windows Azure. MSDN Magazine.
  5. http://msdn.microsoft.com/en-us/magazine/ee335719.aspx
  6. Fehling, C., Konrad, R., Leymann, F., Mietzner, R., Pauly, M., Schumm, D., 2011c. Flexible Process-based Applications in Hybrid Clouds. Proceedings of the 2011 IEEE International Conference on Cloud Computing (CLOUD).
  7. Fehling, C., Leymann, F., Retter, R., Schumm, D., Schupeck, W., 2011a. An Architectural Pattern Language of Cloud-based Applications. Proceedings of the 18th Conference on Pattern Languages of Programs (PLoP).
  8. Fehling, C., Leymann, F., Retter, R., Schumm, D., Schupeck, W., 2011b. A Collection of Patterns for Cloud Types, Cloud Service Models, and Cloud-based Application Architectures. Technical Report University of Stuttgart.
  9. Gamma E., Helm R., Johnson R., Vlissides J., 1995. Design Patterns: Elements of Reusable Objectoriented Software. Addison-Wesley.
  10. Gilbert, S., Lynch, N. A., 2002. Brewer's conjecture and the feasibility of consistent, available, partitiontolerant web services. SIGACT News 33(2): 51-59.
  11. Harrison, N., Avgeriou, P., Zdun, U., 2007. Architecture Patterns as Mechanisms for Capturing Architectural Decisions, IEEE Software.
  12. Helland, P., 2007. SOA and Newton's Universe. MSDN Blogs.http://blogs.msdn.com/b/pathelland/archive/200 7/05/20/soa-and-newton-s-universe.aspx
  13. Hewlett-Packard Development, 2005. There is no free lunch with distributed data. HP White Paper. ftp://ftp.compaq.com/pub/products/storageworks/whit epapers/5983-2544EN.pdf
  14. Hohpe, G., Wolf, B., 2004. Enterprise Integration Patterns: Designing, Building, and Deploying. Addison-Wesley.
  15. Iba, T., Miyake, T., Naruse, M., Yotsumoto, N., 2009. Learning Patterns: A Pattern Language for Active Learners. Proceedings of the International Conference on Pattern Languages of Programs (PLOP).
  16. Kossmann, D., 2010. How new is the cloud? Proceedings of the IEEE 26th International Conference on Data Engineering (ICDE).
  17. Lau, C., Birsan, V., 2011. Best practices to architect applications in the IBM Cloud. IBM Developer Works. http://www.ibm.com/developerworks/cloud/library/clcloudapppractices/index.html (2011)
  18. Leymann, F., 2009. Cloud Computing: The Next Revolution in IT. Proceedings of the 52th Photogrammetric Week. http://www.ifp.unistuttgart.de/publications/phowo09/010Leymann.pdf
  19. Mietzner, R., Fehling, C., Karastoyanova, D., Leymann, F., 2010. Combining horizontal and vertical composition of services. Proceedings of the IEEE International Conference on Service-Oriented Computing and Applications (SOCA).
  20. Pardon, G., 2008: A CAP Solution (Proving Brewer Wrong). Personal Blog. http://guysblogspot.blogspot. com/2008/09/cap-solution-proving-brewer-wrong.html
  21. Petre, M., 1995. Why Looking isn't Always Seeing. Communications of the ACM.
  22. Rising, L., 2004. Fearless Change: Patterns for Introducing New Ideas: Introducing Patterns to Organizations. Addison-Wesley.
  23. Tidwell, J., 1998. A Pattern Language for HumanComputer Interface Design. Washington University Tech. Report WUCS-98-25.
  24. Varia, J., 2010. Architecting for the Cloud: Best practices - Amazon Web Services. Amazon.com white paper. http://jineshvaria.s3.amazonaws.com/public/cloudbest practices-jvaria.pdf
  25. Vogels, W., 2009. Eventually consistent. Communications of the ACM 52(1): 40-44.
  26. Yahoo! Inc., 2011. Yahoo! Design Pattern Library. Online Resource. http://developer.yahoo.com/ypatterns/
  27. Zimmermann, O., Koehler, J., Leymann, F., Polley, R., Schuster, N., 2009. Managing architectural decision
Download


Paper Citation


in Harvard Style

Andrikopoulos V., Fehling C. and Leymann F. (2012). DESIGNING FOR CAP - The Effect of Design Decisions on the CAP Properties of Cloud-native Applications . In Proceedings of the 2nd International Conference on Cloud Computing and Services Science - Volume 1: CLOSER, ISBN 978-989-8565-05-1, pages 365-374. DOI: 10.5220/0003931503650374


in Bibtex Style

@conference{closer12,
author={Vasilios Andrikopoulos and Christoph Fehling and Frank Leymann},
title={DESIGNING FOR CAP - The Effect of Design Decisions on the CAP Properties of Cloud-native Applications},
booktitle={Proceedings of the 2nd International Conference on Cloud Computing and Services Science - Volume 1: CLOSER,},
year={2012},
pages={365-374},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0003931503650374},
isbn={978-989-8565-05-1},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 2nd International Conference on Cloud Computing and Services Science - Volume 1: CLOSER,
TI - DESIGNING FOR CAP - The Effect of Design Decisions on the CAP Properties of Cloud-native Applications
SN - 978-989-8565-05-1
AU - Andrikopoulos V.
AU - Fehling C.
AU - Leymann F.
PY - 2012
SP - 365
EP - 374
DO - 10.5220/0003931503650374