Skip to content

Instantly share code, notes, and snippets.

@codenamegary
Created September 8, 2014 19:19
Show Gist options
  • Save codenamegary/f483cd6a624ef64a841e to your computer and use it in GitHub Desktop.
Save codenamegary/f483cd6a624ef64a841e to your computer and use it in GitHub Desktop.
Dev-ops Resource Needed

#SKILLED DEV-OPS RESOURCE NEEDED FOR TEMPORARY / PART-TIME CONTRACT

##BACKGROUND

We are a small development team focused on mostly LAMP (or LEMP) based application development. We have traditionally deployed to hosting solutions using a PaaS like PagodaBox or FortRabbit. Some of our internal and client projects are beginning to grow and we need to focus on moving our hosting out to a more robust solution using Amazon, SoftLayer, BlueMix (CloudFoundry) or some other provider of your choosing.

Applications are entirely custom and built on either Laravel or Symfony, there is no Wordpress or Joomla or any other CMS involved in any of the existing projects.

Currently, we are a small team of sales and developers. We are familiar with all of the technologies involved in deploying to Amazon through Elastic Beanstalk and other facilities but do not have the will nor manpower to automate and assemble the process as much as we'd like. We are looking to augment and fill the dev-ops gap in our skills with a person who can help us establish new deployment processes and automate as much as possible.

We are looking for somebody who can help ween us off of a PaaS and into the world of Puppet, Chef, Vagrant and any other utilities we may not even know about. Primarily we are looking to setup and configure some infrastructure that will give us many features of a PaaS while still achieving the level of customization and options we need. We also need documentation, training and general support on whatever solution is installed. The dev team you'll be working with has beginner to intermediate skills in things like linux, shell scripting, general hardware and virtualization, all sorts of programming languages, git, cron, Amazon AWS (we've deployed successfully there before, kind of a mystery) and a thirst for knowledge. We simply just need help! Please teach us.

##HIGH LEVEL SPECIFICS

###OVERVIEW

We'd like you to consult and advise, but generally we believe we need the following.

  • A container (scripts / utilities / other things) that will have the same type of base components
  • Linux, Apache, MySQL, PHP (LAMP)
  • PHP >= 5.4, 5.5 and 5.6 options preferred
  • MySQL >= 5.5
  • Apache >= 2.2
  • Linux (prefer Ubuntu or Debian but open to CentOS or other suggestions)
  • Caching (Redis preferred, Memcache nice to have)
  • Queues and cron jobs
  • Virtual hosts and DNS wild cards
  • Multiple applications
  • Git based deployment
  • Automated backups
  • Future considerations for Java, Ruby, RoR, Node.js and Python based environments
  • SSL provisioning / configuration
  • Scale up and scale out options

###SHARED DEMO/TEST ENVIRONMENT

We need one giant mess for a shared environment that shares resources across multiple applications. We'll use this environment for the plethora of demos, development and testing apps we pump out. They are all essentially low priority and not subject to the same kinds of isolation requirements as productin applications.

  • Used for hosting demo and test experiences
  • Hosts things that require fault tolerance but do not require the same level of isolation as distinct production workloads
  • Memory, CPU, database and other components may or may not be shared
  • Requires fault tolerance at all levels, e.g. – MySQL master/slave, web server clustered, etc.
  • Must retain ability to provision applications independently, e.g. – App1 = vhost1, App2 = vhost2, db1 = mysql server 1, db2 mysql server 2
  • Git based deployment

###PRODUCTION ENVIRONMENTS

For projects that go live we need to deploy individual containers, distinct from any of the shared components. Generally, resources cannot be shared between production applications although there may be some exceptions.

  • Isolated applications with their own sets of components, distinct and firewalled or otherwise separate from any other application
  • Essentially a distinct clone of the “shared” container where the apps contained within have no access to any other container
  • A single production app may be comprised of several smaller apps, each needs to share resources within the container

###SLA

  • Wherever we host these things, we are thinking a 99.95% or better SLA would be suitable

#INTERESTED? CAN YOU HELP US?

Just contact me!

gary@powrit.com

@mclemme
Copy link

mclemme commented Dec 17, 2014

Long time no see, just stumbled upon your github. Did some puppet stuff @ spotify and automated deployments w/ jenkins+puppet+AWS+custom tools @ Xstream, let me know if you want to pick my brain!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment