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
Accelerate DevOps with GitHub

You're reading from   Accelerate DevOps with GitHub Enhance software delivery performance with GitHub Issues, Projects, Actions, and Advanced Security

Arrow left icon
Product type Paperback
Published in Sep 2022
Publisher Packt
ISBN-13 9781801813358
Length 540 pages
Edition 1st Edition
Tools
Concepts
Arrow right icon
Author (1):
Arrow left icon
Michael Kaufmann Michael Kaufmann
Author Profile Icon Michael Kaufmann
Michael Kaufmann
Arrow right icon
View More author details
Toc

Table of Contents (31) Chapters Close

Preface 1. Part 1: Lean Management and Collaboration
2. Chapter 1: Metrics That Matter FREE CHAPTER 3. Chapter 2: Plan, Track, and Visualize Your Work 4. Chapter 3: Teamwork and Collaborative Development 5. Chapter 4: Asynchronous Work: Collaborate from Anywhere 6. Chapter 5: The Influence of Open and Inner Source on Software Delivery Performance 7. Part 2: Engineering DevOps Practices
8. Chapter 6: Automation with GitHub Actions 9. Chapter 7: Running Your Workflows 10. Chapter 8: Managing Dependencies Using GitHub Packages 11. Chapter 9: Deploying to Any Platform 12. Chapter 10: Feature Flags and the Feature Lifecycle 13. Chapter 11: Trunk-Based Development 14. Part 3: Release with Confidence
15. Chapter 12: Shift Left Testing for Increased Quality 16. Chapter 13: Shift-Left Security and DevSecOps 17. Chapter 14: Securing Your Code 18. Chapter 15: Securing Your Deployments 19. Part 4: Software Architecture
20. Chapter 16: Loosely Coupled Architecture and Microservices 21. Chapter 17: Empower Your Teams 22. Part 5: Lean Product Management
23. Chapter 18: Lean Product Development and Lean Startup 24. Chapter 19: Experimentation and A|B Testing 25. Part 6: GitHub for your Enterprise
26. Chapter 20: GitHub – The Home for All Developers 27. Chapter 21: Migrating to GitHub 28. Chapter 22: Organizing Your Teams 29. Chapter 23: Transform Your Enterprise 30. Other Books You May Enjoy

Evolutionary design

The advantages and disadvantages of certain architectural styles shift for various reasons. One is the scale of your application. Another is the knowledge of your domain and your customers and the ability to operate at scale. Depending on these factors, different architectural styles are better suited for you (see Figure 16.1):

Figure 16.1 – The advantages and disadvantages shift with scale

Constantly adapting your architecture and system design to your current needs is called evolutionary design. To start a greenfield product, it's best to start with a monolithic approach and one team. This allows you to move fast without much overhead. If you scale up and learn more about the domain, you can start to modularize your application using the capabilities of your programming language. At one point, the complexity and scale will be so high that microservices help you to keep your product testable and deployable.

The question is...

lock icon The rest of the chapter is locked
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