Containerized Solutions

What is a Container?

A container is a standard unit of software that packages up code and all its dependencies

 

Applications run reliably from one computing environment to another.

 

Standalone, executable package of software that includes everything needed to run an application: code, runtime, system tools, system libraries and settings.

Advantages

When deployments are easy and repeatable, the operations job gets easier. Team members can perform any role. There doesn’t need to be a distinction between development and operations.

 

This contrasts with the process of operations teams trying to build suitable environments from written documents/talking to developers. Developers better test the runtime environment for the application.

Motivation

To ease QA/PO demos.

Docker

A Dockerfile scripts the building of a runtime environment for an application.

FROM node:12.11.1-alpine

# Install and setup Java
RUN apk --update --no-cache add openjdk8
ENV JAVA_HOME /usr/lib/jvm/java-1.8-openjdk

# Make port 8080 available to the world
# outside this container
EXPOSE 8080

# Copy over the application and its packages
WORKDIR /usr/app/fxtrader
COPY ./apps/fxtrader .
COPY ./packages-caplin ../../packages-caplin/.

# Install the application
RUN yarn install --silent
 "buildcontainer": "docker build -f Pro.Dockerfile -t pro:latest ../../",
 ...
 "runcontainer": "docker run -P -it --name pro pro yarn start",

Demo-ish

Future

Add URLs to PRs

 

Help our clients deploy applications

 

Make dev environment more realistic

Title Text

Containers generally do one thing well. An orchestrator brings together the containers enlisted in the effort into a cohesive whole system. Orchestration is the mastermind, focused on the bigger picture.

 

Docker can run a workload in a container, but all it knows about the lifecycle of a container is that it starts and ends with a given process.

Title Text

availability, fault tolerance, scale, networking, discovery, and cost, load balancing, partition tolerance, instrumentation

 

managing complex deployments. It enables handling many moving parts and keeping the operation up, healthy, and thriving.

 

After reaching the desired state, they monitor for disruption to that state and restore it when there’s a deviation.

Title Text

  • Swarm
  • Mesosphere
  • Amazon ECS
Made with Slides.com