Preface

In Architecting Cloud SaaS Software: Solutions or Products, I have presented specific engineering insights that are required to architect and engineer cloud SaaS. By this, I imply that I have included new and emerging engineering knowledge relating to cloud SaaS architecture apart from the ones used for architecting hitherto conventional software. The book focuses on this additional information, which is only the beginning of a foray to the exciting field of cloud computing. It compiles the approaches used to create software solutions (and products) that can run as multi-tenanted single instance software in cloud platforms. Thus, it shall be a useful text to anyone who wants to become a specialist in this niche area of architecting cloud SaaS.

It is common knowledge that the need to execute software on public, private or hybrid clouds created a necessity to architect software differently. However, the important question is whether the additional knowledge required to architect this class of software is essential for all software professionals or only for those who specialize in developing cloud SaaS software. The answer to this question lies in the answer to another intriguing poser: how long will cloud technology last? In other words, if the cloud is going to stay here forever, there is little option for any IT professional to skip acquiring this knowledge. Cloud pervades the industry in one form or another; hence, this knowledge becomes indispensible. Infrastructure as a Service (IaaS) is one of the first cloud based value providing solutions that most companies acquire; IaaS may be implemented within the boundary of an enterprise, though many companies may be less than willing to use public or hybrid clouds for their regular business-processing needs. Hence, even regular business solutions need to be provided on IaaS platform (within the enterprise boundary) and need to be multi-tenanted because of the various advantages it provides. Thus, the concepts covered in this book will only get further refined and enhanced, and continue to be relevant for the future. Forthcoming software will not be written ignoring specific characteristics such as multi-tenancy for hosting them in cloud platforms. The theory and ideas discussed in the book will go a long way to help those who wish to have a sustained career in the IT field.

This book has been written from a practical perspective with case studies being used to explain most of the concepts for the benefit of IT professionals who engineer, architect or design cloud SaaS. Technical leads, architects, designers, software engineers and software developers also stand to benefit from this book. Those who are into Marketing can read Chapters 1, 3 and 4 as these will be of immediate use to them and help them to understand and use accurately the taxonomy associated with cloud computing. Project managers and practice heads can recommend this book for their engineering team. They too shall benefit by reading Chapter 1 to use the taxonomies of this field very accurately. Chapter 3 introduces more taxonomies; this chapter is recommended to all. The architecting project methodology discussed in chapter 2, will prove to be useful since it helps to adopt and monitor architecting projects, although that is not the focus of the contents of this book.

Chapter 4 describes, step by step, the procedure for conventional software to be architected for IaaS cloud platform – be it public or private. Thus the chapter is useful to all those who are currently providing software solutions on the IaaS platform irrespective of whether or not they are keen to develop a skill in multi-tenanted cloud compatible SaaS software.

Professionals in marketing, project managers and non-hands on CxOs, who want to know more beyond introductory material on cloud computing found in Chapter 1, can read Chapter 5 on Characteristics of Cloud SaaS Software and Chapter 6 on Cloud Compatibility Measure. These chapters reveal the difference between conventional software and the cloud compatible one. They also provide measures to monitor the extent to which the software being developed in your projects is cloud compatible. These parameters by which one can define, measure and monitor ‘cloud compatibility’ are unique and not found in any other book of my knowledge. Thus, the chapters of this book will be useful to:

  1. the sales and marketing team to identify pre-sale solutions
  2. project managers and tech leads to monitor the compatibility of their end product architecture to the Cloud.

There are many knowledge barriers for aspiring professionals who want to enter into this field of architecting cloud SaaS. The subject requires advanced knowledge from at least three different fields: architecting software, architecting methodology such as The Open Group Architecture Framework (TOGAF) and a strong design and engineering knowledge of distributed computing. A typical engineer who designs object-oriented software can comfortably read this book. The book has useful references that will help the reader to get over difficulties, if any, in understanding some of the concepts. Those who seriously practice architecting cloud SaaS can consider employing TOGAF as architecting methodology. Chapter 2 gives a method of tailoring TOGAF, the general purpose architecting methodology, to suit to the specific purpose of architecting cloud compatible SaaS. I recommend reading Chapter 2 in the second pass rather than the first one. Knowing TOGAF will be an advantage in getting the best out of this chapter.

Along with Chapter 4, Chapters 7, 8 and 9 forms a set and it is the core of this book. As suggested by the title of these chapters, they cover the principles that govern the architecture of cloud-compatible SaaS solutions or products, using currently available non- or semi- cloud-compatible products. While customers look for highly cloud-compatible solutions, it is disappointing when component software that needs to be used for solution is not cloud compatible. That is the reality faced by today’s practising engineers in real-life architecting projects. Keeping this reality in mind, Chapters 7, 8 and 9 have been written to provide direct help to the practising engineers. The topics covered in these chapters should come in handy in their projects.

Chapter 10 reviews one of the standards for architecture of the cloud platform. Although this chapter can be read in the second pass, the theory covered here is used in explaining concepts in other chapters. Tailoring generic standards to the specific purpose of architecting cloud SaaS is from the practice point of view and another original contribution in this book.

Users are concerned not so much about the challenges in cloud compatible SaaS development and the solutions the technology offers, as they are about the security aspects of cloud computing. I do not think that a chapter on security can provide all the answers. As security in cloud is a vast and specialized field, it needs elaborate treatment in a separate book. Chapter 11 is just a preliminary and does not intend to cover any aspect in depth.

The illustration given below suggests an effective method to read this book quickly and profit from it in each pass. Each horizontal listing of chapters gives one logical group of chapters. In each pass, readers can read the set of chapters in that level. Traverse from top to bottom in that order, one level at a time.

 

Recommended reading sequence for software professionals
image

In the following table, I have given my recommendation on who can read what chapters to gain maximum benefit.

image

In a rapidly growing field such as cloud computing, it is a great challenge for any author including me to keep the contents of the book in sync with current developments. I am sure that the contents of this book will serve as a sound basis to understand later-day developments in the field. I wish all readers the best to succeed in this exciting field of cloud computing.

Acknowledgements

I thank Prof. R. Nagarajan, retired, formerly professor of Computer Science, IIT Madras, Chennai, without whose help this book could not have been conceived. A mere ‘Thank you’ appears to be far too less a term than what I would like to convey. He not only encouraged me to write this book but also reviewed the manuscripts and drafts several times and provided valuable inputs. The ‘semantic tree’ found at the end of the book is wholly his novel idea. After his full tenure at IITM, he has also spent 14 years in the industry at various technosolution spaces. Thus, a combination of his academic and industrial experience helped in his powerful review comments and paved the way to tone up this book to its present shape. While I have made every effort to present error-free content, it is quite possible that a few mistakes may have crept in inadvertently. If the reader finds any such inaccuracies, the fault is entirely mine as an effect of having ignored some of Prof. Nagarajan’s valuable comments.

I am obliged to Mr S. Murali, Vice President, Scope International Ltd, Standard Chartered Bank, for his suggestions which helped to make the book’s contents reach junior professionals in the industry and also helped the book to reach .Net professionals apart from its intent for Java professionals.

I am indebted to my family members, especially my wife, but for whose good, strong, unfailing and ubiquitous support, this book would not have been possible.

Thanks are also to the new generation gadgets and apps, which lessened the writing burden. Text-to-voice for proof-reading, voice-to-text for dictating the manuscript are definitely worth mentioning. These gadgets helped, in no small measure, to mitigate this arduous task of writing two hundred pages of technical content and reviewing them several times.

Last but not the least, I am grateful to all those who have helped me in several ways to make this book possible.

Sankaran Prithviraj

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.191.218.130