Top 5 DevOps Bad Habbits

adminDevOps, OpEdLeave a Comment

Recently, we were asked to name our top (5) DevOps “Worst Practices” (or anti-patterns). Here's what we came up with…

#1. Not looking outside the organization to see how others are solving the problem. Always building new things rather than looking for readymade solutions (open source, SaaS, or enterprise offerings) which leads to piles of technical debt & inevitable snowflake infrastructures.

#2. Not building easy tools that the rest of the company can use. We must never forget who we are serving. Developers are our customers too.

#3. Not treating DevOps as a shared responsibility. It needs to be embedded into the engineering organization, not relegated to a select few individuals. “DevOps” is more of a philosophy than a job title.

#4. Not treating Infrastructure as Code. We call this new paradigm GitOps, where Git system of record for all infrastructure and CI/CD is our delivery mechanism.

#5. Never ever commit to `master`. We don't do it in regular software projects, we shouldn't do it for ops. Everyone should be following the standard Git Workflow on their Infrastructure Code (Feature Branching, Pull Requests, Code Reviews, CI/CD). This increases transparency and helps the rest of the team stay up to date with everything going on.

Unlimited Staging Environments

adminCI/CD, DevOps, SlidesLeave a Comment

How to run complete, disposable apps on Kubernetes for Staging and Development

What if you could rapidly spin up new environments in a matter of minutes entirely from scratch, triggered simply by the push of a button or automatically for every Pull Request or Branch. Would that be cool?

That’s what we thought too! Companies running complex microservices architectures need a better way to do QA, prototype new features & discuss changes. We want to show that there’s a simpler way to collaborate and it’s available today if you’re running Kubernetes.

Tune in to learn how you can assemble 100% Open Source components with a CodeFresh CI/CD Pipeline to deploy your full stack for any branch and expose it on a unique URL that you can share. Not only that, we ensure that it’s fully integrated with CI/CD so console expertise is not required to push updates. Empower designers and front-end developers to push code freely. Hand it over to your sales team so they can demo upcoming features for customers! The possibilities are unlimited. =)

Slides

Quip Plugin for WordPress

adminProjectsLeave a Comment

We just published our New WordPress Plugin for @quip. Easily embed quip documents in any #wordpress post or page. Check it out here!

WordPress Plugin Directory: https://wordpress.org/plugins/wp-quip/

GitHubhttps://github.com/cloudposse/wp-quip

Screenshot 1: Example Usage

Screenshot 2: Admin UI

Summary

To embed the content of a Quip document into a WordPress page or blog post, install the plugin and then use the quip shortcode.

quip shortcode accepts two attributes and has the following format:

[quip id="mWnnAszre3MW" ttl=7200] 

where

  • id (Required) – The ID of the Quip document (e.g. https://cloudposse.quip.com/mWnnAszre3MW)
  • ttl (Optional) – Time-To-Live in seconds. After the first request to the Quip API, the plugin caches the content of the document (HTML and images) for the specified amount of time (seconds). All consecutive requests to the same page or blog post will not call the Quip API again but instead will retrieve the document from the internal cache, making the pages faster. After the ttl expires, the plugin will call the Quip API and cache the result again. If the ttl attribute is not provided, the default value of 7200 seconds (2 hours) is used. You can change the default value in Quip Settings (menu Settings/WP Quip). If ttl is set to 0, the plugin will not cache the Quip API responses, and every request to the WordPress page or blog post will call the Quip API.

 

 

Unlimited Staging Environments with Kubernetes

Erik OstermanCI/CD, Cloud Technologies, MeetupLeave a Comment


Last week we had the pleasure of listening to David Huie present at the DevOps Mastermind at WeWork Promenade. David is an infrastructure engineer at Dollar Shave Club, where he’s helping DSC shave the world using Kubernetes. He presented how they've achieved the Holy Grail of QA automation: running “Unlimited Staging Environments with Kubernetes.”

Problem

In modern micro-services architectures, there is a serious need for ad-hoc staging environments since it's often infeasible for developers to run the entire stack on their laptops. At the same time, static staging environments can be difficult to scale as an organization's infrastructure and engineering team grow.

Solution

To counter this effect, Dollar Shave Club created a Kubernetes-based system to enable an unlimited number of environments, bounded only by the capacity of the underlying Kubernetes cluster running some 38 nodes! At its core, is an Open Source project called Furan which rapidly builds Docker containers in Docker (DnD). Using their CI/CD system and an in-house tool called Amino, they are then able to automatically spawn environments composed of many independent projects, where each project is pegged to a specific version (e.g. branch or tag).

Outcome

The company is able to iterate much faster which has sped up application delivery at DSC.

About the Speaker

Prior to joining Dollar Shave Club, David’s worked at Splice, NationBuilder, and Yelp. David has a degree in Computer Science from Harvey Mudd College.

Follow David on Twitter: https://twitter.com/davidhuie

Slides

Slides from the presentation are below. We'll be posting video & transcripts shortly.

Unlimited Staging Environments with Kubernetes

Join us at the next Santa Monica DevOps Mastermind Meetup!

Register here: https://www.meetup.com/DevOpsMastermind/

Rock Solid WordPress

Erik OstermanCloud ArchitectureLeave a Comment

Learn how Cloud Posse recently architected and implemented WordPress for massive scale on Amazon EC2. We'll show you exactly the tools that we used and our recipe to both secure and power WordPress setups on AWS using Elastic Beanstalk, EFS, CodePipeline, Memcached, Aurora and Varnish.