Skip to content

dllz/e-commerce-microservice

 
 

Repository files navigation

Microservice Application on Amazon EKS

Introduction

Amazon Elastic Container Service for Kubernetes (EKS) allows you to deploy, manage, and scale containerized applications in the cloud using Kubernetes.

Use this blueprint to deploy a sample microservice-based application on EKS. The release template that the blueprint generates connects to an existing EKS cluster or provisions a new cluster and deploys the sample application to it.

Before you get started

If you're new to XebiaLabs blueprints, check out:

Prerequisites

  • XebiaLabs Release Orchestration and Deployment Automation up and running
  • AWS Access Key and Secret Key for an account that can deploy the application
  • A Jenkins server up and running for publishing your Docker images

Special instructions

  1. Fork the https://github.com/xebialabs/e-commerce-microservice repository
  2. Clone your fork of the repository

For more detailed instructions, see Deploy an app to AWS using a blueprint

Usage

To use this blueprint, run xl blueprint in the forked e-commerce-microservice directory of the repository you just cloned and select:

aws/microservice-ecommerce

Tools and technologies

This blueprint includes the following tools and technologies:

Minimum required versions

This blueprint version requires at least the following versions of the specified tools to work properly:

  • XL Release: Version 9.0
  • XL Deploy: Version 9.0
  • XL CLI: Version 9.0

Information required

  • AWS Access Key (find it in ~/.aws/credentials)
  • AWS Secret Access Key (find it in ~/.aws/credentials)
  • An AWS region
  • The Amazon EKS cluster endpoint (if deploying to an existing cluster)
  • The Kubernetes namespace

Output

  • Release templates
  • AWS CloudFormation templates
  • Infrastructure:
    • EKS cluster (master, workers, config map, namespace)
    • Amazon S3 bucket for the application
    • AWS Lambda artifacts for the application
    • Networking infrastructure: Virtual Private Cloud (VPC), subnets, route table
    • Security infrastructure: IAM role
  • A docker-compose setup for XL Release, XL Deploy and Jenkins

Notes

  • Before you run the xl apply command, define a Jenkins server as a shared configuration in XL Release and put its name in the xlr-pipeline-ci-cd.yaml file. If you use the provided docker-compose files this will be automatically setup for you.
  • The YAML that the blueprint generates includes optional steps to remove the application and deprovision the cluster.

Labels

  • Cloud
  • AWS
  • Kubernetes

About

E-commerce microservice demo application

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Java 52.9%
  • TypeScript 42.2%
  • HTML 2.3%
  • JavaScript 0.9%
  • CSS 0.7%
  • Groovy 0.6%
  • Other 0.4%