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)

Setting up ECS

We have the load balancer and the repositories already set up. Now, we need to set up the services. Proceed as follows:

  1. Go to ECS and select Clusters.
  2. Then, select Create Cluster, as shown in the following screenshot:
  1. Select Networking only, as we will use AWS Fargate to deploy, as shown in the following screenshot:
  1. Click Next step, and type ecommerce as the name of the cluster. Leave the rest blank, as shown in the following screenshot:

You should now see the following success message:

  1. Next, we need to create the task definitions. Click on Task Definitions and select Create new Task Definition, as follows:
  1. Select FARGATE as the type, and click Next as follows:
  1. Now, type in users as the name, and leave the rest blank, as shown in the following screenshot:
  1. Scroll down and select 0.5GB for RAM and 0.25 vCPU. Then, click Add container, as shown...