Microservices from day one : build robust and scalable software from the start Learn what a microservices architecture is its advantages and why you should consider using one when starting a new application. The book describes how taking a microservices approach from the start helps avoid the complexity and expense of moving to a service oriented approach after applications reach a critical code base size or traffic load. Microservices from Day One discusses many of the decisions you face when adopting a service oriented approach and defines a set of rules to follow for easily adopting microservices. The book provides simple guidelines and tips for dividing a problem domain into services. It also describes best practices for documenting and generating APIs and client libraries testing applications with service dependencies optimizing services for client performance and much more. Throughout the book you will follow the development of a sample project to see how to apply the best practices described. What You Will Learn: Apply guidelines and best practices for developing projects that use microservices Define a practical microservices architecture at the beginning of a project that allows for fast development Define and build APIs based on real world best practices Build services that easily scale by using tools available in most programming languages Test applications in a distributed environment Who This Book is For: Software engineers and web developers who have heard about microservices and want to either move the project applications they work on to a service oriented environment or want to start a new project knowing that building services helps with ease of scaling and maintainability. The book is a reference for developers who have a desire to build software in smaller more focused and manageable chunks but do not know how to get started Part I. Service Oriented Architectures 1. Microservices: The What and the Why 2. Rules of Engagement Part II. APIs 3. Partitioning Your Business into Services 4. Designing your APIs 5. Defining APIs 6. Consuming your APIs 7. Optimizing your APIs Part III. Development and Deployment 8. Development Environment and Workflow 9. Testing with Services 10. Deploying and Running Microservices Part IV. Putting Everything Together 11. One Client Mobile Web Application 12. Services in Different Languages 13. Monitoring Your Services 14. Operational Excellence with Microservices