Browsing by Author "Mwotil, Alex"
Now showing 1 - 4 of 4
Results Per Page
Sort Options
Item Crane Cloud: A resilient multi-cloud service abstraction layer for resource-constrained settings(Development Engineering, 2022) Bainomugisha, Engineer; Mwotil, AlexDevelopers and users situated in low-resource settings are faced with unique contextual and infrastructure challenges when accessing and consuming cloud-based services. In low-resource settings, access to cloud services and platforms is usually characterized by low-end computing devices and often unreliable and slow mobile broadband Internet connections. In this paper, we discuss key challenges for developing for and accessing cloud services in resource constrained settings, namely, (1) Frequent Internet partitions and bandwidth constraints, (2) Data jurisdiction restrictions, (3) Vendor lock-in, and (4) Poor quality of service. Inspired by these challenges, we propose a set of important design considerations and properties for a resilient multi-cloud service layer, that includes: (1) Containerization and orchestration of applications, (2) Application placement and replication, (3) Portability and multi-cloud migration, (4) Resilience to network partitions and bandwidth constraints, (5) Automated service discovery and load balancing, (6) Localized image registry, and (7) Support for platform monitoring and management. We present an implementation and validation case study, Crane Cloud, an open source multi-cloud service abstraction layer built on-top of Kubernetes that is designed with inherent support for resilience to network partitions, microservice orchestration (deployment, scaling and management of containerized applications), a localized image registry, support for migration of services between private and public clouds to avoid vendor lock-in issues and platform monitoring. We evaluate the performance and user experience of Crane Cloud by implementing and deploying a computational and bandwidth intensive machine learning system. The results show lower response times of the system on Crane Cloud compared with hosting on other public clouds. The Crane Cloud platform is serving as a cloud-service for students and developers in low-resource settings and also as an education platform for cloud computing.Item Crane Cloud: a resilient multi-cloud service layer for resource constrained settings(Makerere University, 2021) Bainomugisha, Engineer; Mwotil, AlexWhereas the main cloud providers have set up cloud services on stable infrastructure, developers and users situated in low-resource settings access cloud services and platforms using low-end computing devices that often connect to the Internet via slow mobile connections. These settings require custom software abstraction layers that consider such bandwidth constraints and intermittent connections as a rule rather than the exception. In this paper, we identify key challenges for developing for and accessing cloud services in resource constrained settings, namely, (1) Frequent Internet partitions and bandwidth constraints, (2) Data jurisdiction restrictions, (3) Vendor lock-in, and (4) Poor quality of service. To address these challenges, we propose a set of design considerations and properties for a resilient multi-cloud service layer, that includes: (1) Containerisation and orchestration of applications, (2) Service scheduling and replication, (3) Portability and multi-cloud migration, (4) Resilience to network partitions and bandwidth constraints, (5) Automated service discovery and load balancing, (6) Localised image registry, and (7) Support for platform monitoring and management. We present a prototype validation case study, Crane Cloud, an open source multi-cloud service abstraction layer built on-top of Kubernetes that is designed with inherent support for resilience to network partitions, microservice orchestration (deployment, scaling and management of containerized applications)a localized image registry, support for migration of services between private and public clouds to avoid vendor lock-in issues and platform monitoring. We evaluate the performance and user experience of Crane Cloud by implementing and deploying a computational and bandwidth intensive machine learning system shows lower response time compared when hosted on other public clouds.Item mira: an Application Containerisation Pipeline for Small Software Development Teams in Low Resource Settings(Middle East Conference on Software Engineering, 2022) Mwotil, Alex; Bainomugisha, Engineer; Araka, Stephen G.M.Cloud native applications leverage Development and Operation (DevOps), microservice architectures and containerisation for primarily availability, resilience and scalability reasons. Small developer teams in low resource settings have unique DevOps needs and harnessing its principles and practices is technically challenging and distinctly difficult in these contexts. We conducted a survey with professional developers, students and researchers situated and working in a low resource setting and the results indicate that these principles and practices are relatively new. In application containerisation, an operating system virtualisation method that can significantly optimize the use of computing resources, the respondents indicated challenges in the process steps. Particularly, small developer teams in low resource settings require custom tools and abstractions for software development and delivery automation. Informed by the developer needs, we designed and developed a custom automated containerisation pipeline, mira, for a managed cloud native platform situated in a low-resource setting. We validate mira against 6 major application frameworks, tools and/or languages and successful deployment of the resultant applications onto a cloud native platform.Item Mira: an Application Containerization Pipeline for Small Software Development Teams in Low Resource Settings(Development Engineering, 2022) Mwotil, Alex; Bainomugisha, Engineer; Araka, Stephen G.M.Cloud native applications leverage Development and Operation (DevOps), microservice architectures and containerisation for primarily availability, resilience and scalability reasons. Small developer teams in low resource settings have unique DevOps needs and harnessing its principles and practices is technically challenging and distinctly difficult in these contexts. We conducted a survey with professional developers, students and researchers situated and working in a low resource setting and the results indicate that these principles and practices are relatively new. In application containerisation, an operating system virtualisation method that can significantly optimize the use of computing resources, the respondents indicated challenges in the process steps. Particularly, small developer teams in low resource settings require custom tools and abstractions for software development and delivery automation. Informed by the developer needs, we designed and developed a custom automated containerisation pipeline, mira, for a managed cloud native platform situated in a low-resource setting. We validate mira against 6 major application frameworks, tools and/or languages and successful deployment of the resultant applications onto a cloud native platform.