Book Image

Hands-On Swift 5 Microservices Development

Book Image

Hands-On Swift 5 Microservices Development

Overview of this book

The capabilities of the Swift programming language are extended to server-side development using popular frameworks such as Vapor. This enables Swift programmers to implement the microservices approach to design scalable and easy-to-maintain architecture for iOS, macOS, iPadOS, and watchOS applications. This book is a complete guide to building microservices for iOS applications. You’ll start by examining Swift and Vapor as backend technologies and compare them to their alternatives. The book then covers the concept of microservices to help you get started with developing your first microservice. Throughout this book, you’ll work on a case study of writing an e-commerce backend as a microservice application. You’ll understand each microservice as it is broken down into details and written out as code throughout the book. You’ll also become familiar with various aspects of server-side development such as scalability, database options, and information flow for microservices that are unwrapped in the process. As you advance, you’ll get to grips with microservices testing and see how it is different from testing a monolith application. Along the way, you’ll explore tools such as Docker, Postman, and Amazon Web Services. By the end of the book, you’ll be able to build a ready-to-deploy application that can be used as a base for future applications.
Table of Contents (19 chapters)

Chapter 1: Introduction to Microservices

Questions:

  1. What is the definition of a microservice?
  2. List three reasons why microservices can be helpful.
  3. List three reasons not to choose microservices.
  4. List four differences between a monolith and microservices.

Answers:

  1. A microservice is a small business unit operating as independently as possible.
  2. Three reasons:
    1. Independently scalable
    2. Independently maintainable
    3. Decreased complexity
  3. Three reasons:
    1. Too small for a project (only one microservice).
    2. Not enough time or resources available to convert all legacy code.
    3. Increased initial work.
  4. Four differences:
    1. A monolith has one code base; each microservice has its own.
    2. Monoliths usually operate with only one database; each microservice has its own database.
    3. Monoliths are hard to scale as the entire service must be scaled, while microservices can be scaled individually.
    4. Monoliths...