Duringpeak demand period companies need to expand their data into public cloud, butthis expansion may be has security limitation.Corporationsdepend on cloud computing to allocate resources, increase scalability,availability and gain lower cost (Total cost ownership) using utility pricingmodel.Typesof clouds:1-privatecloud2-publiccloud3-Hybridcloud: expand private cloud using public cloud.4-federatedcloud: moving workloads between multiple providers according to pricing and otherfactors.
Scalibilityis one of on demand resource advantages such as shopping season, corporationscan access temporarily resources called cloud bursting.Privatecloud is limited in size so mixing it with public resources leads to higher andflexible performance,but we should take in consideration that protection is difficult while sharinghardware because it is not total secured if hardware is controlled by anotherenterprise.Partioning:Partitionedapplication : transform an application to more than one portion and collectcode units mutuality in dimensions.
Whilepartitioning we should know portions that should be in public and thing thatshouldn’t be leaked outside private cloud if it is private information orsensitive code.Transforman application to units of code but we should know which units forprivate, which for public and which code units could be accessed by both ofthem.Tosolve this problem:Annotation:we should annotate units that should be in private or both (public and private)such as: some codes in payment cardindustry should be annotated to be in private cloud (credit card handlingcode).Wehave five annotations: 1-immmobile:we should take this type on annotations in consideration because it shouldn’t be leaked out privatecloud2-mobile:this type depends on our needs, we can put it in private cloud or not.3-Dependson:this type is dependent on code units.
4-DependsonBy:Dependson annotation, annotated units and the state are the items that thistype depends on. The state determines which unit is consumed in the app. storedstate.Patterndesign is very common in web applications and consumes single URL for receivedrequests. In this pattern designs there are code units used in thisimplementation, this units are identified by Front Controller type ofannotations.FrontController: this type is a method while dependencies analyzing to discard thecode but in static mode it depends on all units. In running mode the dependencyon units that help to answer specific request.
Secondstep after annotation is dependencydetection step :Every code units have code units that depend on it and others that this code units depend on.The static code analysis let us know the dependencies in the code. The resultof this second step is graphCode units are represented by nodes and theedges represent and determine the dependency.b)show the cascading label processThe Cascading labels:This step consists of iterations if code unitdepends on immobile node it will be denoted as Implied Immobile and this code units shouldn’t be leaked out topublic cloud.
If code unit depend on mobile units it will be denoted as impliedmobile and after this iteration the new impliedmobile and the new impliedimmobile will follow the same procedure of the nodes at the last iteration. If any problem happens, this step will let the developer know that the immobile nodeis not immobile.At the end application transformation step:In this step we apply conversion andtransformation to create mobile portion and immobile portion so mobile unitswill be in mobile portion and the same for immobile units in immobile portion.The dead code in this step happens if immobile units used to call mobile code. The immobile portion is flexiblebecause it consists of immobile code units and the nodes which they depend onit , this dependencies nodes could be mobile and could be immobile.