#office-hours (2019-04)

Meeting password: sweetops

Public “Office Hours” are held every Wednesday at 11:30 PST via Zoom. It’s open to everyone. Ask questions related to DevOps & Cloud and get answers! https://cpco.io/slack-office-hours

Public “Office Hours” are held every Wednesday at 11:30 PST via Zoom. It’s open to everyone. Ask questions related to DevOps & Cloud and get answers! https://cpco.io/slack-office-hours

Meeting password: sweetops

2019-04-25

mohamed.naseer avatar
mohamed.naseer
01:28:52 AM

@mohamed.naseer has joined the channel

2019-04-23

fernando.alvan avatar
fernando.alvan
08:16:46 AM

@fernando.alvan has joined the channel

2019-04-22

dalekurt avatar
dalekurt
04:32:58 PM

@dalekurt has joined the channel

2019-04-17

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)
apk add [email protected]
tmate-session --start # | --stop | --server

2019-04-10

jober avatar
jober
06:44:11 PM

@jober has joined the channel

oscarsullivan_old avatar
oscarsullivan_old
osulli/geodesic-getting-started

A getting-started guide for Cloud Posse’s Geodesic. - osulli/geodesic-getting-started

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)
cloudposse/testing.cloudposse.co

Example Terraform Reference Architecture that implements a Geodesic Module for an Automated Testing Organization in AWS - cloudposse/testing.cloudposse.co

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)

terraform init -from-module=....

raehik avatar
raehik
06:55:56 PM

@raehik has joined the channel

Josh Larsen avatar
Josh Larsen
07:15:10 PM

@Josh Larsen has joined the channel

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)
mumoshu/variant

Wrap up your bash scripts into a modern CLI today. Graduate to a full-blown golang app tomorrow. - mumoshu/variant

Alex Siegman avatar
Alex Siegman

I tuned in late, are these office hours recorded by zoom where I could rewatch it later?

Alex Siegman avatar
Alex Siegman

Thanks all, especially @Erik Osterman (Cloud Posse) for hosting and @oscarsullivan_old for the demo

fiesta_parrot1
cool-doge1
Alex Siegman avatar
Alex Siegman

Sad I couldn’t join in at the beginning, sprint planning ran long

oscarsullivan_old avatar
oscarsullivan_old

happy to answer Qs on the flow or show again

jober avatar
jober

Thanks so much for the time it was very helpful!

raehik avatar
raehik

big thanks for that! lot of stuff I can discuss with the team & hopefully get using the newer Geodesic versions (we’re using a ver older than my PR T_T)

oscarsullivan_old avatar
oscarsullivan_old
07:42:42 PM

My boilerplate terraform.tf – saves a lot of repetition across projects and took a long time to build up.

Alex Siegman avatar
Alex Siegman

I think the confusion I have in adopting it is what goes in Dockerfile vs what might go in an .envrc and what/how do i split up my terraform in to digestable chunks. I haven’t really dug in in earnest yet, though. It keeps getting bumped in sprint planning and I haven’t had time to just get started outside work hours

oscarsullivan_old avatar
oscarsullivan_old

Have just added comments to the terraform.tf

oscarsullivan_old avatar
oscarsullivan_old

Dockerfile Vs .envrc/tfvars == Public Vs Private

Alex Siegman avatar
Alex Siegman

Yeah, but what is local to you - a specific app/service? a whole environment inside an account?

oscarsullivan_old avatar
oscarsullivan_old

a terraform project

oscarsullivan_old avatar
oscarsullivan_old

Examples:

Global variables: AWS_REGION, BUCKET_NAME, and STAGE
Local variables: JENKINS_INSTANCE_SIZE, API_NODE_COUNT, and CLUSTER_NAME
oscarsullivan_old avatar
oscarsullivan_old

Example variables set in the Dockerfile AKA public variables:

ENV TF_VAR_stage="sandbox"
ENV TF_BUCKET_REGION="${AWS_REGION}"
ENV TF_BUCKET="${NAMESPACE}-${TF_VAR_stage}-terraform-state"
ENV TF_DYNAMODB_TABLE="${NAMESPACE}-${TF_VAR_stage}-terraform-state-lock"
Alex Siegman avatar
Alex Siegman

Yeah, my issue is, what does that terraform project represent? looks like to you it means a service? Jenkins in that example

oscarsullivan_old avatar
oscarsullivan_old

Example .envrc AKA ‘local variables’

# Set JENKINS specific variables and export them to Terraform, Atlantis, and env
export JENKINS_INSTANCE_SIZE="t2.large"
export JENKINS_DOMAIN_NAME="[jenkins.domain.com](http://jenkins\.domain\.com)"
oscarsullivan_old avatar
oscarsullivan_old

Yes I usually break down a TF project into a service

oscarsullivan_old avatar
oscarsullivan_old

If I did a whole stack it’d be a nightmare IMO

oscarsullivan_old avatar
oscarsullivan_old

That would just become a monolithic infrastructure project

Alex Siegman avatar
Alex Siegman

Yeah, that’s what I’m trying to avoid

oscarsullivan_old avatar
oscarsullivan_old

It’s like.. a micro-service but infrastructure

oscarsullivan_old avatar
oscarsullivan_old

that’s how I go about it

oscarsullivan_old avatar
oscarsullivan_old

or maybe just a service, not a micro-service.. key point is that my project called jenkins only contains jenkins related stuff

Alex Siegman avatar
Alex Siegman

As much as I’d love to be able to go “aws, give me a new account, run terraform on it, hey look my new environment is done” I’m not sure that’s as useful as it sounds.

oscarsullivan_old avatar
oscarsullivan_old

so r53 records for jenkins etc

:--1:1
oscarsullivan_old avatar
oscarsullivan_old

I’m sure I shared a project I use

oscarsullivan_old avatar
oscarsullivan_old

ah damn not merged and its about a month old

oscarsullivan_old avatar
oscarsullivan_old

already changed a fair bit

Alex Siegman avatar
Alex Siegman

I mean, I’m working my boss, I’m hoping I can just hire Erik and the team to jumpstart the whole process, this becomes a moot-ish point that I don’t have to decide alone

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)

haha thanks @Alex Siegman

Alex Siegman avatar
Alex Siegman

On that thread, what’s the best way to have a more formal discussion with y’all about that?

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)

@Alex Siegman let’s jump on a call later this week. Find a time here that works for you: https://calendly.com/cloudposse

:--1:1
Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)

2019-04-03

Alex Siegman avatar
Alex Siegman

Yeah, no conference rooms available

Alex Siegman avatar
Alex Siegman

I dislike open offices~

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)

ah bummer

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)

any questions I can monologue to you?

Alex Siegman avatar
Alex Siegman

Yeah, I pitched the idea of hiring y’all to help bootstrap a bunch of projects we don’t have time for

1
Alex Siegman avatar
Alex Siegman

Could you explain how you might go through getting started with us and basic costs

Alex Siegman avatar
Alex Siegman

I can hear, just can’t talk

Alex Siegman avatar
Alex Siegman

Yeah, we need line cooks

Alex Siegman avatar
Alex Siegman

Yeah, I like the aws account arch + kubernetes + release engineering + all that

Alex Siegman avatar
Alex Siegman

I built out our roadmap long before I found y’all, and they almost exactly match

Alex Siegman avatar
Alex Siegman

kubecost sounds awesome

Alex Siegman avatar
Alex Siegman

I hadn’t worked out the details on a lot of stuff, just the general arch

Alex Siegman avatar
Alex Siegman

we’re moving towards a services architecture

Alex Siegman avatar
Alex Siegman

When you say 8 sprints, is that 8 weeks?

Alex Siegman avatar
Alex Siegman

ah, okay, so 16 weeks

Alex Siegman avatar
Alex Siegman

Right now we have a bunch of legacy crap, about 8 or so services, that need a bunch of code work to split up

Alex Siegman avatar
Alex Siegman

and has a data monolith behind the app/code monolith

Alex Siegman avatar
Alex Siegman

and we have about 6 new services

Alex Siegman avatar
Alex Siegman

that are all containered / 12factor etc.

Alex Siegman avatar
Alex Siegman

You can thank me for that

Alex Siegman avatar
Alex Siegman

I pushed hard lol

Alex Siegman avatar
Alex Siegman

Then on top of that, we have another company we bought that i need to fold in to this at some point

Alex Siegman avatar
Alex Siegman

so you basically have a prod / preprod / unlimited-staging environments clusters?

Alex Siegman avatar
Alex Siegman

okay, so, 2 there, plus shared

Alex Siegman avatar
Alex Siegman

got it

Alex Siegman avatar
Alex Siegman

yeah, 100%

Alex Siegman avatar
Alex Siegman

my concern there with unlimited staging though is, then that differs from prod

Alex Siegman avatar
Alex Siegman

i don’t quite understand the technical way to set that up, but i love the idea

Alex Siegman avatar
Alex Siegman

yeah, mock sqs, eg.

Alex Siegman avatar
Alex Siegman

so with unlimited staging, are you still mocking stuff like SQS?

Alex Siegman avatar
Alex Siegman

Yeah, slick

Alex Siegman avatar
Alex Siegman

So, how would you approach a customer who has an existing production environment?

Alex Siegman avatar
Alex Siegman

Would you use that as your root account, and build org out from there?

Alex Siegman avatar
Alex Siegman

Yeah, I was looking at doing that completely fresh thing, but the logistics of migrating 8ish years of data boggled my mind

Alex Siegman avatar
Alex Siegman

DMS doesn’t work for us, we tried =(

Alex Siegman avatar
Alex Siegman

It doesn’t support some postgres features we use

Alex Siegman avatar
Alex Siegman

That it is not But downtime is frowned upon

Alex Siegman avatar
Alex Siegman

I’m pushing separate down to RDS, all new services are working that way

Alex Siegman avatar
Alex Siegman

But, maybe I can make a case for it yet. I’m trying, we just don’t have enough dudes to do the work

Alex Siegman avatar
Alex Siegman

I don’t disagree

Alex Siegman avatar
Alex Siegman

I understand the value add

Alex Siegman avatar
Alex Siegman

I briefly looked at it

Alex Siegman avatar
Alex Siegman

I guess lastly, how do you approach helping a dev team learn and adopt new ways to develop services? We’ve got a lot of old school dudes who are still using vagrant boxes and stuff

Alex Siegman avatar
Alex Siegman

doggo stream!

Alex Siegman avatar
Alex Siegman

Grats!

Alex Siegman avatar
Alex Siegman

Nicely done @oscarsullivan_old

fast_parrot3
Alex Siegman avatar
Alex Siegman

I have to tap out. Thanks for the time @Erik Osterman (Cloud Posse); enlightening as always. I’m excited to see updates to the ref archs. Hopefully I can dedicate time to geodesic and getting my stuff off the ground here soon Or talk someone in to spending more money

1

2019-04-01

oscarsullivan_old avatar
oscarsullivan_old

I won’t be able to make this Wednesday’s Office Hours

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)

thanks for the heads up

Erik Osterman (Cloud Posse) avatar
Erik Osterman (Cloud Posse)

actually, I should update it now to announce to #announcements

    keyboard_arrow_up