Git Product home page Git Product logo

cloud-boot-camp's Introduction

Cloud Boot Camp

Cloud Boot Camp is a series of training, exercises, and projects for HUIT to bring a team of admins and engineers up to speed and ready to support a large, highly visible online Harvard application.
This repository holds the centralized documentation, planning, and coordination for Cloud Boot Camp.

Most of the content for this repository will be captured in the wiki. It will also serve as an "index" to other repos -- the digital artifacts of this project-based training -- that will be captured here in th HUIT GitHub org. By capturing this in a central place, it'll be not only straightforward to support the platform, but will bootstrap other support efforts and resources in the future.

Quick-Links

The projects this work is targeting are:

Purpose

Our goals with this initiative and set of exercises are:

  • Develop an ability within HUIT to support a set of high-profile sites in AWS by July 26
  • Create a cross-discpline team that can handle support concerns at varying levels in the "stack," and of varying complexity
  • Engineer supporting services and refine current technology to reduce to a minimum the hands-on support needed for production sites
  • Collaborately develop a support "playbook" for the sites in question
  • Develop a model for supporting production sites in the cloud that will inform ongoing planning around CLoud & Devops in HUIT

Not only do we want to "catch up," at the end we want to lead the way!

Background Information

This effort represents not only the support of a new platform, but also a new approach to IT. So to properly support the platform, you will need to change gears in the way you approach systems and software.

Many think of the cloud as a new type of service born of the need to reduce power for storage and servers, and to reduce cost. While that plays into it, the primary reason that cloud was developed is to enable automation & agility at the infrastructure level, the sort of things that a DevOps approach looks for. In fact, it more useful to think of cloud as the logical outcome to the pressures applied by DevOps. I.e. Cloud is a set of technologies that are built to implement DevOps Processes.

Given that, the natural way to use the cloud โ€“ and to support apps in the cloud โ€“ is with DevOps approaches and toolsets.

So ... time to switch gears.

Tools

Here is a list of tools you'll want to install and have available as we move forward. (This is not exhaustive, and perhaps not even suffucient. Feel free to contribute). Most of these work better on Mac or Linux, since over the past few years they have become the prefered OS's for devops engineering.

Basic Tools

On the Mac, Homebrew let's this installation happen quickly & easily. After installing homebrew, make sure that /usr/local/bin is the first in your path, then brew install ... the rest. Takes 3-5 minutes.

DevOps Tooling

AWS Tools

Collaboration Tools

  • HipChat We'll use this for communciation and tracking changes to code and builds in real time.
  • Mailing List: TBD

Extras

If you want to hang with the cool kids, take a look at these tools as well:

  • MOSH The MObile SHell, let's you reconnect to SSH sessions without interruption. Use (brew to install)
  • SublimeText
  • Docker The next big thing in app deployment (built-in with Vagrant >= v1.6).

Project Exercises

Each of these projects are intended to mimic or augment the application, release tooling, or supporting technology around the application (such as logging. monitoring, instrumentation, and resiliency testing). We break each aspect into self-contained components, define a useful exercise -- simplified in complexity but still transferable to the real world -- around each area. We'll then break into teams and implement.

The artifacts of this work -- all code, data, etc. -- will be captured into git repos within the GitHub org, along with accompanying documentation.

The Exercises

Resources

We will need more here ... please contribute!

AWS

Deployment

Supporting Services

Standards

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.