Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Multi-Cloud Handbook for Developers

You're reading from   Multi-Cloud Handbook for Developers Learn how to design and manage cloud-native applications in AWS, Azure, GCP, and more

Arrow left icon
Product type Paperback
Published in Feb 2024
Publisher Packt
ISBN-13 9781804618707
Length 292 pages
Edition 1st Edition
Languages
Tools
Arrow right icon
Authors (2):
Arrow left icon
Jeveen Jacob Jeveen Jacob
Author Profile Icon Jeveen Jacob
Jeveen Jacob
Subash Natarajan Subash Natarajan
Author Profile Icon Subash Natarajan
Subash Natarajan
Arrow right icon
View More author details
Toc

Table of Contents (17) Chapters Close

Preface 1. Part 1:Introduction to Multi-Cloud and Cloud-Native
2. Chapter 1: Discovering the Multi-Cloud and Cloud-Native Universe FREE CHAPTER 3. Chapter 2: Building the Backbone of Cloud-Native Applications 4. Part 2: Designing and Developing Cloud-Native Applications for Multi-Cloud
5. Chapter 3: Designing for Diversity with Multi-Cloud Application Strategies 6. Chapter 4: Crafting and Deploying in the Multi-Cloud as a Developer 7. Part 3: Managing and Operating Cloud-Native Apps in Multi-Cloud
8. Chapter 5: Managing Security, Data, and Compliance on Multi-Cloud 9. Chapter 6: Maximizing Value and Minimizing Cost in Multi-Cloud 10. Chapter 7: Troubleshooting Multi-Cloud Applications 11. Part 4: Best Practices, Case Studies, and Future Trends for Multi-Cloud and Cloud-Native
12. Chapter 8: Learning from Pioneers and Case Studies 13. Chapter 9: Bringing Your Cloud-Native Application to Life 14. Chapter 10: Future-Proofing Your Cloud Computing Skills 15. Index 16. Other Books You May Enjoy

The evolution of application development

The evolution of application architecture has seen a shift from integrated monolithic structures to the decoupled services of service-oriented architecture (SOA), leading up to today’s microservices and containers. These advancements prioritize flexibility and efficient, independent deployment, reshaping software development in the cloud era. Let’s explore each one.

The monolithic era

In the early days of computing, when applications were developed as monolithic architectures, every functionality was bundled together in a single application. The waterfall approach was king, with each development phase (requirements, design, implementation, testing, deployment, and maintenance) occurring sequentially. The advantage of monolithic applications was their simplicity as developers could easily understand the entire application and its dependencies. However, monolithic architectures had significant drawbacks:

  • Limited scalability: Scaling monolithic applications took time as increasing capacity often required adding hardware or duplicating the entire application stack
  • Rigidity: Making changes to monolithic applications was time-consuming as any modification required retesting and redeploying the entire application
  • Slow release cycles: Due to the waterfall approach, it took longer to deliver new features and bug fixes since each development phase had to be completed before the next could begin

To overcome the limitations of monolithic architectures, developers began to adopt SOA in the early 2000s.

The advent of SOA

SOA is an architectural style that structures an application as a collection of loosely coupled, reusable services. These services communicate with each other using standard protocols and can be combined to create composite applications. The key advantages of SOA include the following:

  • Reusability: Services can be reused across different applications, reducing development time and effort
  • Modularity: Applications can be broken down into smaller, more manageable components, making it easier to maintain and update individual services
  • Agility: Changes to one service do not require modifications to other services, allowing for faster release cycles

While SOA helped solve some challenges of Monoliths, it also comes with drawbacks, such as the increased complexity of managing and coordinating multiple services and the overhead introduced by the communication protocols between services.

Microservices and containers

Microservices, an evolution of SOA, are small, independent services that can be developed, deployed, and scaled independently. They communicate with each other via lightweight protocols such as HTTP/REST or message queues. Microservices offer several advantages over monolithic architectures and traditional SOA, including the following:

  • Improved scalability: Each microservice can be scaled independently, allowing more efficient resource utilization
  • Faster release cycles: Smaller code bases and independent deployment make delivering new features and bug fixes easier
  • Better fault isolation: If a microservice fails, it is less likely to impact the entire application, improving overall system resilience

Containers, another key technology in the cloud-native landscape, provide a lightweight, portable way to package and deploy applications and their dependencies. Containers isolate applications from the underlying infrastructure, enabling them to run consistently across different environments. This isolation simplifies deployment and scaling, making containers perfect for microservices-based architectures. We will learn more details about this topic in upcoming chapters.

Figure 1.1 depicts the evolution from monolithic, where components are interdependent, to SOA, which introduces a service-based structure, and finally to microservices, where services are fully independent, embodying cloud-native flexibility and scalability:

Figure 1.1 – The evolution from monolithic to microservices-based systems

Figure 1.1 – The evolution from monolithic to microservices-based systems

You have been reading a chapter from
Multi-Cloud Handbook for Developers
Published in: Feb 2024
Publisher: Packt
ISBN-13: 9781804618707
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Banner background image