Internati o nal  Journal of Ele c trical   and Computer  Engineering  (IJE CE)  V o l.  6, N o . 2 ,  A p r il  201 6, p p 70 8 ~ 71 I S SN : 208 8-8 7 0 8 D O I :  10.115 91 /ij ece.v6 i 2.8 270          7 08     Jo urn a l  h o me pa ge : h ttp ://iaesjo u r na l.com/ o n lin e/ind e x.ph p / IJECE  A M o del  Dri v en Fram ework for Portabl e  Cloud S e rvi ces       A p a r na  V i j aya *, N eela n a r ay anan V *    * School of  Com puter Science  an d Engin eering ,   Vello re Institu te  of Technolog y   C h ennai  Cam pus,  India      Article Info    A B STRAC T Article histo r y:  Received J u 4, 2015  Rev i sed  No 28 , 20 15  Accepted Dec 17, 2015      Cloud Computing is an evolving  technolog y  as it offers significant benefits  like p a y onl y for  what  you us e ,  s cal e th e res our ce s  accord ing to  th e ne eds  and   less in-house staff and r e sources. These  b e nef its  have r e sulted  in  tremendous   increase in the n u mber of applications  and services hosted in the cloud which  inturn has resulted in incr ease in the number of cloud providers in the  market. C l oud s e rvice provid e rs have  a lo t of h e terogen e ity   in  th e resources  they  use. Th ey  h a ve th eir  own server s, diff eren t cloud infrastru ctu r es, API’s  and methods to access the clo ud resour ces. Despite its benefits; lack o f   standards among service provid e r s  has  caused a high level of vendor lock-in   when a s o ftware  develop e r tri e s  t o  change   its clou d provider. In  this paper we  give  an ov erview on the ongoing and  curren t   trends in  the ar ea of  clou d   service portability  and we also pr opos e a new cloud portability  p l atform. Our  new platform is based on establishi ng f eatur e models which offers the  desired cloud p o rtability .  Our soluti on DSky L uses feature models and  domain model analy s is  to support  develo pment,  customization and   deplo y m e nt of application com p onents across m u ltipl e  clouds.  T h e m a in goal  of our approach is to reduce the effor t  and  time need ed  for porting   applications acr oss different clo uds. Th is paper aims to give an overview on  DSky L. Keyword:  Feat ure  M o del   Het e r oge n ous  cl ou d   M odel  dri v en  devel opm ent   Platform  agn o s tic   Copyright ©  201 6 Institut e  o f   Ad vanced  Engin eer ing and S c i e nce.  All rights re se rve d Co rresp ond i ng  Autho r Apa r na Vijay a   Sch ool   o f  C o m put e r  Sci e nce a n d  E ngi neeri n g ,   V e llo re In stitu te of Tech no logy Ch enn a i Cam p u s Ch enn a i 6 001 27 , Tam i N a du In d i a.  Em a il: ap arn a v8 5@g m ai l.co m       1.   INTRODUCTION   Soft ware i n d u s t ry  i s  now i n  a  t r ansi t i on p h a s e from  deskt o p com put i ng t o  cl ou d com p u t i ng. C l o u d   com put i ng of f e rs  se veral  be nefi t s   i n cl udi n g  vi rt ual i zed  har d ware  i n f r a st ruct u r e, use r   sel f  pr o v i s i oni ng ,   el ast i c i t y  and pay  per u s e. I n  t h i s  era of cl ou di fi cat i o n t h ere i s  enorm o u s  num ber of cl ou d p r o v i d e r i n  t h mark et. Th mark et k e ep m o v i n g   o n  and  th e ab ility to  su rv iv e in  a m a rk et crow ded   w ith  cloud   v e ndors  becom e s a tedious tas k . E v e r y cloud  ve ndor try to introduc e  flexibility in their offe ring so as to a d a p t to the  mark et and to surv i v e. Th is  flex ib ility creates a lo of con f u s ion am o n g  th u s ers and th ereb y cho o s in g a  cl ou d p r o v i d e r  becom e m o re or l e ss a g u es si ng  gam e . User nee d s m i ght  be sat i s fi ed at  i n cept i o n by  a  cl ou v e ndo r,  b u t   u s er   n eed s ch ange b a sed   on  their  bu sin e ss escalatio n s  A t  this po in t sw itchin g  cl ou d pr ovid e r s   can c o m e  at a cost. T h e r e m i ght  be  hidde n  l o ck-in cost s  wi th a s p ecific cl oud  provid e r   or proprietary s e rvice  m odel  such  as  t h e c o st   of  m ovi ng c ode   and  dat a   fr om  o n e cl o u d  se rvi ce  pr o v i d e r  t o  a not her  m i ght   be   p r oh ib itiv e. It  is n o t  on ly m o v i ng  in to  and   o u t   o f  a cloud   en v i ron m en t a co stly en d e avo r , bu t task s su ch  as  refactoring  th e co d e  can   result in  u n e xpecte d  costs.  In s o me scenarios,  t h i s  swi t c h nee d ed m a jor c h a nge s i n   soft ware  an d c a use d   pr oject   d e l a y s  and  eve n   pr o duct i v i t y  l o sses.   C l ou d com put i ng  [ 1 ] ,  [ 2 ]  ena b l e s an  o r ga ni zat i on t o   de pl o y  and  ru n t h ei r  appl i cat i o ns i n  a  pl at fo rm     main tain ed   b y  th ird   p a rty cl o u d   prov id ers rath er t h an main tain in g   t h eir  own  d a ta cen ters. Org a nizatio n s   (cust o m e rs)  re nt   t h res o urc e of  t h cl o u d , IaaS on w h i c ap pl i cat i o n s   can be  de pl oy ed or PaaS whe r Evaluation Warning : The document was created with Spire.PDF for Python.
                      I S SN 2 088 -87 08  IJEC E V o l .  6, No . 2, A p ri l  20 16   :    70 8 – 7 1 6   70 9 devel ope rs ca n create their  own Saa S  applications. Final l y, end  user access and us e the de ploye d  Saa S   ap p lication s . In  th is scen ari o  o f   cloud adoption,  users  of PaaS se rvi ces are raisin g  th e q u e stio n o f  th p o rtab ility o f   th eir app licatio n s   fro m  o n e  p r o v i d e r to  a d i fferen t   o n e , o r  ev en   b ack to  th e d a ta cen t er.  Porta b ility is  the ability to  m ove a p plications am ong  diffe rent platform s without ha vi ng to rewrite it partly or  fu lly. It is t h p r erequ i site for bu ild i n g tru l y  ag ile and   flex i b le system s th at d o  no t lo ck   in  th eir u s ers.  Du e to   t h e en orm ous   num ber  of cl o u d  p r o v i d e r s i n  t h e m a rket   and the i n crea sing  num b er of services  offe red  or  created,  portability of service s  is now bec o m i ng a  m a jor conce r n.W i t h  the cloud  becom i ng m o re com p etitive  an d  so m e  p r o v id ers are at lo ng -term  stab ilit y risk s, d e v e lop e rs  o r  cu st o m ers h a v e  to  u n d e rstan d  th at ad h e ring  to a s p ecific vendor’s  Platform  as a  Service (PaaS) ca be  a risk beca use   of   the u n eve n  sup p o rt fo r platform   feat ure s  by   di f f ere n t  cl o ud  p r ovi ders Whe n  t h ere a r e m u l t ip le op tio n s  in   p r i v ate as well  as pu b lic cloud , it is  a v e ry challeng ing  task  to iden tify th e b e st  su ited cloud   p r ov id er for an   o r g a n i zatio n .  Prov id ers  h a ve tried  introducing  ne w se rvices, ent e red t h ope n s o u r ce wo rl d ,   m e rge d  wi t h  gi ant s  in t h e cloud m a rket and s o   on t o   with stand  th e co m p etitio n .  Th ey h a v e  tried red u c i n g  th p r ice as th ey ch allen g e  each  o t h e r to  see h o w low  th ey can  go . Th is b a ttle led  man y  v e nd ors  fail in  th e m a r k et.  Wh en  we  h a v e  a  d i v e rsified  clo u d  strat e g y  it   g i v e s m u ltip le  op tio ns so  t h at we can  al ways h a n d l some o f  t h u n fo reseen   risks.  So m e ti mes th e clo ud  v e ndo rs fail to o f fer con tinu a l clo u d  serv ices. As a  resu lt th e ap p lication   th at is ho sted in  th e clou d b e co m e inaccessible affecting  busine ss conti nuity.  If the  services  are porta b le   the cha n ces  of res o urce s h a r ing  b e tween   th cl o u d s  are h i gh  wh ich  will  i m p r ov bu sin e ss co n tinu ity and   reliab ility.                        Seve ral ope n standards ,  APIs and t ools have  be en proposed [5] [6]  [7] [8] [9] [10] [11] in recent  years for ach iev i ng  clo u d  portab ility. A co m p arativ e stu d y  o f  v a ri o u s  ap pro ach es  h a s b een   d o n e  in  [1 ], [4 ]   an d is co n s o lidated  in  t h fo ll o w i n g tab l e.      Tabl 1. C o m p rat i v e St udy   of  Exi s t i n Ap p r oache s   Approach  Na m e   Languages  supported   Data Support   OS   Clouds Tested   Vendor  Independen t   Met h odology  adopt e OCCI  Java,  Ruby ,   er lang  A m azon   Cross  pla t form   OpenNebula,  mn e s i a   Yes  Cloud- specific  standards  Sim p leCloud PHP  Am azon S3 and  Nirv an ix  IMF S   Cross  pla t form   Z e nd Cloud   No    API   deltaCloud  Ruby   A m azon, swift,   walrus  Cross  pla t form   RackSpace,   OpenNebula,  AWS , GoGrid   No  API   jCloud java  A m azon   Cross  pla t form   RackSpace,   HpHelion,  AWS , GoGrid   No  API   mO S A I C   Java,  Py thon,   er lang,   node. j s   Riak,  CouchDB,   Me m c achDB,   Redis, My SQL,  Am azon S3,  HDFS   L i nux   Am azon E C 2,  OpenNabula,  Eucalyptus,      Yes      Multiagent Syste m /tool   OASIS  TOSC A   Java, PHP   MyS Q L   Linux  OpenStack  Yes  Cloud- specific  standards  Docker  Java,  Ruby ,   Per l ,  Py thon,   node. j s   Riak, Cassandra,  M ongoDB   L i nux   Azure, AWS,   OpenStack   Container  / tool  M ODA Clouds  Java,  Py thon,   er lang,   node. j s   Riak,  CouchDB,   Me m c achDB,   Redis, My SQL,  Am azon S3,  HDFS   Lin u x  Eu calyp tu Yes  M odel- dr iven  application  engineer ing   Openshif t   Java,  Py thon,   per l ,  Ruby PHP, .NE T   M ongoDB,   MyS Q L,   PostgreSQL,   M i cr osoft SQL  Server   L i nux  -   Yes  Hybrid Platf o r m  a s   a Service     Artist  Java  MyS Q L   Cross  pla t form   - Yes      2.   PROP OSE D  APP R O A CH   Fo r ach i ev ing ap p lication  po rtab ility we h a v e   u s ed  th e tech n i qu o f   m o d e l driv en  software  d e v e l o p m en t.   Mo d e d r i v en so ft w a re  d e v e lop m en t ai m s  to  in crease t h v i sib ility o f  know ledg e co m p ared to  th e trad ition a p r o cess  b y  exp licit rep r esen t a tio n   o f  i n fo rmatio n  th rou g h  m o d e ls. It  prov id es kno wl ed g e  at  d i fferen t  lev e ls o f  ab st ractio n; th at is it separate s th e con c ep tu al  d e tails fro m  th e i m p l emen tatio n  d e tails It  Evaluation Warning : The document was created with Spire.PDF for Python.
I J ECE   I S SN 208 8-8 7 0 8       A Mo del   Dri v e n  Fr a m ew ork  f o r P o rt abl e C l ou Servi ces   ( A pa rna  Vija ya)  71 0 al so p r om ot es aut o m a t i c  generat i on  o f  co d e  t o  o v erc o m e  t h e abst ract i o n ga bet w ee n  t h e m odel s  and t h e   im pl em ent a t i o n pl at f o rm .   The  m odels also  act as a common c o mm uni cat i on t e rm  bet w een st ake hol de rs an b u s i n ess du r i ng  r e qu ir em en ts  and  d e sign   Feat ure m odel i ng i s  i n depe n d e nt  of t h un d e rl y i ng p r o g r a m m i ng l a ngua ge. H o weve we ha ve use d   Jav a  as end  user p r og ramm i n g  langu ag e. Th e m a in   reaso n   for cho o sin g  Jav a  is th e g r eater flex ib ility   co m p ared  to  a cu sto m  d o m ai n  sp eci fic lan g u a g e   (DSL) and  it also  i m p r ov es reu s ab ility  o f   d o m ain  o b jects.  DS ky L’s  [1]   [ 4 ]  use r  i n t e r f a ce has t h ree  p a nel s  - t h di agram  edi t o r, t h pr ope rt y  pa nel  an d t h e  pa ckag e   ex p l o r er  p a n e l. Th e d i ag ram  ed ito r d i sp lays th d i agram  an d all th e elem en ts it co n t ain s , and allo ws the u s er  t o  d r ag  an dr op  ne feat u r e s  an d rel a t i o ns hi ps i n  t h e  edi t or . T h pr ope r t i e s panel  al l o ws  user s t o   vi e w  a n d   m odify the prope rties of every ele m ent. Packa g e E xpl ore r  dis p lays the ele m ent location  or element  hierarc h y.For each ele m ent which is dr oppe d into the dia g ram  panel, the st ring  give n in the property pa nel is  interpreted, and the  gra phical  represen tation o f  th at elem en t is  m o d i fied  acco rd ing  to  t h is in terpretatio n. Th is  i s  achi v ed  usi n g ja va re fl ect i ons AP I. T h e c ode i s   co m p iled  con tin uou sly in  th background, and immediate  feed bac k  i s  pr o v i d e d  t o  t h e en d use r  by  re dra w i n g t h e el em e n t. If the c o de contains errors , the affecte d  source   code  l i n es a r hi g h l i ght e d .   The t o pol ogy   of t h e a ppl i cat i on i s  re prese n t e d i n   term of feat ures as  a Feature Model. Feature   m odel  represe n t s  a t r ee w h o s e no des a r e t h e ap pl i cat i on  com pone nt s o r  feat ures , an wh ose e dge s are t h e   relatio n s   b e tween  th ese app licatio n  co mp on en ts as specified  in  Fi gu re  1 .   In   software  p r o d u c t  lin e   engi neeri n g ,   o n e ca n co n f i g u r e t h pr o duct   by  sel ect i ng t h e desi re feat u r es f r o m  a feat ure m odel   bas e on  cu sto m er’s fu nctio n a l requ iremen ts. Th e commo n a lities a n d   v a riation s  are id en tified  du ri n g   d o m ain  an alysis  and m odel e d a s  feat u r es i n  a  feat ure  m odel .  In  DS ky L fea t ure m odel is represe n ted as  a feature tree  whe r e   no des re p r esen t  feat ures an edge s rep r ese n t  t h e “sel ect i o n” rel a t i ons hi p s  am ong feat u r es. Fr om  a feat ure   m odel ,  a speci fi c vari at i o n of  a pro d u ct  can be de ri ve d by  sel ect i ng t h e d e si red feat ures  base d o n  cust o m er’ s   requirem ents and  feature rela tions hips  ca be specified in the feature model.   W e  ca have a n y  n u m b er  o f   co nfigu r ation   files.  Bu t o n l y  o n e   will b e  the cu rren t.   With  th e im p l e m e n tatio n   o f  t h e d o m ain  th ere are two  v a rian ts: Fro m  to p to   bo tto m   o r   fro m  th e bo t t o m  to  th e to p. Top   d o wn  ap pro a ch  starts wi th  th e con cep in  the  br oa dest  sense  whi c h t h en i n c l udes (c o n t a i n s )  ot he rs. I n  t h seco nd case,  w e  st art  wi t h  t h e basi c conce p t s W e   have  used t h e t op  do w n  ap pr o ach i n  DS ky L.  So we be gi wi t h  t h e co nce p t  of M o o d l e  appl i cat i o n. To  creat an  app licatio n ,  feature m o du l e s are co m p o s ed  t o g e t h er.  Th file con t ainin g  th e class  defin itio n we  pu t in t o   the folde r  Clas ses/Dom a in/Model/ a n re na m e  it accordi n g to the last  pa rt  of the  class  nam e : Moodle. php.   A new  feat ure is  created with the  fo llowing  attrib u t es and  then  th e bu si n e ss lo g i c is add e d   to  it.    public  Feat ure ( FeatureM odel featureM odel, String nam e   this.featureModel  featureModel;     th is.n am n a me;     th is.m an d a to ry   false;     th is.con cret  t r u e ;     th is.m u ltip le  false;    th is.h i d d e n   false;    this.constrai n tSelected  fals e;      t h i s .col or =  ne w c o l o r (t hi s);       t h i s .l ocat i o n =  new  feat ureP oi nt  ( 0 ,  0 ) ;     th is.d escrip tion  nu ll;    th is.p aren nu ll;   }    Out  t ool  s u pp o r t s  di f f e r ent  t y pes  of  rel a t i o n s hi bet w een  t h ese  feat u r es  whi c h act s as   ou dom ai n o b j ect s.  few  o f  t h em  al on wi t h  t h ei not at i o ns a r r e prese n t e d  bel o w:     Op tion a l     M a ndat o ry     Altern ativ e (OR)    R e qui re s     Uses     Im pl em ent a ti on     Gen e ralizatio   Co m p o s itio Mu ltip licities  are also  add e d to  th efeatu r m o d e l. W e  use th m u ltip lic ity n o t atio n  to  ex press th constraint for t h e selection  of feature s  from   the set. Th e m u ltiplicity 1...* tells us, we  ha ve to c h oose at  least  o n e   o f  t h e possib ilities, b u t  we mig h t  also  choo se all o f  th em . Th ere are ru les  wh i c h  are asso ciated  to   Evaluation Warning : The document was created with Spire.PDF for Python.
                      I S SN 2 088 -87 08  IJEC E V o l .  6, No . 2, A p ri l  20 16   :    70 8 – 7 1 6   71 1 featu r es.  Durin g  t h e v a lid ati o n   o f   do m a in   o b j ects th busin ess log i c often  lo ok for th e prop erties o f  the  objects present .  This com e into ef fect  du ri ng feat ure sel e ct i on. S o m e  ru l e s whi c h are  prese n t  i n  ou r m odel   are:    "X AL WA YS Y:  = If X  is   selected  the n  Y  is  selected in eve r y valid confi g uration."     "X MAYBE  Y: = If X is selected  th en   Y is  selected  in  at l east on b u t   not all v a lid  co nfig uration s .”     "X  NEVER  Y: = If X is selected  th en   Y can n o t   b e  selected  in an v a lid  co nfigu r ation."    As a fi rst  st ep  feat ures a nd t h ei r rel a t i o nsh i ps are i d ent i f i e d by  u nde rst a ndi ng a nd a n al y z i ng t h dom ain. T h en  feature s  are  re prese n ted using the  feat ur m odels. Based on the  feat ure s  which a r e se lected,  specific program s  are co m pose d . E ach fe ature will be im plem ented  as  a differe nt   m odule to enha nc e   reu s ab ility. Thu s   v a rian ts of  an  ap p licatio n are creat ed   by selectin g  and  im p l e m en tin g  feat u r es as  p e r t h req u irem ents. In Fig u re   1 b ,  we depi ct a si m p le exa m ple of three clas s e s and  four fe ature m o dules. The  classes are ass o ciated to diffe r ent  feat ur es. I n  or der  t o  gene rat e   p r o g r am classes of the  selected features are   com posed  wi t h  a t o ol . T h i s   w a y ,  m a ny  di ffer e nt   program s  can  be c r eated  from  a set of fe atures.  Havi ng the  application t o pol ogy  rea d y, the  ne xt  step is t o  m odel depl oym e nt topol ogy and build  pl an as speci fi ed i n  Fi gu re 1  and  2. DS ky L uses B P M N  n o t a t i on t o  m odel  t h e bui l d  pl a n . F o r de pl oy m e nt , a  B P M N   wo rk fl ow  t h at   pr o v i s i ons  t h e  M o odl e ap pl i cat i on  o n   Am azon EC vi rt ual  m achi n es i s  at t ache d Th e   workflow i n stalls th e app licatio n s  as  d e fin e d in  th e t o p o l o gy  an d est a bl i s hes t h e c o n n ect sT o rel a t i on  by   assi gni ng  t h I P  ad dr ess  of  t h e M y SQL in stan ce to  t h e M o od le co nfig ur at i on on   t h e A p ache  W e b Se rve r .   After  fin i sh ing  m o d e ling ,  th e b ack end  allows for expo r tin g  a C S AR  file co n t ai n i ng  all requ ired  d e fin itio ns.  Th resu ltin CSAR  file d e p l o y s t h e im p l e m en tatio n  art i facts and  t h e m a n a g e m e n t   p l an s to  app r op riate  runtim e environm ents. Finally, the  users ca n instantiate an application i n s t ance.          Fi gu re  1.  De pl oy m e nt  M odel   fo r M o o d l e   Evaluation Warning : The document was created with Spire.PDF for Python.
I J ECE   I S SN 208 8-8 7 0 8       A Mo del   Dri v e n  Fr a m ew ork  f o r P o rt abl e C l ou Servi ces   ( A pa rna  Vija ya)  71 2     Fi gu re  2.  B u i l d  Pl an  f o r M o od l e       The Cloud Se rvice Archi v [12],  [13]  is a co n t ain e file wh ich   ho ld s t h serv ice tem p late o f  a cloud   application, all  artifacts  requi r ed to  m a nage  the lifecycle  of the c o rres p on di n g  cl o u d   appl i cat i o n (i . e . t h im pl em ent a t i o n a r t i f act s o f  t h ope rat i o ns  of  t h n ode   typ e s) as  well as all artifacts t o  ex ecu te th clo ud  application (i.e . the de ploym e nt artifacts of the node  typ e s lik e v i rt u a l i m a g es, EJBs,  WSDL files, SQL  DDL  etc). These fil e s are typically orga ni zed in several subdirectories each  of  whic h contains related files .  Each  C S AR  m u st  co nt ai n a su bdi re ct ory  cal l e d M e t a -In f. T h i s   subdirect ory must contain a  so -called  m a n i fest file.  Th is file is n a med  MANIFEST and  h a s th e file ex ten s io n   .MF. It represen ts m e tad a ta o f  th e o t h e r files in  th CSAR. T h ese  metadata are give n in the form at of  nam e / v al ue p a i r s.  These  nam e / v al ue pai r ( <name > :   <val ue> ) are  or ga ni zed i n   bl ock s . Eac h  bl o c k p r o v i d es m e t a data of a ce rtain artifact of the CSAR. T h e first  b l o c k   o f  th e m a n i fest  file prov id es m e tad a ta  of th e CS AR  itself (e.g . its v e rsion ,  creator etc) as  fo llows:    M a ni fest - V ersi on:  x. x   C S AR - V ersi on :  x.y   Created-By: te st  En try-Serv ice-Tem p late : file n a m e  th at is th e en try  po in for th e clou d applicatio n .   Each   o t h e b l ock  b e g i ns with   a n a m e /v alu e  p a ir th at po in t to  an  artifact wi th in  th e CSAR  b y  m ean s o f  a p a th- nam e  as sho w n  i n  Fi gu re  3.     Evaluation Warning : The document was created with Spire.PDF for Python.
                      I S SN 2 088 -87 08  IJEC E V o l .  6, No . 2, A p ri l  20 16   :    70 8 – 7 1 6   71 3     Fi gu re 3.   M a ni fest  file      The st r u ct u r of a ppl i cat i o ns  i s  defi ne d by  a t o p o l o gy  a gra p h o f  t y ped  no des a nd  di r ect ed t y ped   edge s. N o des  rep r ese n t  com p o n e n t s  f o rm ing a n  ap pl i cat i on /  feat u r es  and e d ges de fi ne t h e rel a t i o n s  and   depe n d enci es  bet w ee n t h em . For i n st ance,  t h e t o p o l o gy  o f  t h e m oodl e a ppl i cat i o n (Fi g ure  1) c o n s i s t s  of t h e   act ual  P H P m o d u l e ,  an  A p a c he  We b Se r v er, a  M y SQL   dat a base , t w o   ope rat i n g sy st e m s (one  fo r t h W e b   serve r  an one  fo r t h e M y SQ L dat a base ), a n d t w vi rt ua l  m achi n es. T h rel a t i ons hi ps i n  t h i s  t o pol ogy  defi ne fo r i n st a n ce, t h at  t h e M o odl appl i cat i o n i s   host e on  a  Web se rve r  a nd t h at  t h e a ppl i c a t i on c o n n ect s t o  t h e   M y SQL dat a b a se. The  t y pes  of  n odes a n d r e l a t i onshi ps s p eci fy  t h ei r p r o p ert i e s a nd m a nagem e nt  o p er at i ons.   The t y pe  A p ac he W e Ser v er  defi nes  pr ope rt i e s, suc h  as  p o r t  o r  ve rsi o n,  a nd m a nagem e nt  ope rat i o n s , s u ch as  st art  or  depl oy .  The act ual  i m pl em ent a t i on o f  a n ode i s   pr o v i d e d  by   one  o r  m a ny  Depl oy m e nt  Art i f act s,  e. g. a Linux VM i m age, an ope r ating sy stem  package  for the  Ap ache   W e Server, or a n  a r chi v e c ontaini ng the   PHP files of Mo od le. In  add itio n, typ e m a d e fi n e  Im p l e m en tatio n  Artifacts th at i m p l e m en t th m a n a g e m e n t   o p e ration s  for th e resp ectiv ele m en t. Th e ap p lication  to polo g y  and  related  artifacts are b und led  in to  a Clo ud  Service ARchi v e (CSAR),  which is a  st and a rdi z e d  pac k ag i ng f o rm at  for appl i cat i o ns. A ppl i cat i o n t o p o l ogi es   can b e  p r oc ess e d i n  a n  i m perat i v e or   declarative way: Im perative proces sin g   relies on  the i m p l e m en tati o n   of  m a nagem e nt  p l ans t h at  ca b e  exec ut ed  f u l l y  aut o m a t e d t o   per f o r m  t h e desi re d m a nag e m e nt  t a sk, e .   g.,  t o   in stan tiate, b a ck up up grade, o r   te rm inate an application. T h ese  hi gh le vel m a n a gem e nt tasks are  im pl em ent e d by  orche s t r at i n g  l o w l e vel  m a nagem e nt  ope r a t i ons p r ovi de d by  Im pl em ent a t i on  Art i f ac t s  of   no des a n d rel a t i ons hi ps . Si nce  t h e m a nagem e nt  pl a n s are   t y pi cal l y  im pl ement e by  t h e a p pl i cat i on  devel ope r,   t h ey  enabl e   op erat or s t o  m a nage t h e a ppl i c a t i on by  r u nni n g  p r ede f i n e d   p l ans wi t h out  t h e need t o  u n d e r st an al l  t h e t echni cal  det a i l s  of  t h e m a nagem e nt  t a sk. Te chni cal l y , m a nagem e nt  pl a n s are  i m pl em ent e d as   wo rk fl o w s.  De cl arat i v e p r oce ssi ng on  t h ot he han d ,  sh i f t s  t h depl oy m e nt  and  m a nagem e nt  l ogi c  fr om   pl ans  t o  t h e r u nt im e. To  per f o rm  t h e af ore m ent i oned  hi g h -l e v el  m a nagem e nt  t a sks, t h e r unt i m e has t o   kn o w   th e op eratio ns  th at h a v e  t o   b e  called  an d th eir ord e r.  Decl a r at i v e pr ocessi ng   i s  wel l   sui t e d fo t h e depl o y m e nt  o f  sim p le ap p licatio n s  bu t is no t ab le to  facilitate co m p lex  man a g e m e n t  ta sk s fo v a ri o u s k i nd s of app licatio structures.   In  o r de r t o   po rt  an a p pl i cat i on,      Speci fy  t h no des a n no de t y pes a n d  m odel  t h e ap pl i cat i o n se rvi ce t o p o l ogy .     •  Create artifacts  of the  softwa re  wh ich  n e ed s to   b e   in stalled .      Ide n t i f y  an de scri be t h rel a t i ons hi p  bet w ee n t h e  com p o n e n t s .   •  Gen e rate th e bu ild   p l an  and   write th e resp ectiv e p a ram e te r to inv o k e  t h serv ice.    •  Upl o ad it to t h e container and invoke  th e serv ice to   u s e th ap p lication .   Po rtab ility is en sured   b y  th e t w o eng i n e work i n g tog e th er  wh en   b i n d i n g   man a g e m e n t  plan s.  Strict  separation of  architectural com pone nts through wellde f ined  OS Gi interfaces e n able s the replace m e nt of  im plem entatio ns of c o m ponents. T h is also allows  each com pone nt to be  scaled i nde pe nde ntly.  Afte upl oadi ng  t h e   C S AR , t h dep l oym ent  of  t h appl i cat i o n f o l l o ws  t h ree st e p s :   1.    Fi rst ,  t h e C S A R  i s  unpac k ed  and t h e fi l e s ar e put  i n t o  t h e F i l e s st ore, whi c h i s  backe d  ei t h er by  t h e l o ca l   fi l e  sy st em  or  Am azon S 3 .   2.    The n , t h XM L fi l e s are  l o a d ed a n d  p r ocess e d t o  de pl oy  t h e rel a t e de pen d enci es .   Evaluation Warning : The document was created with Spire.PDF for Python.
I J ECE   I S SN 208 8-8 7 0 8       A Mo del   Dri v e n  Fr a m ew ork  f o r P o rt abl e C l ou Servi ces   ( A pa rna  Vija ya)  71 4 3 .     Fin a lly,  th e p o rtab ilityAPI read th top o l og m o d e l,  in st an ce d a ta, p r op erties o f  no d e lik th e po rt o f   web server  etc and relationshi ps  to   provision and confi g ur the Cloud a ppl ication accordi ng t o  the  build  pl an.   The  depl oy ed  appl i cat i o n can be  i n stanti ated by exec uting the  bu ild p l an   o f  the ap p lication.  Cr ed en tials ( e g . , fo r   A m azo n EC2 )  or  co nf i g ur ation s  ( e g., m achine size) are  passe d as i n put m e ssage to the   wo rk fl o w . T o   i n st ant i a t e  M oodl e, t h e b u i l d  pl an fi r s t  st art s  t w o vi rt ual  m achi n es wi t h  a Li nu x o p er at i n g   sy st em  and i n st al l s  Apache  Web  Ser v er a nd M y S Q on  them . Then, i t  uses the re s p ective m a nage m e nt  o p e ration s  to  in stall th e PHP ap p lication ,  imp o rt th e d a t a ba se schem a , and est a bl i s h t h e d a t a base co nnec t i o n .   Aft e r c o m p l e t i on , a bui l d  pl a n  m a y  ret u rn c e rt ai n i n f o rm ati on, f o r exam pl e, t h e web ad dress  of t h e de pl oy e d   application ins t ance. T h e Moodle  build  pl a n  ret u rns t h U R L of t h e r u nn i ng M o o d l e  i n s t ance,  whi c h i n cl ude s   th e pub lic U R L of  t h v i r t u a m ach in r unnin g  t h Ap ache  W e b   Serv er.  Th e scr e en  shots o f  im p l e m en tatio fo po rt i n g a p p l i cat i on f r om  HP  H o ri zo n  an Ope n   St ack t o   Am azon EC 2 a r e s h o w n i n   t h e f o l l o wi n g  f i gu res.         Fi gu re 4.    HP Hel i o n   I n st anc e           F i g u r e  5 .    O p en S t a c k   in s t an ce   Evaluation Warning : The document was created with Spire.PDF for Python.
                      I S SN 2 088 -87 08  IJEC E V o l .  6, No . 2, A p ri l  20 16   :    70 8 – 7 1 6   71 5   Fi gu re 6.    Am azon  W e b Ser v i ce  i n st ance       3.   PR ELIMINAR Y EVA L UATION  We  have  p o rt e d  t h e M o odl Ap pl i cat i on  fr om  t w o di f f ere n t  cl o u d  en vi r onm ent s  O p en st ack an d   H P   Ho ri zo n C l ou d t o   Am azon  A W S a n res u l t s  i m pl y  t h at  t h e a ppl i cat i o n  i s   de pl oy e d   o n   Am azon A W S   success f ully. T h e tables  bel o w s h owcase  the tim e   differe nce and  platform   used for port ing.        Tab l e 2 .   Tier Nod e  Defin ition   Tem p late   Server Prope r ty   OpenS t ac HP  Hori z o n   Nu m b er  of CPUs   M e m o ry  Size  8GB  4GB  Disk Size  80GB  50GB  Initial instances  Secur ity Rule Pr otocols   HT T P   HT T P   Secur ity Rule Por t 22, 80, 44 3   22, 80, 44 3       Tabl e 3.  Ti m e   Eval uat i o n f o r po rt i n M o o d l e   Sour ce Server   T r ansfer  Dir ectio T i m e   HP  Hor i zon   Am azon E C 2   331sec   Openstack Am azon  E C 2   327sec       We ha ve al so  t r i e d t o  est i m a t e  t h e effo rt  re qui red f o r p o rt i ng t h e ap pl i c a t i on t o  cl o ud  u s i ng C l o ud  M i grat i on P o i n t  (C M P ) [1 4] . The fi nal  val u e  of C M P i s  det e rm i n ed as a w e i ght ed s u m  of i t s  four com p o n ent s   CMP i  with i   {co n n ection, co d e  ch ang e s, in stallatio n an d co nfigu r ati o n, d a tab a se}. Th co m p lex ity  lev e l   for co nn ections th at  will b e  affected  d u ring   p o rting  is  LOW si n ce liv em i g ration  is no t co n s i d ered in  t h e scope  o f  t h wo rk It  is con s id ered   th at an  app licatio n  is  po r t ed fr o m  LA N to   LA N.  Th e c o de  changes  are m a inly  applicable i n  classes that are  re sp o n si bl e f o r  com m uni cat i on bet w een e x t e rnal  sy st em s.  Que r y  m odi fi cat i on  tasks associated to  database c h anges  will not be accounta b le here since t h e sam e  database will be ported t o   th e tag e t clou d. Tasks related to  in stallatio n an d  con f i g u r a t i on o f  t h i r p a rt y  l i b rary  an d dat a base  doe s n o t   require a n y m a nual e f fort but  changes  nee d  t o   be  done  i n  the build  plan and  de pl oym e nt m odel accordingly.  Fo r th e Mood le ap p lication  po rtab ility we h a v e  id en tifie d   3 6  Cl o u d  Migratio n  Po in ts and  th e effo rt in  h ours  is less th an   3   ho urs.      4.   CO NCL USI O N   Th is  p a p e p r esen ted   DSk y L, a to o l   d e v e loped  for app licatio n   po rtab ility acro s s m u ltip l e  clo u d s   b y   usi n g m odel  d r i v en a r chi t ect u r e.  We  descri b e d t h p r o b l e m  ha ndl e d  by  t h e t ool  i n  sect i o 1 an d s u m m a ri zed  the m e thod  be hind t h e tool a n d its m a in functionalities with  its e v aluations i n  sections   2 a n 3.  Our a p proach  w a s tested   w ith  thr ee cloud   v e ndo r s . Our   g o a ls  f o r   f u t u r e  wo rk  i n clud e th e im p r ove m e n t  o f   D S kyl b y   Evaluation Warning : The document was created with Spire.PDF for Python.
I J ECE   I S SN 208 8-8 7 0 8       A Mo del   Dri v e n  Fr a m ew ork  f o r P o rt abl e C l ou Servi ces   ( A pa rna  Vija ya)  71 6 su ppo rting   p r ov ision  fo r d a t a  po rtab ility. Fu rt h e r wo rk   sh ou l d  also ad dress m o re co m p lex  app licatio n s   sup p o rt i n g a d d i t i on an rem oval  o f  feat ures  and  cl o ud  ser v ices on  the go  in   o r d e r to   en su re t h at realistic   i n st ances  o f  re qui rem e nt s are bei n use d ,  t h ro u g h  di rect  c o nt act  wi t h  t h busi n ess  an d c u st om ers.       REFERE NC ES   [1]   Gurudatt Kulkar ni Cloud Compu ting Software as  Service,  Interna tional Journal of Cloud Computing and Services   Scien c e  ( I J-CL OSER) ,  Vol 1 ,  201 2 pages 11 -16.  [2]   P r ati y us h Guleri a Guleri a, Vikas  S h ar m a , M a nis h  Arora, Develo pm ent and Us age of S o ftware as  a S e rvice for  a   Cloud and Non C loud Based  Envir onment An  Empirical Stud y,  International  Journal of Cloud  Computing and  Services Science ( I J-CLOSER)   ,Vol 2 No 1 ,  201 3 pages 50 -58.  [3]   Aparna Vij a ya ,  Neel anara y a n a n  V,  “Framework for Pla tfor m  Agnostic  En terprise Applicat ion Development  Supporting Multiple C l ouds” , Proc. S y mp of BigData and C l oud compu ting Challeng es - Elsevier Proced ia  Computer Scien ce  , 2015 , Volu me 50, pp  73-80.  [4]   Aparna Vij a y a Pritam  Dash, Neelan aray anan V,  “Migration  of L e gacy   Ent e rprise App lications to   Multiple Clouds:  A F eature b a s e d appro ach” .   Lecture No tes on Software Engineering   (LNSE, ISSN:  2301-3559, DOI:  10.7763/LNSE )  Journal.  [5]   N. Loutas, E. K a materi , and K. Taraban i s,  A  Semantic Inter operabilit y Fram ework for Cloud Platform as  Service , I E EE Third Intern ational Conferen ce on  Cloud Com puting Techno log y  an d Science (Clou d Com), Athens 2011, pp . 280–2 87.  [6]     Fotis Gonidis,  Iraklis Par a skak is, Dim itrios K ourtesis,  Addressing the Challenge of  Application Portability in   Cloud Pla tforms , Ba lkan  Confer e n ce  in Inform at i c s ,  BCI  '13 Greece, Sep t ember,  2013.  [7]   D. P e tcu, G. M acariu , S .  P a nica ,  and C. Cr ă ciun,  P o rtable Clo ud applic ations —from  theor y  t o  practi ce,  Fu tu re   Generation Com puter Systems , 2 012.  [8]   Magdalen a  Kostoska, Marjan G u se v, Sasko Ris t ov, A New Cloud Se rvices Portabil ity  Platfor m 24th DAAAM   International  Symposium on Intellig en t Manu fact uring and Au tomation , 2013.  [9]   Danilo Ardagn a ,  E lisabe tta  Di,   Giuliano C a sal e , Dana  Petcu  ,  Parastoo Mohag h eghi , S´e b a s tien Mosse r,  Pe te M a tthews ,  Anke Gerick e, C y ri l Ball agn y , F r a n ces co  D’Andria, Cos m in-S epti m i u Nechifor,  Craig S h eridan ,   MODACLOUDS: A Model-Dri v en Approac h fo r the Design an d Exe c ution o f   Applica tions on  Multipl e  Cloud s MiSE-2012.  [10]   Redhat: http://www. redhat.com/develop ers/open s hift/ (2015) [11]   Fotis Gonidis, Iraklis Paraskakis,  Anthon y  J.  H.  Simons,  Di mitrios Kourte sis,   Cloud   Applicat ion  Portabilit y: An   Initial  V i ew,   Balkan Confer ence  in Informatics, B C I ' 1 3 ,  Thessalo niki,  Gree ce, September, 2013.  [12]   Tobias Binz, Uwe Breitenb ¨ u ch er, Florian Hau p t, Oliv er Kopp, Frank Ley m an n, "TOSCA: Po rtable Automated   Deplo y men t  and  Management of   Cl oud Applications". http: //www.iaas.un i -stuttg art. d e /RUS-data/INBOOK-2014   [13]   Gerd Breiter ,  Frank Ley m ann, Thomas Spatzier,  " Topol og y  and  Orchestration Specif i cationfor Cloud Application s   (TOSCA):Cloud Service Arch ive (CSAR) Version 0.1", 2012.  [14]   Van T.K. Tr an,  Kevin Lee, Alan  Fekete, Anna Liu,Jack y  Keung,  Size Estimation  of Cloud Mi gration Projects with  Cloud Migratio n Point ( C MP) , Intern ation a l S y m posium  on  E m pirical  So ftware Eng i neer ing  and Measurement,  2011.      Evaluation Warning : The document was created with Spire.PDF for Python.