Introduction to Automated Zero Downtime Deployment

Github

Codepipeline

ECS

$whoami

  • Asjad Saboor

  • Technical Lead @ 10Pearls

  • Full Stack JS Developer

Agenda

 

  • What is Container orchestration?
  • What is AWS ECS?
  • Explore some basic AWS services
  • Overview of Infrastructure diagram
  • Deploy NodeJS API using ECS
  • Automate deployment process using Codepipeline

Container Orchestration

Container Orchestration

  • Automation of all aspects of coordinating and managing containers which includes
    • ​Configuring and scheduling of containers
    • Provisioning and deployments of containers
    • Availability of containers
    • Scaling of containers to equally balance application workloads across infrastructure
    • Allocation of resources between containers
    • load balancing, traffic routing and service discovery of containers
    • Health monitoring of containers
    • Securing the interactions between containers.

Container Orchestration Tools

What is ECS?

  • Elastic Container Service
  • Highly scalable, high-performance container orchestration service
  • Let you host your services in serverless infrastructure
  • Fargate - Containers without servers
  • Has three main components:
    •  Elastic Container Registry
    •  Clusters
    •  Task Definitions

Some more AWS services

  • Amazon Relational Database Service (RDS)
  • Security Groups
  • Codepipeline
  • VPC
  • Cloud Watch for logging
  • Load balancer

What is Codepipeline?

  • A continuous delivery service to model, visualize, and automate the steps required to release your software.
  • Supports zero downtime deployment.

Infrastructure Diagram

Let's begin deployment....

Questions?

Thank you

Feedback

https://bit.ly/2Zhn5m0

NodeJS Training - ECS

By Asjad Saboor

NodeJS Training - ECS

  • 386