Skip to content

Instantly share code, notes, and snippets.

View StevenACoffman's full-sized avatar

Steve Coffman StevenACoffman

View GitHub Profile
@StevenACoffman
StevenACoffman / Eureka vs Consul.md
Last active March 9, 2024 08:11
Eureka vs Consul

Comparison of Spring Cloud with Eureka

I feel Consul.io does better in the following area:

  • The focus on scriptable configuration allows for better container management.
    Eureka requires either external Configuration Server or multiple configuration files.

  • The options for securing communications is more advanced.
    Eureka requires creating application with security settings desired. Default will allow HTTP only. Registration of end points assumes http but can be forced to https with code.

@StevenACoffman
StevenACoffman / Apps Gateway.md
Last active October 14, 2017 14:11
Apps Gateway
A Note about Microservices Design

Ideally, each service should have only a small set of responsibilities. Robert 'Uncle Bob' Martin talks about designing classes using the Single Responsibility Principle (SRP). The SRP defines a responsibility of a class as a reason to change, and states that a class should only have one reason to change. It make sense to apply the SRP to service design as well.

Another analogy that helps with service design is the design of Unix utilities. Unix provides a large number of utilities such as grep, cat and find. Each utility does exactly one thing, often exceptionally well, and can be combined with other utilities using a shell script to perform complex tasks.

Adrian Cockcroft (former Netflix Cloud Architect, current Amazon VP of Cloud Architecture) says that a microservice is something that one developer should be able to write/re-write from scratch in two to three weeks.

Helpful patterns for designing microservices:

@StevenACoffman
StevenACoffman / kafka_install.md
Created May 8, 2017 15:42 — forked from leommoore/kafka_install.md
Kafka - Messaging Basics

#Kafka - Messaging Basics This assumes you are starting fresh and have no existing Kafka or ZooKeeper data. See http://kafka.apache.org/documentation.html#quickstart for more details.

##Install Java

sudo apt-get install python-software-properties
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
  • I do not want to do my best
    • I will not do it -> I can concentrate -> I get better progress -> I can go home -> I do not have to work hard tomorrow -> Great victory
  • In order not to do it all
    • Have the computer work hard. Humans do not work hard.
  • How to make your computer do its best
    • Record
    • Review
    • Test
    • Release
  • Division of roles
@StevenACoffman
StevenACoffman / Footnote.md
Last active June 2, 2017 23:13
Footnote.md
Normal Key Value1
BoldKey Bla bla 1

1 Footnote content here.

@StevenACoffman
StevenACoffman / serverless webpack
Last active June 12, 2017 20:27
serverless webpack
From [here](http://forum.serverless.com/t/how-to-use-babel-on-serverless-framework/549/9)
@StevenACoffman
StevenACoffman / _MicroService Proxy Gateway Solutions.md
Last active July 15, 2024 05:12
Microservice Proxy/Gateway Solutions

MicroService Proxy Gateway Solutions

Kong, Traefik, Caddy, Linkerd, Fabio, Vulcand, and Netflix Zuul seem to be the most common in microservice proxy/gateway solutions. Kubernetes Ingress is often a simple Ngnix, which is difficult to separate the popularity from other things.

Github Star Trend:

Github Star History for Kong vs traefik vs fabio vs caddy vs Zuul

This is just a picture of this link from March 2, 2019

Originally, I had included some other solution

@StevenACoffman
StevenACoffman / Methods for deploying kubernetes.md
Last active August 9, 2017 04:29
Methods for deploying kubernetes
defaults write com.apple.LaunchServices/com.apple.launchservices.secure LSHandlers -array-add \
'{LSHandlerContentType=public.plain-text;LSHandlerRoleAll=com.macromates.textmate.preview;}'
#!/usr/bin/env python
import boto.vpc
import time
REGION_NAME = 'us-west-2'
AMI_ID = 'ami-8e27adbe' # Amazon Linux AMI
conn = boto.vpc.connect_to_region(REGION_NAME)
# Create a VPC