Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Sagacity
May 2, 2003
Hopefully my epitaph will be funnier than my custom title.
What do you guys consider the most painless way of deploying docker containers to AWS? They have something called ECS and Elastic Beanstalk which seems nice, but is it actually good to use when you just want to automate everything or should I look at a different automation layer like (random selection) Convox or Rancher?

Adbot
ADBOT LOVES YOU

Vulture Culture
Jul 14, 2003

I was never enjoying it. I only eat it for the nutrients.

Sagacity posted:

What do you guys consider the most painless way of deploying docker containers to AWS? They have something called ECS and Elastic Beanstalk which seems nice, but is it actually good to use when you just want to automate everything or should I look at a different automation layer like (random selection) Convox or Rancher?
EC2 Container Service isn't bad. You have to follow the directions exactly and make sure you create the IAM role and create the container host instances with that IAM role. Setup is a little touchy if you get these parts wrong. The weakest part of ECS is load balancing: it seems like right now you can only send a single port to a service via an ELB, which is bizarre if you want to do really basic stuff like listen on both HTTP and HTTPS.

It takes less than 15 minutes to get set up on though, so you might as well just give it a shot.

If you're not tied down to AWS, Google Container Engine is a pretty well-flushed out container grid.

v1nce
Sep 19, 2004

Plant your brassicas in may and cover them in mulch.
Elastic Beanstalk (EB) wraps the EC2 Container Service (ECS), OpsWorks and EC2 management. It'll provide you the greatest level of abstraction, but with that you sacrifice the ability to customise your setup.
Some of the core wins for EB are docker support, blue/green deploy, versioning, migration, load balancing and health monitoring.

If you want to avoid nitty-gritty, you can follow a guide like this and get up and running relatively quickly. However, if you want to customise anything on AWS outside of EB, you'll soon be poking around OpsWorks and ECS, and might find you need to drop EB and configure services more directly.

Sagacity
May 2, 2003
Hopefully my epitaph will be funnier than my custom title.
Interesting, thanks! I'm not really tied down to AWS, I have a few things there already but that's only stuff like static sites hosted in S3 and some Route 53 DNS stuff.

My requirements are fairly simple, I just want to run a dockerized Java app that I can update without downtime (so behind a load balancer that I can autoregister the app with), a hosted database (preferably Postgres, though I guess Google's MySQL-based one is also fine) and lots of object storage that's easily accessed through HTTP, like S3. If I can automate as much of the devops works as possible that would be nice. I've done Chef stuff in the past and got everything to work but it's really too much hassle for what is going to be (hopefully) a fairly simple service. Ideally I'll run a simple Jenkins instance at home, build stuff on that and have it deployed automatically on success.

AFAICT that'll mainly leave me with AWS, Google or Azure, since other options require me to do a lot of the infra management myself. Do you guys have a preference for one of these three managed options?

Edit: Looks like the free tier of Codeship in combination with AWS will work for me. It'll allow me to commit to BitBucket and have it autodeployed. Seems good.

Sagacity fucked around with this message at 15:11 on Jan 8, 2016

Vulture Culture
Jul 14, 2003

I was never enjoying it. I only eat it for the nutrients.

Sagacity posted:

AFAICT that'll mainly leave me with AWS, Google or Azure, since other options require me to do a lot of the infra management myself. Do you guys have a preference for one of these three managed options?
I can't speak for Azure but GCE's network is a loving ghetto

wins32767
Mar 16, 2007

Any advice on hiring a devops person as a manager who has done related work (development, systems administration) but not the devops role specifically?

wwb
Aug 17, 2004

I think the key difference between sysadmins and devops folks is the approach to the problem. Sysadmins fix things so they aren't broke. Devops types recast the system so that problem will never happen again in a way where you've got revision history and rollback baked in.

The interview questions I'd start with are:

# What is your line between "this is a manual process and 'we must script this'" -- devops should answer "what kind of crack are you smoking to have a manual process; script all the things."
# What is your favorite VCS? -- devops should have an educated answer here.
# Why are orchestration systems better than shell scripts? -- devops should have an educated answer here too, traditional sysadmins who get orchestration systems will note something like "yeah, fewer lines of bash"

Vulture Culture
Jul 14, 2003

I was never enjoying it. I only eat it for the nutrients.

wins32767 posted:

Any advice on hiring a devops person as a manager who has done related work (development, systems administration) but not the devops role specifically?
I swear to God I'm going to lose my poo poo and harpoon the next person who refers to "devops role." The very idea of a DevOps role is completely antithetical to DevOps.

wins32767
Mar 16, 2007

Vulture Culture posted:

I swear to God I'm going to lose my poo poo and harpoon the next person who refers to "devops role." The very idea of a DevOps role is completely antithetical to DevOps.

What a wonderful, productive comment. I'm certainly illuminated by it.

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

wins32767 posted:

What a wonderful, productive comment. I'm certainly illuminated by it.

DevOps is a culture shift toward fostering communication between developers and operations. That's it.

For some reason, people call developer roles with a focus on automation of operations tasks "devops".

I gave up fighting against the name a while ago.

wins32767
Mar 16, 2007

Ithaqua posted:

DevOps is a culture shift toward fostering communication between developers and operations. That's it.

For some reason, people call developer roles with a focus on automation of operations tasks "devops".

I gave up fighting against the name a while ago.

Thanks, that's helpful. Our CTO and I are doing the operations now, so there is no meaningful daylight between operations and development, nor do we want there to be. What we do want is someone who has an interest in automating and managing our infrastructure as well as keeping an eye on our design and architectural choices with an eye towards making sure we're making decisions that result in infrastructure that isn't a nightmare to support in a couple years. It doesn't feel like an OG sys admin position (since we want them involved in design and architecture discussions) as well as automating the hell out of our infrastructure. If that's not DevOps, what would you call it?

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

wins32767 posted:

Thanks, that's helpful. Our CTO and I are doing the operations now, so there is no meaningful daylight between operations and development, nor do we want there to be. What we do want is someone who has an interest in automating and managing our infrastructure as well as keeping an eye on our design and architectural choices with an eye towards making sure we're making decisions that result in infrastructure that isn't a nightmare to support in a couple years. It doesn't feel like an OG sys admin position (since we want them involved in design and architecture discussions) as well as automating the hell out of our infrastructure. If that's not DevOps, what would you call it?

It's a developer position. All the developers should be contributing. You want to hire another developer, and some development tasks are infrastructure automation tasks.

A devops role is just saying "let's totally automate the incredibly critical stuff and make sure the knowledge of that automation is understood and maintained by as few people as possible"

minato
Jun 7, 2004

cutty cain't hang, say 7-up.
Taco Defender
I think it's totally possible for there to be a DevOps role, because someone has to ensure the teams are adhering to the DevOps principles. I don't think it's enough for the managers to walk in and pronounce that "We're doing DevOps now. Dev, talk to Ops more often, and vice-versa." Someone has to keep the ball from getting dropped. Are Devs just as much on the on-call hook as Ops when prod falls over? Is Ops getting invited to Dev's design/architecture meetings? Is there shared ownership of the build-test-deploy pipeline, and who is responsible for maintaining and developing that?

In the same way that there's a ScrumMaster who (amongst other things) is responsible for keeping the team aligned to Agile principles, there can be a "DevOpsMaster" who has a good understanding of the principles and the mandate to enforce them. It's not a given that this person would necessarily be a manager; in some companies, managers are more concerned with developing their reports' abilities than with deciding how they do their job.

wins32767
Mar 16, 2007

Ithaqua posted:

It's a developer position. All the developers should be contributing. You want to hire another developer, and some development tasks are infrastructure automation tasks.

A devops role is just saying "let's totally automate the incredibly critical stuff and make sure the knowledge of that automation is understood and maintained by as few people as possible"

I'm struggling with the "all developers should be contributing" piece. I'm uncomfortable with junior developers being involved in operations on a production environment. It's asking a lot of them to master a language and framework, much less all of the other pieces of infrastructure that support a production environment. Dealing with production systems also requires a degree of judgement that takes a while (and dealing with multiple self inflicted problems) to develop. I can see the value of involving them in writing infrastructure automation. Being able to actually execute changes in production, especially in a highly regulated domain, feels different to me. Maybe I'm too old school.

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

wins32767 posted:

I'm struggling with the "all developers should be contributing" piece. I'm uncomfortable with junior developers being involved in operations on a production environment. It's asking a lot of them to master a language and framework, much less all of the other pieces of infrastructure that support a production environment. Dealing with production systems also requires a degree of judgement that takes a while (and dealing with multiple self inflicted problems) to develop. I can see the value of involving them in writing infrastructure automation. Being able to actually execute changes in production, especially in a highly regulated domain, feels different to me. Maybe I'm too old school.

They're not operating on production environments. They're writing automation scripts that will be well-tested and well-understood in lower environments before they ever touch production. You should, at the very least, have a staging environment that is 100% the same as production.

wins32767
Mar 16, 2007

Ithaqua posted:

They're not operating on production environments. They're writing automation scripts that will be well-tested and well-understood in lower environments before they ever touch production. You should, at the very least, have a staging environment that is 100% the same as production.

Right, and the script writing is the part I'm fine with. But we need someone who is capable of getting on production environments that are having issues, figuring out what's wrong, and fixing the problem. That's the managing infrastructure piece I referred to.

Stoph
Mar 19, 2006

Give a hug - save a life.
If anything, DevOps could be someone's part-time role reviewing Pull Requests to your infrastructure automation scripts.

Everyone should be encouraged to contribute. If the deploy fails due to someone loving up the Ansible playbook, blue/green rollout and integration tests should cover it.

wins32767
Mar 16, 2007

The other thing about a systems/infrastructure specific job that's helpful from a management perspective is that it's not someone that the business folks are going to push to be working on features rather than infrastructure. Another developer could easily be pulled into feature work that has revenue figures attached "just for this sprint".

I'm starting to see the value of developing a culture where all the developers work on infrastructure automation, but if I hire a developer I'm not going to have anyone to do the systems work we badly need until I change the whole culture.

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

wins32767 posted:

Right, and the script writing is the part I'm fine with. But we need someone who is capable of getting on production environments that are having issues, figuring out what's wrong, and fixing the problem. That's the managing infrastructure piece I referred to.

That's where an operations team comes in that actually has access to those machines. That's where the devops culture is in play. Instead of spending 3 days filling out request tickets and dealing with administrative red tape, the developer says "hey mr. ops guy, I need to get onto this box for a few minutes" and they work together to solve the problem. Except that should rarely happen, because nothing should be changing in your infrastructure that isn't source controlled, reviewed, and being promoted through several lower stages first for testing.

wins32767 posted:

The other thing about a systems/infrastructure specific job that's helpful from a management perspective is that it's not someone that the business folks are going to push to be working on features rather than infrastructure. Another developer could easily be pulled into feature work that has revenue figures attached "just for this sprint".

It's up to the business to prioritize what they want delivered. If they want you to work on things that generate revenue and are willing to have you not working on infrastructure tasks to get it, you either shrug and do what they want or convince them otherwise.

Vulture Culture
Jul 14, 2003

I was never enjoying it. I only eat it for the nutrients.

minato posted:

I think it's totally possible for there to be a DevOps role, because someone has to ensure the teams are adhering to the DevOps principles. I don't think it's enough for the managers to walk in and pronounce that "We're doing DevOps now. Dev, talk to Ops more often, and vice-versa." Someone has to keep the ball from getting dropped. Are Devs just as much on the on-call hook as Ops when prod falls over? Is Ops getting invited to Dev's design/architecture meetings? Is there shared ownership of the build-test-deploy pipeline, and who is responsible for maintaining and developing that?
So instead of having a manager make everyone magically play ball, you hire a non-manager with no authority whatsoever to magically make everyone play ball. Now instead of two silos, you have two slightly smaller silos and an engineer screaming from the mountaintop in between them. You're right that you need culture change to happen, but this doesn't help enable it.

minato posted:

In the same way that there's a ScrumMaster who (amongst other things) is responsible for keeping the team aligned to Agile principles, there can be a "DevOpsMaster" who has a good understanding of the principles and the mandate to enforce them. It's not a given that this person would necessarily be a manager; in some companies, managers are more concerned with developing their reports' abilities than with deciding how they do their job.
Sure, most teams benefit from having leads and organizers. But you wouldn't call that ScrumMaster a Scrum or a Scrum Role.

wins32767
Mar 16, 2007

Ok, so let me change the conversation a bit here. What's the kind of skills that a small but very rapidly growing company should look for in their first hire in a role that needs to handle some operations work? There isn't enough work for a full time operations position, nor will there be for at least a year, but I want to lay a good foundation.

Vulture Culture
Jul 14, 2003

I was never enjoying it. I only eat it for the nutrients.

wins32767 posted:

Ok, so let me change the conversation a bit here. What's the kind of skills that a small but very rapidly growing company should look for in their first hire in a role that needs to handle some operations work? There isn't enough work for a full time operations position, nor will there be for at least a year, but I want to lay a good foundation.
What kind of stack? What duties are they going to be expected to perform? Who will they be sharing the load with?

Erwin
Feb 17, 2006

wins32767 posted:

Ok, so let me change the conversation a bit here. What's the kind of skills that a small but very rapidly growing company should look for in their first hire in a role that needs to handle some operations work? There isn't enough work for a full time operations position, nor will there be for at least a year, but I want to lay a good foundation.

What skills are missing in your current staff that are preventing your company from automating its deployment pipeline? Find someone with those skills. You're looking for someone to help the rest of you get on the same page so everyone can participate, not to do it for you.

Vulture Culture posted:

I swear to God I'm going to lose my poo poo and harpoon the next person who refers to "devops role." The very idea of a DevOps role is completely antithetical to DevOps.

Right, the term is Thought Leader.

Vulture Culture
Jul 14, 2003

I was never enjoying it. I only eat it for the nutrients.

Erwin posted:

Right, the term is Thought Leader.
don't trigger me

wins32767
Mar 16, 2007

Vulture Culture posted:

What kind of stack? What duties are they going to be expected to perform? Who will they be sharing the load with?

Rails/MySQL on Centos. To start with: Rebuild our infrastructure to be fault tolerant, get us tooling to support Continuous Delivery, troubleshoot and resolve production issues. Me and the CTO to start.

StabbinHobo
Oct 18, 2002

by Jeffrey of YOSPOS

wins32767 posted:

Rails/MySQL on Centos. To start with: Rebuild our infrastructure to be fault tolerant, get us tooling to support Continuous Delivery, troubleshoot and resolve production issues. Me and the CTO to start.
you'd rather pay a salary than heroku

FamDav
Mar 29, 2008
with some combination of heroku, circleci, and github you could get your setup running a poor version of continuous deployment in a few hours.

Vulture Culture
Jul 14, 2003

I was never enjoying it. I only eat it for the nutrients.
It's probably not a zero-effort thing to get the app working as a 12-factor app, but it's not exactly an ordeal either

BennyGsGhost
Jun 27, 2002

Low P/B or Bust
Pillbug
I'm hoping this is the best place for this question. I'm trying to setup a small cluster to get a better handle on ELK and automation/management (using Ansible/etc). Right now I'm just running VMs on VMWare Player, and I have baby's first two machine cluster up and running.

Is there a better tool I can use to accomplish this? Would something like Vagrant allow me to easily spin up machines (ideally five or so, I think), or should I just scale the VM setup?

Vulture Culture
Jul 14, 2003

I was never enjoying it. I only eat it for the nutrients.

Ben Grahams Ghost posted:

I'm hoping this is the best place for this question. I'm trying to setup a small cluster to get a better handle on ELK and automation/management (using Ansible/etc). Right now I'm just running VMs on VMWare Player, and I have baby's first two machine cluster up and running.

Is there a better tool I can use to accomplish this? Would something like Vagrant allow me to easily spin up machines (ideally five or so, I think), or should I just scale the VM setup?
Depends what you're trying to do. If you're looking to have a bunch of VMs set up so that you can test a bunch of different playbooks corresponding to various server roles, for instance, you might be better off with something like Vagrant and Test Kitchen with the Ansible provisioner. If you're trying to set up clusters of interrelated services, stick with how you're already doing things for your sanity's sake.

Pollyanna
Mar 5, 2005

Milk's on them.


Ithaqua posted:

They're not operating on production environments. They're writing automation scripts that will be well-tested and well-understood in lower environments before they ever touch production. You should, at the very least, have a staging environment that is 100% the same as production.

Just please, please don't do stupid poo poo like give your 1-month old junior developers full access to your deprecated server templating and environment system and set them off on their own without expecting something to go wrong.

God, am I glad I have a job that knows what to do with me now.

BennyGsGhost
Jun 27, 2002

Low P/B or Bust
Pillbug

Vulture Culture posted:

Depends what you're trying to do. If you're looking to have a bunch of VMs set up so that you can test a bunch of different playbooks corresponding to various server roles, for instance, you might be better off with something like Vagrant and Test Kitchen with the Ansible provisioner. If you're trying to set up clusters of interrelated services, stick with how you're already doing things for your sanity's sake.

I took some doing but I got my vagrant cluster up and working with ansible, it's pretty cool even if building a vagrant file to accomplish what I wanted wasn't as easy as I thought - thanks for the advice.

wins32767
Mar 16, 2007

StabbinHobo posted:

you'd rather pay a salary than heroku

Working in a regulated domain has implications that makes going with Heroku a hard sell, both internally and to our customers.

Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell

There was noise a while back about Herokus performance with high traffic sites. I think it was with the site Rap Genius.

Did that ever get addressed?

Less Fat Luke
May 23, 2003

Exciting Lemon

Thermopyle posted:

There was noise a while back about Herokus performance with high traffic sites. I think it was with the site Rap Genius.

Did that ever get addressed?
Yeah basically Heroku had two hosting systems, one legacy and one not legacy. The legacy one had a really terrible global load balancing algorithm and Heroku blogged like 12,000 words about how bad it was when all of the complaints were apparently non-existent in the modern (at the time even) Heroku offerings.

Pollyanna
Mar 5, 2005

Milk's on them.


wins32767 posted:

Working in a regulated domain has implications that makes going with Heroku a hard sell, both internally and to our customers.

Try working in finance and insurance. Heroku, JIRA, and BitBucket were all banned until recently.

Stoph
Mar 19, 2006

Give a hug - save a life.

Pollyanna posted:

Try working in finance and insurance. Heroku, JIRA, and BitBucket were all banned until recently.

At my job Heroku is still banned. JIRA is hosted on premise so it's fine. BitBucket is marketed as a fork called Atlassian Stash if it's hosted on premise.

Bhodi
Dec 9, 2007

Oh, it's just a cat.
Pillbug

Stoph posted:

At my job Heroku is still banned. JIRA is hosted on premise so it's fine. BitBucket is marketed as a fork called Atlassian Stash if it's hosted on premise.
You've got it backwards. Bitbucket is now the on prem stash replacement, called the same as hosted. Has a few new features, we upgraded last month.

Virigoth
Apr 28, 2009

Corona rules everything around me
C.R.E.A.M. get the virus
In the ICU y'all......



Bhodi posted:

You've got it backwards. Bitbucket is now the on prem stash replacement, called the same as hosted. Has a few new features, we upgraded last month.

good luck, Bitbucket has been hot garbage lately. We're seeing 1 to 2 issues a week with issues around the API right now. Last Friday when you hit the merge button in the GUI it would go into an eternal spin and sometimes merge or sometimes not. If you are doing a lot of code reviews I would suggest you get fisheye/crucible to do those on as the bitbucket pull request page only works well with smaller pull requests from my experience.

Adbot
ADBOT LOVES YOU

Boz0r
Sep 7, 2006
The Rocketship in action.
What are peoples' thoughts on TeamCity vs Jenkins?

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply