A Survey on the Adoption of Patterns for Engineering Software for the Cloud

Abstract : This work takes as a starting point a collection of patterns for engineering software for the cloud and tries to find how they are regarded and adopted by professionals. Existing literature assessed the adoption of cloud computing with a focus on business and technological aspects and fall short in grasping a holistic view of the underlying approaches. Other authors delved into how independent patterns can be discovered (mined) and verified, but do not provide insights on their adoption. We investigate (1) their relevance for professional software developers, (2) the extent to which product and company characteristics influence their adoption, and (3) how adopting some patterns might correlate with the likelihood of adopting others. For this purpose, we surveyed practitioners using an online questionnaire (n = 102). Among other findings, we conclude that most companies use these patterns, with the overwhelming majority (97%) using at least one. We observe that the mean pattern adoption tends to increase as companies mature, namely when varying the product operation complexity, active monthly users, and company size. Finally, we search for correlations in the adoption of specific patterns and attempt to infer causation among them, further hinting on how some practices are dependent or influence the adoption of others. We conclude that there are patterns of practices adoption that best correlates with a specific company and product characteristics, as well as relationships between the patterns that were not covered by the original pattern language and which might deserve further investigation.
 EXISTING SYSTEM :
 ? The topology of the system will evolve with time, with new services joining existing ones, and others leaving in real-time. ? Enforcing resource limitation introduces an overhead per se, which might have an impact on remaining existing systems. ? Failure injection can exercise the existing resilience mechanisms by randomly introducing errors in the infrastructure, such as randomly shutting down machines, and verifying that the system recovers automatically. ? The authors believe that these three DevOps patterns will help researchers and newcomers to cloud orchestration to identify and adopt existing best practices earlier, hence, simplifying software life cycle management.
 DISADVANTAGE :
 ? The variability model then allows to define the pattern selection as a variability management problem in three dimensions that distinguishes internal (provider-based deployment) and external (application and application access) perspectives. ? New applications take long for deployment, causing problems with adapting to changes. ? A common problem during migration is the need to refactor the architecture if the aim is to fully benefit from cloud performance and flexibility promises. ? The application profile captures properties of the on-premise application that might impact on its migration.
 PROPOSED SYSTEM :
 • The first is a case study with five local startups, relating their practices with the ones proposed in the pattern language. • We also target this work at cloud researchers, providing them empirical data regarding cloud adoption in the industry, and an extensive discussion relating the captured data to the proposed best practices. • The proposed solution properly balances those forces, providing a reliable implementation of the solution for the problem identified in the pattern. • The proposed patterns identify such forces and provide implementation details that balance these forces.
 ADVANTAGE :
 ? Re-architecting into independent components reduces dependencies and enables optimization for scalability and performance. ? To account for the situational context of applications, e.g., security, performance, availability needs, existing approaches suggest a trade-off between flexibility and ease of migration using a fixed set of migration strategies. ? These constraint types include financial, organizational, security, communication, performance and availability constraints. ? Abandon the own payment application and rent a typically more generic cloud service, which needs to be evaluated regarding security, performance, and usability. ? Value-added services from the cloud such as caching can maximize performance when retrieving data or can cache output, session state and profile information.

We have more than 145000 Documents , PPT and Research Papers

Have a question ?

Mail us : info@nibode.com