09.02.2015 Views

Cloud Computing and SOA Convergence in Your Enterprise: A Step ...

Cloud Computing and SOA Convergence in Your Enterprise: A Step ...

Cloud Computing and SOA Convergence in Your Enterprise: A Step ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Where Are the Applications 181<br />

However, you could f<strong>in</strong>d that your architecture has performance <strong>and</strong> reliability<br />

issues because you leveraged too many platforms to host those services.<br />

The problem arises when you consider that the application is dependent on<br />

every service function<strong>in</strong>g <strong>in</strong> order to cont<strong>in</strong>ue process<strong>in</strong>g, <strong>and</strong> thus a s<strong>in</strong>gle<br />

platform failure could stop the entire application from work<strong>in</strong>g, depend<strong>in</strong>g on<br />

how it is designed. In essence, your reliability is really a function of the reliability<br />

of all systems, on-premise or cloud-based, that support that application.<br />

Consider the number of l<strong>in</strong>ks <strong>in</strong> the cha<strong>in</strong>. The more you distribute the application,<br />

the more likely you are to have reliability issues. That is the reality of<br />

distributed comput<strong>in</strong>g.<br />

Furthermore, you should consider performance. It is well known that<br />

<strong>SOA</strong> services that are too f<strong>in</strong>ely gra<strong>in</strong>ed have a tendency to cause performance<br />

problems, s<strong>in</strong>ce each service needs to talk to other services through a s<strong>in</strong>gle<br />

<strong>in</strong>terface. The more services, the more communications occur, <strong>and</strong> the more<br />

the network <strong>and</strong> the processors get saturated. There are no hard <strong>and</strong> fast rules<br />

around granularity for <strong>SOA</strong>, or <strong>SOA</strong> leverag<strong>in</strong>g cloud comput<strong>in</strong>g; it is simply a<br />

matter of underst<strong>and</strong><strong>in</strong>g how your architecture will be affected by additional<br />

services <strong>and</strong> underst<strong>and</strong><strong>in</strong>g the functional need to break down the services<br />

<strong>in</strong>to smaller, more f<strong>in</strong>e-gra<strong>in</strong>ed services.<br />

There are trade-offs, <strong>and</strong> perhaps you should not go too nuts when<br />

decompos<strong>in</strong>g services, from coarse- to f<strong>in</strong>e-gra<strong>in</strong>ed services, <strong>and</strong> distribut<strong>in</strong>g<br />

them across too many systems <strong>and</strong> platforms, on-premise or <strong>in</strong> the clouds.<br />

In essence, we identify locations where the services, processes, <strong>and</strong> data—<br />

the architectural components—will reside, <strong>and</strong> we determ<strong>in</strong>e how those components<br />

will make up applications. In other words, we break our architecture<br />

down to the primitives of services, processes, <strong>and</strong> data. Then we figure out<br />

where to best place them, tak<strong>in</strong>g <strong>in</strong>to consideration the bus<strong>in</strong>ess <strong>and</strong> technical<br />

issues we looked at <strong>in</strong> the last several chapters, <strong>and</strong> we determ<strong>in</strong>e the proper<br />

platforms to host those components.<br />

Consider the next several figures, as a way to better underst<strong>and</strong> this process.<br />

Figure 10.1 is a start<strong>in</strong>g po<strong>in</strong>t. Us<strong>in</strong>g the steps <strong>and</strong> processes covered <strong>in</strong><br />

the last several chapters, we have a service, process, <strong>and</strong> data underst<strong>and</strong><strong>in</strong>g<br />

of our problem doma<strong>in</strong>, <strong>and</strong> we underst<strong>and</strong> what each architectural component<br />

does <strong>and</strong> the <strong>in</strong>terdependencies of each.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!