Currently, there is no widely accepted standard for provisioning virtual infrastructure from Infrastructure as a Service (IaaS) providers. Each provider has its own interfaces and protocols, making it challenging to seamlessly integrate different providers into a single infrastructure. However, Aneka's resource provisioning service addresses these issues by abstracting away the differences in providers' implementations.
When designing software systems to support the execution of applications in hybrid and dynamic environments, several guidelines and features need to be considered:
Support for Heterogeneity: Hybrid clouds consist of heterogeneous resources such as clusters, public or private virtual infrastructures, and workstations. To integrate additional cloud service providers without major changes to the system design and codebase, the code specific to a particular provider should be isolated behind interfaces and within pluggable components.
Support for Dynamic and Open Systems: Hybrid clouds change their composition and topology over time based on dynamic conditions and specific Service Level Agreements. An open and extensible architecture that allows for easy integration of new components and features is valuable. Inversion of control and dependency injection in component-based systems can be beneficial in achieving this flexibility.
Support for Basic VM Operation Management: Hybrid clouds integrate virtual infrastructures with existing physical systems. Software frameworks that support hypervisor-based execution should implement basic operations such as requesting a virtual instance, controlling its status, terminating its execution, and keeping track of requested instances.
Support for Flexible Scheduling Policies: The heterogeneity of resources in a hybrid infrastructure requires flexible scheduling policies. Public and private resources may have different utilization patterns, and the workload should be dynamically partitioned into different streams based on security and quality of service (QoS) requirements. Configurable scheduling policies play a vital role in adapting to changing requirements with minimal impact on the existing infrastructure.
Support for Workload Monitoring: Workload monitoring becomes crucial in hybrid clouds where leased resources can be dismissed when no longer needed. Integrating workload monitoring with scheduling policies ensures efficient management of virtual instances and their leases. Monitoring helps in resource optimization and ensuring that resources are used effectively.
These guidelines, as outlined by the authors, are essential for successfully deploying and managing hybrid clouds. While not extensively mentioned in the list, security is a transversal aspect that needs to be considered across all the features. Implementing a Defense in Depth security model is recommended to address security concerns in any runtime environment, particularly in heterogeneous systems like hybrid clouds, where both applications and resources can pose threats to each other.
Comments