Skip to main content
Top

2021 | Book

Cloud-Based Microservices

Techniques, Challenges, and Solutions

insite
SEARCH

About this book

Use this field guide as you transform your enterprise to combine cloud computing with a microservices architecture.

The recent surge in the popularity of microservices in software development is mainly due to the agility it brings and its readiness for the cloud. The move to a microservices architecture on the cloud involves a gradual evolution in software development. Many enterprises are embarking on this journey, and are now looking for architects who are experienced in building microservices-based applications in the cloud.

A master architect should be able to understand the business, identify growth hurdles, break a monolith, design microservices, foresee problems, overcome challenges, change processes, decipher CSP services, strategize cloudification, adopt innovations, secure microservices, prototype solutions, and envision the future. Cloud-Based Microservices provides you with the information you need to be successful in such an endeavor.

What You Will Learn

Be familiar with the challenges in microservices architecture and how to overcome themPlan for a cloud-based architectureArchitect, build, and deploy microservices in the cloudKnow how security, operations, and support change in this architecture

Who This Book Is For

Engineers, architects, and those in DevSecOps attempting to move their enterprise software to take advantage of microservices and the cloud and be more nimble

Table of Contents

Frontmatter
Chapter 1. Case Study: Energence
Abstract
To understand the journey to the microservices world, let us take a hypothetical case study and apply our various learnings along the way. First, we will explore multiple business use cases from the company and how their software solves the issue. Next, we will attempt to understand the growth path of the company and how it plans to expand its operations in the next few years. Finally, we will focus on how the current IT operation—both software and hardware infrastructure—needs to change to support the company’s growth.
Chandra Rajasekharaiah
Chapter 2. Microservices: What, Why, and How?
Abstract
A standard set of challenges face every enterprise with goals of modernizing. The usual suspects are their monolithic or legacy applications, hardware and software infrastructure, and software/service availability. Enterprises are usually in need of transforming their solutions to align with their long-term vision and goals. What differs is the urgency to act and the availability of funds. Modernization involves improving an enterprise’s software architecture and making it nimble and agile. Such enterprise-level efforts introduce us to the microservices architecture, with the promise to enable quick and further progress.
Chandra Rajasekharaiah
Chapter 3. Architectural Challenges
Abstract
Software solutions constructed from independent and isolated microservices have clean and sustainable architecture. Apart from being flexible to quick changes and speedy delivery, they provide scalability, elasticity, and agility. Curiously, the very nature of architectural flexibility is the source of serious challenges. As we transition to a microservices architecture, problems appear on two fronts: solution design and support and operations. Solutions rely on an extensive portfolio of microservice components, thereby creating tactical problems in realizing new requirements while retaining a clean domain-based model. Monitoring and operating a system that has orchestration, synergy, and synchrony set up across numerous microservices become incredibly challenging. In this chapter, we will explore the many challenges enterprises face when they move to a microservices-based architecture. We will discuss potential solutions to these problems further ahead in the book.
Chandra Rajasekharaiah
Chapter 4. Overcoming Architectural Challenges
Abstract
The field of microservices architecture is new. There is still a great deal of learning happening, and supposed to happen, as we explore and work the paradigm. We are now aware of the benefits a microservices-based architecture brings, along with the challenges it exhibits. This chapter discusses potential ways to mitigate—if not eliminate—the problems we discussed in the previous chapter. The path to a successful implementation of microservices architecture requires innovative thinking, collaborative efforts, and process rigor.
Chandra Rajasekharaiah
Chapter 5. Process Changes
Abstract
Modern software development requires effective techniques. For an enterprise to incorporate the microservices paradigm, changes to development methodology are essential. It is necessary to reorganize development teams around modern development processes for successfully implementing any microservices architecture. This chapter introduces a few process techniques that redefine how software is built, tested, and delivered.
Chandra Rajasekharaiah
Chapter 6. Cloudification: Strategy
Abstract
No conversation about transformation to a microservices-based architecture is complete without discussing cloud computing. In the previous chapters, we discussed the various advantages of moving to a microservices-based architecture. We observed the ease of change to software. We noticed the autonomy of the individual software pieces and engineers dealing with the parts. We noted the benefits of isolation—resilience, polyglot, and localization of errors—among many others. We learned about the capability to scale and shrink on demand. However, to exploit all these benefits and more, to harness the real power of microservices, we need to let microservices fly on the cloud.
Chandra Rajasekharaiah
Chapter 7. Core Cloud Concepts: Compute
Abstract
The breadth of cloud computing is evident from the legion of services that CSPs (cloud service providers) make available, the massive infrastructure deployed globally to support it, and the billions of dollars getting invested into the field. As more enterprises adopt the cloud and start investing in it, architects and development teams face a tough job. They need to make many choices toward the setup of an enterprise’s cloud footprint. Many of these are infrequent and lasting decisions; they seldom change after the initial setup. For instance, the choice of connectivity from an enterprise’s existing data center to a CSP is a one-time setup. However, for rolling out the microservices architecture on the cloud, some of the platform choices will need more variations. We walked through the various facets of cloud computing—compute, storage, and connectivity.
Chandra Rajasekharaiah
Chapter 8. Core Cloud Concepts: Storage
Abstract
Any system, whether a microservices-based one or not, has three needs: 1) a place to run, 2) ways to communicate internally and with the external world and, 3) a way to persist resources. We discussed the first two necessities of microservices in the earlier chapter. Let us discuss the storage options on the cloud. CSPs (cloud service providers) are equipped with a multitude of storage options to meet our needs. For every aggregate, we will need to examine databases for handling transactional domain data, and for internet-scale domains. We will touch upon big data stores necessary for analytics and reporting. Microservices employ temporary datastores such as caches that provide very low-latency data access, useful for boosting the performance of microservices. Finally, we will look at long-term storage options such as file stores and buckets needed for storing static data.
Chandra Rajasekharaiah
Chapter 9. Securing Microservices on Cloud
Abstract
The perceived importance of security in an enterprise is directly proportional to the devastation caused by the previous attack. It does not have to be, but it often is. A genuinely secure enterprise enacts the security of software right at inception. We discussed the importance of securing the application right from its beginning in an earlier chapter, under the “DevSecOps” section. We briefly discussed what it takes to safeguard microservices (or any application) on the cloud. In this chapter, we discuss some of the most critical aspects of cybersecurity.
Chandra Rajasekharaiah
Chapter 10. Microservices, Here and Beyond
Abstract
The first rule of soothsaying is to be abstract, generic, and futuristic. Our immediate predictions are invariably wrong: the year 2020 exemplifies the fallibility of our short-term plans. Also, to understand the future, we need to know how we got here and which human factors got us here. Fiction writers of the nineteenth century had predicted that we would build ways to share information globally. By the beginning of the twentieth century, they foresaw machines that would be small and commonplace by the end of the century. Most of these predictions—the true ones—were based on extrapolating the prevailing trends in scientific research and inventions, and also based on which ones have historically succeeded. The common underlying themes that lead to improvements remain the same: creativity, necessity, or laziness.
Chandra Rajasekharaiah
Backmatter
Metadata
Title
Cloud-Based Microservices
Author
Chandra Rajasekharaiah
Copyright Year
2021
Publisher
Apress
Electronic ISBN
978-1-4842-6564-2
Print ISBN
978-1-4842-6563-5
DOI
https://doi.org/10.1007/978-1-4842-6564-2

Premium Partner