Prateek Khushalani
Kubernetes Application Developer
Develop Microservices and Design a Software Solution on the Cloud
The Apress logo.
Prateek Khushalani
Gurgaon, Haryana, India
ISBN 978-1-4842-8031-7 e-ISBN 978-1-4842-8032-4
https://doi.org/10.1007/978-1-4842-8032-4
Prateek Khushalani 2022
Apress Standard
The use of general descriptive names, registered names, trademarks, service marks, etc. in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use.
The publisher, the authors and the editors are safe to assume that the advice and information in this book are believed to be true and accurate at the date of publication. Neither the publisher nor the authors or the editors give a warranty, expressed or implied, with respect to the material contained herein or for any errors or omissions that may have been made. The publisher remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
This Apress imprint is published by the registered company APress Media, LLC, part of Springer Nature.
The registered company address is: 1 New York Plaza, New York, NY 10004, U.S.A.
This book is for you, Dad. As you look down from heaven, I hope youre proud of your boy.
Special thanks to my wife for constantly motivating and pushing me
A big shout to the cloud-native open source community for developing and managing such powerful and complex software solutions
Introduction
Are you a geek interested in learning how applications run on the cloud? If yes, then this book is for you. This book will enhance your knowledge about cloud computing. Even if you are a newbie just starting in the cloud domain, it does not matter. This book offers detailed information about the cloud, Kubernetes, and cloud-native technologies. It also provides best practices and techniques for developing SaaS-based solutions on the cloud.
Kubernetes Application Developer primarily targets engineers from domains ranging from developers to DevOps to SREs (Site Reliability Engineering). It addresses all the common issues that every engineer must deal with in their day-to-day job.
There are two major sections to this book:
This book follows IaC (Infrastructure as Code), CI (Continuous Integration)/CD (Continuous Deployment), and security best practices.
Any source code or other supplementary material referenced by the author in this book is available to readers on GitHub via the books product page, located at https://link.springer.com/book/10.1007/978-1-4842-8031-7.
Table of Contents
About the Author
Prateek Khushalani
A photo of Prateek Khushalani.
is a cloud architect at Google and works as a full-stack developer in developing cloud-based accelerators. Prior to Google, he worked as a software developer at IBM and as an individual contributor to the development of SDN networking of the IBM public cloud. He has worked across industries such as software, retail, and R&D prototypes, focusing on cloud computing and machine learning. At Google, he contributes to developing tools that help accelerate a customers migration journey to Google Cloud Platform. Prateek has strong expertise in developing and designing IaaS, PaaS, and SaaS (Software as a Service) solutions for public and private clouds. He holds a bachelors degree from the Birla Institute of Technology, Mesra. He is an open source contributor and is an active writer on tech blogs.
About the Technical Reviewer
Adwait Churi
A photo of Adwait Churi.
is a certified Microsoft Azure solution architect and a MuleSoft certified architect, a seasoned professional with more than 12 years of experience. His information technology career includes working in the banking, financial services, insurance, LMS (learning management system), healthcare, and hospitality industries.
Adwait is passionate about learning new technologies, including cloud, integration, microservices, ETL, and DevOps. He helps organizations with software application architecture and design, performance engineering, project management, and software development. He also provides courses on Microsoft BizTalk Server, MuleSoft, and Microsoft Azure.
The Author(s), under exclusive license to APress Media, LLC, part of Springer Nature 2022
P. Khushalani Kubernetes Application Developer https://doi.org/10.1007/978-1-4842-8032-4_1
1. What Is Cloud Computing?
Prateek Khushalani
(1)
Gurgaon, Haryana, India
The term cloud computing might be trending today, but it was first seen in books around 1996. If you think this term means computers flying into clouds in the sky, you must consider what happens when it rains. Computers are certainly not waterproof and would become useless.
Lets discuss cloud computing . So, Kubernetes, a.k.a. K8s , is one of the leading software solutions which enables you to run containers in a clustered fashion. I know I have already introduced many technical words. Still, to sum up, containerization is one of the core backbones of cloud computing, and Kubernetes is the leading software solution that enables the orchestration of container-based workloads. A K8 software solution can run almost anywhereprivate or public data centers or hybrid clouds.
To better understand cloud computing , lets go back to the 1960s, when computers were bulky and used only to solve business problems. At that time, engineers used to access computers on a time-sharing basis for their work. As computing evolved, so did the reach of computing power to the industries and the general public. Computers have become ubiquitous, and there is a good chance you are reading an electronic version of this book instead of a hard copy. It has blended flawlessly into everyones lives and has become an integral part of them.
Every computing device has a specific capping of resources measured in terms of CPU, RAM, HDD, network bandwidth, and more. These resources have limits, so a computing device cannot do everything. To divide this load, another device can partially take some of the work, compute it, and give the answers via the Internet , which serves as the medium to communicate. This describes one of the aspects of cloud computing. One of the prominent examples of software that uses this feature is Office 365 . Much of the work is delegated to a computing device that can technically be located almost anywhere in the world (see Figure ).