A recent industry report from Gartner points out that choices related to cloud computing at enterprises have changed from "if" to "how" to build, deploy, consume, manage, secure and integrate cloud services into their operations. The cloud solutions architect is the person who defines the enterprise cloud strategy from a technical point of view and must take responsibility for rolling out these cloud services.
Cloud computing is a transformative paradigm that enables scalable, convenient, on-demand access to a shared pool of configurable computing and networking resources, for efficiently delivering applications and services over the Internet. Amazon Web Services (AWS), a leading provider of cloud platforms and services, defines a cloud solutions architect as one who can provide solution plans for the best architectural practices for cloud applications, can design and deploy highly scalable and fault-tolerant services, can assist in lifting legacy applications and shifting them to the cloud, and can identify and plan for data entry and exit from the cloud platform, choose suitable cloud services based on data, compute, and security requirements. Further, the cloud solutions architect also ensures that enterprise offerings conform to sound principles, such as AWS Well-Architected Framework (WAF) for cloud applications and services.
We have written this textbook, as part of our expanding "A Hands-On Approach"™ series, to meet this need at colleges and universities. This book is written as a textbook for training the next generation of cloud solutions architects for educational programs at colleges and universities, and also accompanying cloud certification programs where students would be interested in obtaining valuable hands-on skills on actual cloud platforms to further develop their knowledge and competency base.
The typical reader is expected to have completed a couple of courses in programming using traditional high-level languages at the college level, and is either a senior or a beginning graduate student in one of the science, technology, engineering or mathematics (STEM) fields. The reader is provided the necessary guidance and knowledge to develop working code for real-world cloud computing applications. Concurrent development of practical applications that accompanies traditional instructional material within the book further enhances the learning process, in our opinion.
The book is organized into twenty chapters that provide in-depth coverage of concepts, technologies, and architectures related to cloud computing environments and cloud applications. Real-world examples of cloud-based services and their characteristics are described. Reference architectures for different classes of cloud applications, including e-Commerce, Banking, Business-to-Business, Retail, and Social Networking in the context of commonly used design methodologies are examined in detail. The reader is also introduced to specialized aspects of cloud computing, including serverless computing, cloud security, and big data analytics. Case studies on the applications of the cloud in industry, healthcare, transportation systems, smart grids and education are provided.
Through generous use of hundreds of figures and tested code samples, we have attempted to provide a rigorous "no hype" guide to cloud computing. It is expected that diligent readers of this book can use these exercises to develop their own applications on cloud platforms, such as those from Amazon Web Services, Google Cloud, and Microsoft's Windows Azure. We adopted an informal approach to describing well-known concepts primarily because these topics are covered well in existing textbooks, and our focus instead is on getting the reader firmly on track to developing robust cloud computing applications as opposed to more theory.