Synopses & Reviews
How can a company's applications be scalable and have high availability?
To achieve this, along with developing the applications, you must also have an infrastructure that can support them. For example, you may need to add servers or increase the capacities of existing ones, have redundant hardware, add logic to the application to handle distributed computing, and add logic for failovers. You have to do this even if an application is in high demand for only short periods of time. Life becomes even more complicated (and expensive) when you start to consider issues such as network latency and security boundaries.
The cloud offers a solution to this dilemma. The cloud is made up of interconnected servers located in various data centers. However, you see what appears to be a centralized location that someone else hosts and manages. By shifting the responsibility of maintaining an infrastructure to someone else, you're free to concentrate on what matters most: the application. If the cloud has data centers in different geographical areas, you can move your content closer to the people who are using it most. If an application is heavily used in Asia, have an instance running in a data center located there. This kind of flexibility may not be available to you if you have to own all the hardware.
Another advantage to the cloud is that it's a pay as you go proposition. If you don't need it, you don't have to pay for it. When demand is high, you can scale up, and when demand is low, you can scale back. Yes, by moving applications to the cloud, you're giving up some control and autonomy, but you're also going to benefit from reduced costs, increased flexibility, and scalable computation and storage. The Windows Azure Architecture Guide shows you how to do this.
Reese explains the differences between traditional server hosting and using Cloud services. He then provides practical guidelines for key decisions and planning required of system administrators.
Cloud Computing is here to stay. As an economically viable way for businesses of all sizes to distribute computing, this technology shows tremendous promise. But the intense hype surrounding the Cloud is making it next to impossible for responsible IT managers and business decision-makers to get a clear understanding of what the Cloud really means, what it might do for them, when it is practical, and what their future with the Cloud looks like.
The Cloud at Your Service helps cut through all this fog to help enterprises make these critical decisions based on facts and the authors' informed unbiased recommendations and predictions.
If you're involved in planning IT infrastructure as a network or system architect, system administrator, or developer, this book will help you adapt your skills to work with these highly scalable, highly redundant infrastructure services.
While analysts hotly debate the advantages and risks of cloud computing, IT staff and programmers are left to determine whether and how to put their applications into these virtualized services. Cloud Application Architectures provides answers -- and critical guidance -- on issues of cost, availability, performance, scaling, privacy, and security.
With Cloud Application Architectures, you will:
- Understand the differences between traditional deployment and cloud computing
- Determine whether moving existing applications to the cloud makes technical and business sense
- Analyze and compare the long-term costs of cloud services, traditional hosting, and owning dedicated servers
- Learn how to build a transactional web application for the cloud or migrate one to it
- Understand how the cloud helps you better prepare for disaster recovery
- Change your perspective on application scaling
To provide realistic examples of the book's principles in action, the author delves into some of the choices and operations available on Amazon Web Services, and includes high-level summaries of several of the other services available on the market today.
Cloud Application Architectures provides best practices that apply to every available cloud service. Learn how to make the transition to the cloud and prepare your web applications to succeed.
About the Author
George Reese is the founder of two Minneapolis-based companies, enStratus Networks LLC (maker of high-end cloud infrastructure management tools) and Valtira LLC (maker of the Valtira Online Marketing Platform). Over the past 15 years, George has authored a number of technology books, including MySQL Pocket Reference, Database Programming with JDBC and Java, Java Database Best Practices, and the upcoming Web Architecture and Programming in the Cloud.
Throughout the Internet era, George has spent his career building enterprise tools for developers and delivering solutions to the marketing domain. He was an influential force in the evolution of online gaming through the creation of a number of Open Source MUD libraries and he created the first JDBC driver in 1996-the Open Source mSQL-JDBC. Most recently, George has been involved in the development of systems to support the deployment of transactional web applications in the cloud.
George holds a BA in Philosophy from Bates College in Lewiston, Maine and an MBA from the Kellogg School of Management in Evanston, Illinois. He currently lives in Minnesota with his wife Monique and his daughters Kyra and Lindsey.
Table of Contents
Preface; Audience for This Book; Organization of the Material; Conventions Used in This Book; Using Code Examples; Safari® Books Online; We'd Like Your Feedback!; Acknowledgments; Chapter 1: Cloud Computing; 1.1 The Cloud; 1.2 Cloud Application Architectures; 1.3 The Value of Cloud Computing; 1.4 Cloud Infrastructure Models; 1.5 An Overview of Amazon Web Services; Chapter 2: Amazon Cloud Computing; 2.1 Amazon S3; 2.2 Amazon EC2; Chapter 3: Before the Move into the Cloud; 3.1 Know Your Software Licenses; 3.2 The Shift to a Cloud Cost Model; 3.3 Service Levels for Cloud Applications; 3.4 Security; 3.5 Disaster Recovery; Chapter 4: Ready for the Cloud; 4.1 Web Application Design; 4.2 Machine Image Design; 4.3 Privacy Design; 4.4 Database Management; Chapter 5: Security; 5.1 Data Security; 5.2 Network Security; 5.3 Host Security; 5.4 Compromise Response; Chapter 6: Disaster Recovery; 6.1 Disaster Recovery Planning; 6.2 Disasters in the Cloud; 6.3 Disaster Management; Chapter 7: Scaling a Cloud Infrastructure; 7.1 Capacity Planning; 7.2 Cloud Scale; Amazon Web Services Reference; Amazon EC2 Command-Line Reference; Amazon EC2 Tips; GoGrid; Types of Clouds; Cloudcenters in Detail; Comparing Approaches; What's Right for You?; ; Rackspace; Rackspace's Cloud Services; Fully Integrated, Backed by Fanatical Support; ; Colophon;