Skip to main content

2016 | Buch

Deploying Rails with Docker, Kubernetes and ECS

insite
SUCHEN

Über dieses Buch

This concise teaches you how to use the power of Docker and Kubernetes to deploy your Rails applications easily and efficiently. Docker and Kubernetes are increasing in popularity every day, but what if you want to leverage their benefits for your Rails application? This is the book you need.

Deploying Rails with Docker, Kubernetes and ECS shows you how to set up the project, push it to DockerHub, manage services and set up an efficient continuous integration environment. Every concept is clearly explained alongside a full Ruby on Rails application deployment. You’ll also learn how to deploy via Docker using Amazon EC2 Container Service.

What You Will Learn

How to create a Rails API application using Rails 5 and PostgreSQL, and Dockerize it

How to write and test templates to run the application with Kubernetes

How to create a Kubernetes cluster in Amazon Web Services and run your

How to inspect and troubleshoot problems in the cluster

How to automatize the the whole deployment process with Jenkins

Who This Book Is For

This book is for anyone who wants to understand how to effectively deploy a Rails application using Docker and Kubernetes. You will need to understand Rails and have basic knowledge of what Docker and Kubernetes are used for.

Inhaltsverzeichnis

Frontmatter
Chapter 1. Development
Abstract
In this chapter we are going to create a new Rails application from scratch using the latest version. We are going to build an API-only application so we can test it easily. Also, the idea of using containers to deploy applications makes more sense when we have small applications. That’s because, in this kind of architecture, we’ll be pulling and pushing images to a Docker registry all the time, and it’s better to have lightweight images if we want to have faster deploys.
Pablo Acuña
Chapter 2. Setting Up Tools for Production
Abstract
One reason a lot of people enjoy using tools like Kubernetes and ECS is their integration with cloud providers. It can be very challenging to configure a cluster by hand, even if you use modern tools like Kubernetes. You have to configure the way your nodes are going to join the cluster and communicate with each other, the service discovery mechanism, and the integration with the extra tools the Cloud offers, like load balancers and persistent storages.
Pablo Acuña
Chapter 3. Kubernetes
Abstract
Kubernetes defines itself as an open source system for automating deployment, scaling, and management of containerized applications. Google originally designed this product, and it’s based on years of experience running containerized architectures. Since this is an open source project, it also has a very big community behind it—one that constantly discusses improvements and new ideas.
Pablo Acuña
Chapter 4. Amazon EC2 Container Service
Abstract
Although every container orchestration framework uses its own specific language for its concepts, they all try to solve the same issues. That’s why you’ll find some similarities between Amazon EC2 Container Service (ECS) and Kubernetes but also a couple of differences in the way they solve the issues. One strong point in favor of ECS is that because it’s a native AWS (Amazon Web Services) technology, it is completely integrated with the other components, such as VPC (Virtual Private Cloud), EC2, ELBs (Elastic Load Balancers), and Route53. The main issue with ECS is that it is coupled to AWS, and currently you can’t run an ECS cluster on other cloud providers, which makes sense since it’s an Amazon technology.
Pablo Acuña
Chapter 5. Continuous Integration
Abstract
In this chapter I’ll show how you can automate the entire deployment process using Jenkins for both platforms, Kubernetes and ECS. Our final goal is to be able to update our application by pushing to some Git branch.
Pablo Acuña
Backmatter
Metadaten
Titel
Deploying Rails with Docker, Kubernetes and ECS
verfasst von
Pablo Acuña
Copyright-Jahr
2016
Verlag
Apress
Electronic ISBN
978-1-4842-2415-1
Print ISBN
978-1-4842-2414-4
DOI
https://doi.org/10.1007/978-1-4842-2415-1