Book description
Transit from monolithic architectures to highly available, scalable, and fault-tolerant microservices
About This Book
Build your own applications based on event-driven microservices and set them up on a production server.
Successfully transform any monolithic application into a microservice.
Monitor the health of your application, prevent downtime, and reduce costs.
Who This Book Is For
PHP developers who want to build scalable, highly available, and secure applications will find this book useful. No knowledge of microservices is assumed.
What You Will Learn
Set up a development environment using the right strategies and tools.
Learn about application design and structure to start implementing your application.
Transform a monolithic application into microservices.
Explore the best way to start implementing your application using testing.
Understand how to monitor your microservices, handle errors, and debug the application.
Deploy your finished application into a production environment and learn how to solve common problems.
Know how to scale your application based on microservices once it is up–and-running.
In Detail
The world is moving away from bulky, unreliable, and high-maintenance PHP applications, to small, easy-to-maintain and highly available microservices and the pressing need is for PHP developers to understand the criticalities in building effective microservices that scale at large. This book will be a reliable resource, and one that will help you to develop your skills and teach you techniques for building reliable microservices in PHP.
The book begins with an introduction to the world of microservices, and quickly shows you how to set up a development environment and build a basic platform using Docker and Vagrant. You will then get into the different design aspects to be considered while building microservices in your favorite framework and you will explore topics such as testing, securing, and deploying microservices. You will also understand how to migrate a monolithic application to the microservice architecture while keeping scalability and best practices in mind. Furthermore you will get into a few important DevOps techniques that will help you progress on to more complex domains such as native cloud development, as well as some interesting design patterns.
By the end of this book you will be able to develop applications based on microservices in an organized and efficient way. You will also gain the knowledge to transform any monolithic applications into microservices.
Style and approach
Filled with code that you can start typing straightaway, this book will take you through building, testing, securing, and deploying microservices in the most practical way possible. The focus of the book is more inclined towards showing you how it’s done, rather than with what to do, although you will get a good idea of those tools most widely used to build microservices.
Table of contents
-
PHP Microservices
- PHP Microservices
- Credits
- About the Authors
- About the Reviewer
- www.PacktPub.com
- Customer Feedback
- Preface
-
1. What are Microservices?
- Monolithic versus microservices
- Service Oriented Architectures versus microservices
- Microservices characteristics
-
How to focus your development on microservices
- Always create small logical black boxes
- Network latency is your hidden enemy
- Always think about scalability
- Use a lightweight communication protocol
- Use queues to reduce a service load or make async executions
- Be ready for the worst case scenario
- Each service is different, so keep different repositories and build environments
- Advantages of using PHP on microservices
- Summary
-
2. Development Environment
- Design and architecture to build the basic platform for microservices
- Requirements to start working on microservices
- Version control – Git versus SVN
- Setting up a development environment for microservices
- Frameworks for microservices
- Summary
- 3. Application Design
-
4. Testing and Quality Control
- The importance of using tests in your application
- Test-driven development
- Behavior-driven development
- Acceptance test-driven development
-
Tools
- Composer
-
PHPUnit
- Unit testing
- Running the tests
- Assertions
- assertArrayHasKey
- assertClassHasAttribute
- assertArraySubset
- assertClassHasStaticAttribute
- assertContains()
- assertDirectory() and assertFile()
- assertString()
- assertRegExp()
- assertJson()
- Boolean assertions
- Type assertions
- Other assertions
- Unit testing from scratch
- Behat
- Selenium
- Summary
- 5. Microservices Development
- 6. Monitoring
- 7. Security
- 8. Deployment
- 9. From Monolithic to Microservices
- 10. Strategies for Scalability
- 11. Best Practices and Conventions
- 12. Cloud and DevOps
Product information
- Title: PHP Microservices
- Author(s):
- Release date: March 2017
- Publisher(s): Packt Publishing
- ISBN: 9781787125377
You might also like
book
Lumen Programming Guide: Writing PHP Microservices, REST and Web Service APIs
Learn to write test-driven microservices, REST APIs, and web service APIs with PHP using the Lumen …
book
Design Patterns in PHP and Laravel
Learn each of the original gang of four design patterns, and how they are relevant to …
book
Building RESTful Web Services with PHP 7
Learn how to build RESTful API and web services in PHP 7 About This Book Leverage …
book
Domain-Driven Design in PHP
Real examples written in PHP showcasing DDD Architectural Styles, Tactical Design, and Bounded Context Integration About …