Cloud Meets Classroom: Experience Report on Using IBM Bluemix in a Software Architectures Course Nikita Sokolov Nazim H

Cloud Meets Classroom: Experience Report on Using IBM Bluemix in a Software Architectures Course Nikita Sokolov Nazim H

Cloud meets classroom: Experience Report on Using IBM Bluemix in a Software Architectures Course Nikita Sokolov Nazim H. Madhavji University of Western Ontario University of Western Ontario London, Ontario, Canada London, Ontario, Canada [email protected] [email protected] ABSTRACT Table 1: SA Courses in Tertiary Education The process of teaching software architectures should go beyond abstract concepts (such as quality attributes, architectural tactics, Software Architecture Courses With project patterns, and methods) to getting students to recognise and imple- Without Project ment them practically. Clearly, for this, project work is essential Cloud platform used Cloud platform not used so as to familiarise students with the key technologies and tools. 5 9 9* We note that "cloud technology", widely popular in industry for * These nine cases were interpreted based on the publicly available data hosting business services, is quite suited to teaching about service- such as course websites and not on actual analysis of the course material oriented architectures and micro-services. However, our analysis which in most cases was not available to us. suggests that the use of cloud technology in software architec- ture (SA) courses is not very strong in tertiary institutions. Given the time constraints in SA courses, the learning curve on both ad- this course, going beyond theoretical concepts to have students ministrative and technical aspects of the underlying infrastructure learn about how to implement these concepts and what the re- should arguably be minimised so as to enable focus on the core sults of such implementation are becomes a major pedagogical features of the course. In this paper, we share our experience on hurdle. Many instructors thus resign into treating this course as a using IBM Bluemix in a half-term course on software architectures conceptual endeavor which, though useful for gaining theoretical at the University of Western Ontario. In particular, we note that architectural knowledge, falls short of actually gaining practical while students need to familiarise themselves with the technology experience with implementing architectures. and the opportunity it provides for supporting end-user services, We, at the University of Western Ontario (a.k.a. Western)(http: the learning curve of Bluemix is gradual enough for students to //www.uwo.ca/), were faced with this same dilemma. However, accomplish creating plausible services in a real world environment. with the emergence of Cloud platforms, such as AWS (https://aws. This paper describes a number of observations and lessons learnt amazon.com/), Google Cloud Platform (https://cloud.google.com/), from the points of view of both students and instructors. Heroku (https://www.heroku.com/), IBM Bluemix (https://www. ibm.com/cloud-computing/bluemix/), and Microsoft Azure (https: KEYWORDS //azure.microsoft.com/), this has simplified the availability of tech- Software engineering, software architectures course, service-oriented nological support for courses in SA. Especially, where there are architecture, micro-services, cloud computing, IBM Bluemix, lessons academic initiatives by technology providers, this has opened doors learnt, experience report. to lift architecture courses from theoretic-conceptual to include sizeable implementation. Buyya et al. [3] refer to cloud as "... a type of parallel and dis- 1 INTRODUCTION tributed system consisting of a collection of inter-connected and Software Architecture (SA) courses are prevalent in tertiary ed- virtualized computers that are dynamically provisioned and pre- ucation [1] and the subject is well-entrenched in scientific and sented as one or more unified computing resource(s) based on business community as evidenced by scholarly conferences, e.g. service-level agreements established through negotiation between Working IEEE/IFIP Conference on Software Architecture (http:// the service provider and consumers". The main advantages of the www.softwarearchitectureportal.org/wicsa/) and European Confer- cloud for the consumer include no up-front investment, lowering ence on Software Architecture (https://www.cs.kent.ac.uk/events/ operating cost, high scalability, easy access, reducing business risks 2017/ECSA2017/). Following the definition given by Clements et al. and maintenance expenses [4]. [2], "The software architecture of a system is the set of structures At Western, we embarked on the idea of embracing cloud tech- needed to reason about the system, which comprise software ele- nology in teaching SA. This can be useful both in terms of educating ments, relations among them, and properties of both". Typically, the students on abstract theoretical knowledge and preparing them main themes covered in such a course include: quality attributes, for real-world projects with trained, hands-on skills. However, we architecturally significant requirements, architectural tactics, de- wondered how we compared to other tertiary institutions and what sign patterns, documentation of architectures, development, and we could learn from their experience for possible improvement to assessment. our program for the future years. Upon analysis, we found that, Often, there is a group project for hands-on learning about these generally, the use of cloud technology in SA courses was not very concepts (see Table 1). Without suitable technological support for strong (9 of 23 courses we examined) (see Table 1). CASCON 2017, November 2017, Markham, Canada Nikita Sokolov and Nazim H. Madhavji This motivated us to describe our experience with a cloud-based the benefits of using the cloud in such computation-heavy fieldsas infrastructure (specifically Bluemix) in a SA course in the hope proteomics research. that this would be of some use to others. Most of our observations Finally, Coccoli et al. [8] describe a course in software engineer- on using cloud as an educational tool are positive, among which ing degree using IBM Bluemix, which enables students to "start are gentle learning curve, technology heterogeneity and simplified implementing sophisticated functionalities for their apps without database maintenance, as described in detail in the paper. We also having to worry about databases, server connections, security is- captured lessons learnt from two iterations of this course. sues, etc., which are ready-to-use services of the platform, and The rest of the paper is organised as follows: Section 2 describes thus transparent to the developer." They show that the use of the related work, including an explanation of our analysis of SA courses cloud reduces the need to spend a significant amount of time on the from notable institutes around the globe, and identifies the gap in described system-provided functions and lets the students focus the literature concerning the use of cloud platforms in SA courses. on such aspects as core application features as part of teamwork, Section 3 gives a description of the Western’s course and project which "is an essential skill for students to acquire; learning and on SA. Section 4 compares three different projects, as illustrative practicing this skill can give a preview of their future team-working examples, from those that were carried out over two iterations of experience." the course. Section 5 discusses some observations and Section 6 describes lessons learnt and recommendations. Finally, Section 7 2.2 State of Practice in Software Architecture concludes the paper. Courses 2 RELATED WORK Table 2 presents the data we gathered by visiting SA (or sim- ilar/related) course-websites from Canadian, US and European First, in Section 2.1, we describe relevant background literature in universities. The universities were shortlisted from the top 200 relation to SA courses in tertiary institutions and the use of cloud listed in the QS World University Rankings by Computer Science computing in an educational setting. This is followed, in Section 2.2, & Information Systems in 2016 (https://www.topuniversities.com/ by our analysis of SA courses in North America and Europe from subject-rankings/2016). We also attempted to gather data from uni- the point of view of using cloud technology. Finally, Section 2.3 versities in Australia and Asia, but didn’t find adequate amount of gives an analysis of the gap in pedagogy that the Western course or satisfactory public information to justify their inclusion in our on SA aims to fill. list. 2.1 Background Literature 1 Typically, the title of the course either highlights architectural aspect (e.g. "Software Design and Architecture" at the University of One of the first courses designed to bridge the gap between low- Waterloo; "Architectures for Software Systems" at Carnegie Mellon level knowledge (algorithms, data structures, operating systems) University Institute for Software Research) or specific approaches and high-level project work is described by Garlan et al. [5]. An used in teaching software architectures (e.g. "Cloud Computing important conclusion by the authors, derived from this experience, and Big Data" at the University of Oxford, "Enterprise and Service- is that "... abstract model must be related to a real example, so that Oriented Architecture" at Ecole Polytechnique Federale de Lau- the student not only learns the abstract view of the architecture, but sanne). Also, some of the courses have generic names (e.g. "Soft- also the characteristics of a concrete instance of that architecture". ware Engineering" at the University of California, Berkeley), but we They

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    8 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us