aws community day blr - 2017

15
Creating Container Native Workflows using Argo Neependra Khare, CloudYuga @neependra

Upload: neependra-khare

Post on 22-Jan-2018

272 views

Category:

Software


0 download

TRANSCRIPT

Creating Container Native Workflows using Argo

Neependra Khare, CloudYuga

@neependra

About the Presenter

• Founder and Principal Consultant at CloudYuga

• Docker Captain

• Author of “Introduction to Kubernetes” course on Edx

• Author of Docker Cookbook

• Co-author of “Introduction to Cloud Infrastructure Technologies” course on Edx

• Self Paced online courses at school.cloudyuga.guru• Containers Fundamentals - Docker, runC & rkt, online self paced course (2017)• Containers (Docker) for Dev and QA , online self paced course (2017)

• Running Docker Meetup Group in Bangalore for more than 3 years now

Workflows

• What• Running any work serially or parallelly

• Perform operations, based on some policy

• Examples• Continuous Integration/Deployment

• Scanning container images for security

• Prepare a work environment on demand

• Deploy an application

• ….

What is Argo ?

The Workflow Engine for Kubernetes

• Open Source project manager by Applatix• https://argoproj.github.io

• Container Native Workflow Engine

What is Argo ?

• Open Source Container Native Workflow• Run CI/CD workflows

• Build Docker images within Docker containers

• Deploy stateful microservices based apps

• Migrate data across environments

• Built in artifact management, secret management and lifecycle management of dev/test resources

• Configuration as code (YAML for everything)

Argo

Workflows Artifacts Fixtures

Kubernetes

DinD/KinK

Argo

Compute(EC2)

Volumes(EBS/EFS)

Load balancing(ELB)

Auto scaling(ASG)

Blobs(S3)

DNS(Route 53)

Admission Control

• Delays workflows until there are sufficient resources to run the workflow.

• Allows implementation of QoS (Quality of Service) controls.

• Prevents overloading Kubernetes with too much work that cannot be scheduled.

• Prevents resource deadlocks when executing complex workflows.

Workflows and Steps

• Workflows• consists of a sequence of sequential and/or parallel steps.

• it may be arbitrarily nested.

• Step• basic execution unit of a workflow.

• executed by running a container.

• may be a workflow, which contains other steps.

Artifacts

• Artifact is a collection of files/directories that can be used as input or output to a step in a workflow.

• Internal Artifact• referenced only within the execution of a particular workflow.

• Exported artifacts• may be referenced by other workflows.

Fixtures

• Fixtures are external services that can be accessed by workflows like EC2 instances, RDS DB, test VMs• Static Fixture

• Service, already registered with Argo

• Dynamic Fixture• Created automatically before executing the workflow

Other Components

• Configuration Management

• Secret Management

• Policies• to automatically trigger the workflows

Demo

Current Status of Argo

• Sets up fully managed Kubernetes Cluster on AWS

• Run workflows on that

Argo Lite (In Progress)• Connect to any Kubernetes Cluster

• Deploys using one single command

• Run workflows

https://argoproj.github.ioJoin the momentum

Thankshttps://www.linkedin.com/in/neependra/

@neependra