Page 257 -
P. 257

Chapter 6  The Cloud
                256
                                                          html with JavaScript that correctly
                                                          requests services and processes responses
                                                 Browser
                                                                 Commerce server       Database server
                                                                service requests       service requests
                                                                  & responses           & responses
                                                 Browser                                                  DBMS    DB


                                                                     Load Balancer  Web Server      DB Load Balancer
                                                 Browser                        Commerce                  DBMS    DB
                                                                                 Commerce
                                                                                 Server
                                                                                  Commerce
                                                                                  Server
                                                                                   Commerce
                                                                                   Server
                                                                                    Commerce
                                                                                Web Server
                                                                                    Server
                                                                                     Commerce
                                                                                     Server
                                                                                  Web Server
                                                                                      Server
                                                                                   Web Server
                                                 Browser                         Web Server                DBMS   DB
                                                                                     Web Server
                                                                                 1, 3, 100, 1000, etc.       1, 3, 50
                                                                                   Web Servers            Database Servers
                                                  …
                Figure 6-13
                SOA Principles Applied           Browser
                to Three-Tier Architecture
                                               The server tier can consist of three servers at 3 AM, 3,000 servers at 11 AM, 6,000 servers at
                                            6 PM, and 100 servers at 10 PM. Furthermore, those servers can move around the world; at one
                                            time of day, they can be all located in the United States, and at another time of day, they can all be
                                            located in Europe, and so on. Nothing, absolutely nothing, in the browsers need change as these
                                            servers are adjusted.
                                               To  take advantage of   the multiple Web servers, a  load-balancing  program receives
                                            requests and sends  them  to an available server.  The  load-balancing  program  keeps data
                                            about the speed and health of  all its assigned Web servers and allocates work to maximize
                                            throughput.
                                               In addition, on the back end, SOA services are defined between the Web server and the data-
                                            base server. Accordingly, the database server need do nothing as the number and location of Web
                                            servers is adjusted. And that’s a two-way street. Nothing in the Web servers need be changed if
                                            the number and location of database servers is adjusted. However, load balancing for database
                                            servers is considerably more complicated.
                                               Do not infer from this discussion that SOA services and the cloud are only used for three-
                                            tier processing. Such services and the cloud are used for multitudes of applications across the
                                            Internet. This three-tier application is just an example.
                                               From  this discussion, you can understand how cloud elasticity is  possible. However, for
                                            many organizations to use the cloud and to be able to mix and match Web services, they need to
                                            agree on standard ways of formatting and processing service requests and data. That leads us to
                                            cloud standards and protocols. Again, we discuss these at a very high level.

                                            Protocols Supporting Web Services

                                            A protocol is a set of rules and data structures for organizing communication. Because the cloud’s
                                            Web services use the Internet, the protocols that run the Internet also support cloud processing.
                                            We will start with them.

                                            TCP/IP Protocol Architecture

                                            The basic plumbing of the Internet is governed by protocols that are defined according to an
                                            arrangement called the TCP/IP protocol architecture. This architecture has five layers; one
                                            or more protocols are defined at each layer. Data communications and software vendors write
                                            computer programs that implement the rules of a particular protocol. (For protocols at the bot-
                                            tom layer, the physical layer, they build hardware devices that implement the protocol.)
   252   253   254   255   256   257   258   259   260   261   262