Scala microservices: develop, deploy, and run microservices with Scala

Bok av Jatin Puri
Design, build, and run Microservices using Scala elegantlyAbout This BookBuild robust microservices using Play Framework and LagomModel your data for highly interactive applications and scale using Event Sourcing & CQRSBuild applications that are resilient to failures by using Message Passing for communicationDeploy and manage Scala Microservices for scale by using docker containers with Kubernetes for orchestrationWho This Book Is ForIt is assumed that the reader knows Scala or is proficient in a competent programming language such as Java, C#, Ruby, and so on, with some exposure to Scala. Some experience with writing web services would also be ideal but not mandatory.What You Will LearnLearn the essentials behind Microservices, the advantages and perils associated with themBuild low latency, high throughput applications using Play and LagomDive deeper with being asynchronous and understand the superiority it providesModel your complex domain data for scale and simplicity with CQRS and Event SourcingBe resilient to failures by using message passingLook at best practices of version control workflow, testing, continuous integration and deploymentsUnderstand operating system level virtualization using Linux Containers. Docker is used to explain how containers workAutomate your infrastructure with kubernetesIn DetailIn this book we will learn what it takes to build great applications using Microservices, the pitfalls associated with such a design and the techniques to avoid them.We learn to build highly performant applications using Play Framework. You will understand the importance of writing code that is asynchronous and nonblocking and how Play leverages this paradigm for higher throughput. The book introduces Reactive Manifesto and uses Lagom Framework to implement the suggested paradigms. Lagom teaches us to: build applications that are scalable and resilient to failures, and solves problems faced with microservices like service gateway, service discovery, communication and so on. Message Passing is used as a means to achieve resilience and CQRS with Event Sourcing helps us in modelling data for highly interactive applications.The book also shares effective development processes for large teams by using good version control workflow, continuous integration and deployment strategies. We introduce Docker containers and Kubernetes orchestrator. Finally, we look at end to end deployment of a set of scala microservices in kubernetes with load balancing, service discovery and rolling deployments.Style and approachThe book will step through each of the core microservice concepts in Scala, building an overall picture of their capabilities. This book adopts a systematic approach, allowing you to build upon what you've learnt in previous chapters. By the end of this book you'll have an understanding of the complex aspects of building microservices in Scala and will be able to take that knowledge with you into further projects.ng of the complex aspects of building Microservices in Scala and will be able to take that knowledge with you onto whatever project calls for it