100% found this document useful (10 votes)
42 views

Get A Field Guide to the Distributed Development Stack 1st Edition Andrew Odewahn free all chapters

Field

Uploaded by

rheesolwensm
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (10 votes)
42 views

Get A Field Guide to the Distributed Development Stack 1st Edition Andrew Odewahn free all chapters

Field

Uploaded by

rheesolwensm
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 60

Download the full version of the ebook at ebookname.

com

A Field Guide to the Distributed Development Stack


1st Edition Andrew Odewahn

https://ebookname.com/product/a-field-guide-to-the-
distributed-development-stack-1st-edition-andrew-odewahn/

OR CLICK BUTTON

DOWNLOAD EBOOK

Download more ebook instantly today at https://ebookname.com


Instant digital products (PDF, ePub, MOBI) available
Download now and explore formats that suit you...

Field Guide to Wisconsin Sedges An Introduction to the


Genus Carex Cyperaceae 1st Edition Andrew L. Hipp

https://ebookname.com/product/field-guide-to-wisconsin-sedges-an-
introduction-to-the-genus-carex-cyperaceae-1st-edition-andrew-l-hipp/

ebookname.com

A Practical Guide to Distributed Scrum IBM Press 1st


Edition Woodward

https://ebookname.com/product/a-practical-guide-to-distributed-scrum-
ibm-press-1st-edition-woodward/

ebookname.com

Field Guide to Radiometry SPIE Press Field Guide FG23


Barbara Grant

https://ebookname.com/product/field-guide-to-radiometry-spie-press-
field-guide-fg23-barbara-grant/

ebookname.com

Emotions in American History An International Assessment


1st Edition Jessica C. E. Gienow-Hecht

https://ebookname.com/product/emotions-in-american-history-an-
international-assessment-1st-edition-jessica-c-e-gienow-hecht/

ebookname.com
Elemental Moon Necromancer Games d20 System 3rd Edition
Rules 1st Edition Feel Lance Haxvermale

https://ebookname.com/product/elemental-moon-necromancer-
games-d20-system-3rd-edition-rules-1st-edition-feel-lance-haxvermale/

ebookname.com

The Monster Within The Hidden Side of Motherhood 1st


Edition Barbara Almond Md

https://ebookname.com/product/the-monster-within-the-hidden-side-of-
motherhood-1st-edition-barbara-almond-md/

ebookname.com

Secular Theology American Radical Theological Thought 1st


Edition Clayton Crockett

https://ebookname.com/product/secular-theology-american-radical-
theological-thought-1st-edition-clayton-crockett/

ebookname.com

Genomics and Clinical Medicine 1st Edition Dhavendra Kumar

https://ebookname.com/product/genomics-and-clinical-medicine-1st-
edition-dhavendra-kumar/

ebookname.com

The Worlds of Herman Kahn The Intuitive Science of


Thermonuclear War 1st Edition Sharon Ghamari-Tabrizi

https://ebookname.com/product/the-worlds-of-herman-kahn-the-intuitive-
science-of-thermonuclear-war-1st-edition-sharon-ghamari-tabrizi/

ebookname.com
Auditory and Vestibular Research Methods and Protocols 1st
Edition Casilda Trujillo-Provencio

https://ebookname.com/product/auditory-and-vestibular-research-
methods-and-protocols-1st-edition-casilda-trujillo-provencio/

ebookname.com
A Field Guide to the Distributed
Development Stack
A Field Guide to the Distributed Development Stack
by Andrew Odewahn
Copyright © 2014 Andrew Odewahn. All rights reserved.
Printed in the United States of America.
Published by O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebasto‐
pol, CA 95472.
O’Reilly books may be purchased for educational, business, or sales promo‐
tional use. Online editions are also available for most titles ( http://safaribook‐
sonline.com ). For more information, contact our corporate/institutional sales
department: 800-998-9938 or [email protected] .

Editor: Andrew Odewahn


Copyeditor: Amanda Kersey
Interior Designer: David Futato
Cover Designer: Edie Freedman
October 2014: First Edition
Revision History for the First Edition
2004-10-01: First Release

While the publisher and the author(s) have used good faith efforts to ensure
that the information and instructions contained in this work are accurate, the
publisher and the author(s) disclaim all responsibility for errors or omissions,
including without limitation responsibility for damages resulting from the use
of or reliance on this work. Use of the information and instructions contained
in this work is at your own risk. If any code samples or other technology this
work contains or describes is subject to open source licenses or the intellec‐
tual property rights of others, it is your responsibility to ensure that your use
thereof complies with such licenses and/or rights.

978-1-491-91658-2
[LSI]
Table of Contents

Introduction 1
How to Contribute 3

The Cloud Is the Default Platform 5


Traditional Cloud Providers 6
Hosted PaaS 6
Internal Services 7
For More Information 8

CI Servers Deploy Code, Not Ops 9


Tools 10
Continuous Deployment 11

The Codebase Is in Git 13


Tools 14

The Entire Application Runs Locally in Development 17


Tools 17

The Environment Is Automated in the Code 21

iii
Tools 22
For More Information 23

The Monitoring Infrastructure Is Critical 25


Tools 26

Tests Done in Code, Not by a QA Department 29


Tools 29

Containerization for Production Services 31

Real-time Chat and Chatbots 35


Chat 37
Chatbots 37
For More Information 38

Appendix: Contributors 39

Survey 41

iv | Table of Contents
Introduction

This project began while we were developing Atlas (https://


atlas.oreilly.com/), O’Reilly Media’s next-generation publishing
tool. It seemed like every day we were finding interesting new
tools in the DevOps space, so I started a “Sticky” for the most
interesting-looking tools so I could explore them later.

At first, this worked fine. I was content to simply keep a list,


where my only ordering criteria was “Huh, that looks cool.
Someday when I have time, I’ll take a look at that,” in the same
way you might buy an exercise DVD and then only occasion‐
ally pull it out and think “Huh, someday I’ll get to that.” But, as

1
anyone who has watched DevOps for any length of time can
tell you, it’s a space bursting with interesting and exciting new
tools, so my list and guilt quickly got out of hand.
Once I reached the limits of the Sticky as a medium, I started to
look for patterns in my list. Some were obvious. For example,
many of the tools, like Ansible, Salt, or (to a certain extent)
Dockerfiles, fit into a clear infrastructure-automation group
pioneered by Chef, CFEngine, and Puppet. So, too, the many
cloud services.
But where would something like CoreOS, Docker, or Mesos fit?
As I thought about how to group them, they seemed somehow
tied up with the notion of containerization, but that just
seemed too narrow. Rather, these projects and tools were part
of a much larger trend — enabling clustering and distributed
computing—and containerization was just a piece. So, rather
than group by technology, it made sense to me to group by
trend—in other words, what did the tool enable, and why was
that trend important?
Simultaneously, other people at O’Reilly were also exploring
this same question, but from a different perspective. In "Every‐
thing is distributed (http://radar.oreilly.com/2014/05/everything-
is-distributed.html),” Courtney Nash, the chair of Velocity
(http://velocityconf.com/), was asking “how do we manage sys‐
tems that are too large to understand, too complex to control,
and that fail in unpredictable ways.” In "Beyond the stack
(http://radar.oreilly.com/2014/05/beyond-the-stack.html),” Mike
Loukides was thinking about how “a new toolset has grown up
to support the development of massively distributed applica‐
tions,” and described the profound consequences that the shift
from well-tended, internal servers to disposable VMs was hav‐
ing on the traditional “LAMP” stack. (As well as its hipster
cousin, the MEAN stack (http://meanjs.org/).)
So, it’s from this context that my Sticky list grew into this Field
Guide to the Distributed Development Stack (http://

2 | Introduction
sites.oreilly.com/odewahn/dds-field-guide/). The Guide is
organized into buckets based on a general observation, such as:

• The cloud is the default platform (http://


sites.oreilly.com/odewahn/dds-field-guide/ch02.html)
• CI servers deploy code, not ops (http://
sites.oreilly.com/odewahn/dds-field-guide/ch03.html)
• The codebase is in git (http://sites.oreilly.com/
odewahn/dds-field-guide/ch04.html)
• The entire application runs locally in development
(http://sites.oreilly.com/odewahn/dds-field-guide/
ch05.html)
• The environment is automated in the code (http://
sites.oreilly.com/odewahn/dds-field-guide/ch06.html)
• The monitoring infrastructure is critical (http://
sites.oreilly.com/odewahn/dds-field-guide/ch07.html)
• Tests done in code, not by a QA department (http://
sites.oreilly.com/odewahn/dds-field-guide/ch08.html)
In addition to being a (hopefully) useful framework, the Guide
is also meant to be a living resource. So, we’ve put the source on
GitHub (https://github.com/odewahn/dds-field-guide) and
invite you to contribute. If you feel like we’ve missed a tool
(which we most certainly have, since new things are popping
up every day) or a major theme, then fork the repo and send
me a pull request. We’ll be keeping this document up to date
and republishing it as we watch this trend continue to grow.
We’ll use O’Reilly Atlas to pull in the contributions and period‐
ically republish the guide.
This is still very much a work-in-progress, but I hope it will be
a resource you’ll add to your own Sticky collection.

How to Contribute
To contribute to the DDS field guide: Fork this repo Agree to
the O’Reilly Contributor License Agreement (http://

How to Contribute | 3
contributor-agreements.oreilly.com/) Add your tool / contribution
Submit a pull request
If your request is accepted, we’ll add you to the Contributors
page.

Making a larger contribution


If you want to make a suggestion or contribution that is larger
than just a single tool, it might make sense to begin the conver‐
sation as a GitHub issue, rather than a pull request. For exam‐
ple, if you want to add a new theme, or want to add a major
narrative section, it would be good to discuss that first to make
sure it’s suitable for the guide. While I certainly don’t want to
limit what people contribute in any way, it’s also the case that
this guide will be centrally curated by me and other O’Reilly
contributors.

4 | Introduction
The Cloud Is the Default Platform

The accelerating transition to distributed, cloud-based plat‐


forms is one of the main drivers of the DDS trend. Organiza‐
tions have adopted these services for a number of reasons: cost
savings, increased speed for launching new projects, and scala‐
bility, to name just a few.
But, whatever the reasons for adoption, the default platform for
many applications is increasingly assumed to be a transient,
virtual, cloud-based platform, rather than a traditional server
maintained by an internal IT group. Even in cases where the
virtualization/PaaS solution is maintained in an internal cloud,
the net effect is much the same.
The various platforms you’re likely to encounter in this new
world can be divided into three main groups:

• Traditional cloud providers. These allow you to


quickly create storage or computing power as
needed.
• Hosted PaaS services. These are value-added services
built on top of raw hosting providers. For example, a
PaaS might allow you to easily spin up a machine
based on a particular stack when you deploy your
application.

5
• Internal cloud and PaaS services.
These are tools and services you’re likely to encounter here:

Traditional Cloud Providers


There are lots of hosting services. Here are some of the more
popular:

• Amazon Web Services (http://aws.amazon.com/).


AWS is probably the original model for pay-as-you-
go infrastructure and remains one of the leading
cloud platforms.
• Google Compute Engine (https://cloud.google.com/
products/compute-engine/). Google’s cloud platform,
which has become much more compelling now that
they have open sourced their cluster management
tools (http://googlecloudplatform.blogspot.com/
2014/06/an-update-on-container-support-on-google-
cloud-platform.html).
• Azure (http://www.windowsazure.com/). Microsoft’s
cloud offering.
• Rackspace cloud (https://mycloud.rackspace.com/).
The cloud offering from Rackspace is mostly about
compute power and storage. The API is well done,
and the customer service is generally outstanding.
Overall, though, it’s not as full-featured as AWS.

Hosted PaaS
Hosted PaaS services add a layer on top of the raw offerings of
hosting providers:

• Heroku (https://www.heroku.com/). A PaaS service


built on top of AWS. Unlike AWS, which gives you a
raw machine, Heroku allows the developer to push

6 | The Cloud Is the Default Platform


an application into the service and have a corre‐
sponding application stack provision for the
machine.
• OpenShift (https://www.openshift.com/) is a cloud-
hosted PaaS solution developer by RedHat, the com‐
pany behind RHEL (http://www.redhat.com/prod
ucts/enterprise-linux/) Linux distribution.
• Digital Ocean (https://www.digitalocean.com/). A
lower-cost alternative to AWS that says it focuses on
developers. It seems to be what a lot of developers
use for side projects.
• Linode (https://www.linode.com/) is a hosting service
that offers SSD for really fast access.

Internal Services
These are tools that create virtual internal clouds (i.e., on prem‐
ise). While they’re technically running in your own internal
datacenter, they enable the concept of scalable, on-demand
resources:

• Open Stack (https://www.openstack.org/). Open


source software for building private and public
clouds.
• VMWare vCloud Suite (http://www.vmware.com/
products/vcloud-suite/). A tool for running and man‐
aging VMWare images in your own data center.
• Mesos (http://mesos.apache.org/) / Marathon (https://
github.com/mesosphere/marathon) / Chronos
(https://github.com/airbnb/chronos) are a trio of tech‐
nologies for managing and scheduling processes
across a cluster of machines. Apache Mesos provides
the core clustering technology for the stack. Mara‐
thon, from Mesosphere (http://mesosphere.io/), is a
distributed tool for starting, stopping, and managing

Internal Services | 7
individual jobs on a Mesos cluster. (So, it’s like a dis‐
tributed version of init (http://en.wikipedia.org/wiki/
Init) or upstart (http://upstart.ubuntu.com/)). Chro‐
nos, developed by Airbnb’s engineering team, is a
distributed, fault-tolerant replacement for cron (the
classic UNIX job scheduling tool) for scheduling
when jobs will start.
• OpenShift Origin (https://openshift.github.io/) is an
open source version of RedHat’s Open Shift plat‐
form.

For More Information


You can find more important background at The Twelve Factor
App (http://12factor.net/).

8 | The Cloud Is the Default Platform


CI Servers Deploy Code, Not Ops

Martin Fowler defines continuous deployment (http://


www.martinfowler.com/articles/continuousIntegration.html) as
“a software development practice where members of a team
integrate their work frequently, usually each person integrates
at least daily - leading to multiple integrations per day.” This
seminal article defines the key best practices as:

• Maintain a single source repository.


• Automate the build.
• Make your build self-testing.
• Everyone commits to the mainline every day.
• Every commit should build the mainline on an inte‐
gration machine.
• Keep the build fast.
• Test in a clone of the production environment.
• Make it easy for anyone to get the latest executable.
• Everyone can see what’s happening.
• Automate deployment.
The CI server executes a specific action on a repository when it
receives a commit hook. For example, if a developer makes a
commit against a repository called foo, the CI server might:

9
• Clone down a local copy of foo.
• Execute foo’s test suites (see the section on applica‐
tion stacks for more about this).
• If the tests fail, send an alert to the development
team and halt the process.
• If the test suite passes, deploy the code to a staging
or even production server.

Tools
Here are a few of the CI servers you might encounter:

• Hudson (http://hudson-ci.org/). Hudson is a CI


server from Oracle written in Java.
• Jenkins (http://jenkins-ci.org/). Jenkins, a fork of
Hudson, is one of a leading open source CI servers.
It has a host of useful plug-ins for tasks like build
tasks, error reporting, and repository management.
• Buildbot (http://buildbot.net/). Buildbot is an open
source CI server based on Python.
• Travis (https://travis-ci.org/). Travis is a hosted CI
solution that is used primarily by the Ruby commu‐
nity, particularly Rails.
• Hubot (http://hubot.github.com/). Hubot is a chatbot
from GitHub. It allows you to easily create scripts
that you can use inside your chatroom (e.g., Camp‐
fire or HipChat) to deploy new code, receive mes‐
sages from the build server, or get messages from
your monitoring tools when things go wrong.
• [Shippable] (http://shippable.com/) Shippable is a
hosted CI solution built on Docker with Webhooks.
• [Werker] (http://wercker.com/). Werker is a hosted
CI solution built on Docker with Webhooks.

10 | CI Servers Deploy Code, Not Ops


Continuous Deployment
• [Distelli]
• [Capistrano]

Continuous Deployment | 11
The Codebase Is in Git

The version control system (VCS) is the heart of the process. At


the most basic level, a VCS allows developers to keep track of
all the changes made to a set of files and enables them to roll
back to specific points in time in case something screws up. In
some systems, like Subversion (http://subversion.apache.org/),
the code is checked out and then checked back in from a cen‐
tral repository. If there is a conflict between two developers’
files (for example, both of them edited the same line of code),
then the two version must be merged. This can be a painful
process.
In contrast, distributed version control systems (DVCS), like
Git (http://git-scm.com/), are the heart of most new develop‐
ment processes. Rather than having a central, master copy that
makes it difficult and expensive to merge a lot of contributions
from developers, a DVCS makes it simple (well, simpler!) to
have multiple people all working on the same codebase simul‐
taneously in different branches, and these branches can be
easily merged in a master branch.
While there are many different work styles, such as Git flow
(http://nvie.com/posts/a-successful-git-branching-model/), the
basic DVCS process is:

13
• There is an agreed-upon master repository, which is
often on a public service like GitHub (https://
github.com/) or BitBucket (https://bitbucket.org/), or
an internal server like GitLab (https://
www.gitlab.com/) or Mercurial (http://mercu
rial.selenic.com/).
• Each developer clones the master repository to his
or her local machine.
• The developer creates a new branch, usually for a
specific feature.
• The developer makes commits against the local copy.
• Once the feature is done, he or she merges the
branch back into the master branch and pushes the
change back to the master.
• Other developers pull from the master branch and
merge their branch.
• The merged copy preserves the full version history
of all the distributed copies.
In addition to these coordination functions, most version con‐
trol systems also offer a feature called a hook. A hook is a pro‐
cess that fires once a specific event, like a commit, happens to
the repository. Hooks can be defined in the repo itself, but also
in the hosting service. For example, GitHub lets you define
“service” hooks that are called whenever a specific event occurs.
These hooks are the tie-in to the continuous integration (CI
server).

Tools
Here are the key version control systems:

• Git (http://git-scm.com/). “Git is a free and open


source (http://git-scm.com/about/free-and-open-
source) distributed version control system designed

14 | The Codebase Is in Git


to handle everything from small to very large
projects with speed and efficiency.”
• Mercurial (http://mercurial.selenic.com/). “Mercurial
is a free, distributed source control management
tool. It efficiently handles projects of any size and
offers an easy and intuitive interface.”
Hosting services provide a central point where you can manage
and store all your code repositories. In addition to raw code
storage, they usually offer features like issue tracking, collabo‐
rator management, and other process-oriented services.
The following table lists hosting services managed by a 3rd
party. The pricing model is typically based on a block of reposi‐
tories for a monthly fee.

• GitHub (https://github.com/). One of the largest and


most successful Git hosting services.
• BitBucket (https://bitbucket.org/). Atlassian (https://
www.atlassian.com/)’s Git hosting solution.
• GitLab.com (https://www.gitlab.com/). A hosting ser‐
vice based on the popular open source project
GitLab HQ.
• Gitorious (https://gitorious.org/). Similar to GitLab, a
hosted version of an open source tool that you can
install and maintain yourself.
These are services that you can install and manage in your own
environment:

• GitLab (https://github.com/gitlabhq/gitlabhq).
“Project management and code hosting application.”
• Gitosis (https://github.com/tv42/gitosis). “software for
hosting Git repositories”
• Gitorious (https://gitorious.org/gitorious). The self-
hosted version of gitorious.org. (It’s a Rails app.)

Tools | 15
The Entire Application Runs Locally
in Development

One of the key tenets of the DDS movement is that developers


should have a simple way to install and run the entire app on
their local machine. Being able to run it on their own system
encourages creativity and flexibility and makes development
much more fun and productive.
Vagrant (http://www.vagrantup.com/) is the key tool here. Basi‐
cally, it takes the recipes you created with your environment
tool (e.g., your Chef or Puppet files) and provisions (creates) a
virtual machine that runs in a tool like Virtualbox (https://
www.virtualbox.org/) or VMWare (http://www.vmware.com/).
Vagrant automatically maps a virtual drive from the virtual
instance back to the host machine, allowing the developer to
use his or her favorite editor / IDE but still run the application
in an environment that matches the production environment as
closely as possible.

Tools
The following table summarizes tools you will encounter:

17
• Vagrant (http://www.vagrantup.com/). “Create and
configure lightweight, reproducible, and portable
development environments.”
• VirtualBox (https://www.virtualbox.org/). “Virtual‐
Box is a powerful x86 and AMD64/Intel64 Virtuali‐
zation (https://www.virtualbox.org/wiki/Virtualiza
tion) product for enterprise as well as home use.”
Free and open source! This tool allows you to run a
full image of another operating system (called the
“guest”) on your own machine (called the “host”).
• VMware (http://www.vmware.com/). One of the
original virtualization solutions; Vagrant has a paid
version that targets VMware fusion.
• ngrok (https://ngrok.com/). ngrok allows you to
share applications running on your local machine to
other users on the Internet. IT works by setting up a
tunnel to ngrok, which then revers proxy to allow
you to have a public URL. In the paid version (it’s a
donation model with a suggestion of $25, but you
pan pay what you want), you can have it proxy to a
custom domain.
• Vagrant Cloud (https://vagrantcloud.com/). A service
from the creator of Vagrant that allows you to share
versioned Vagrant images.

Replicating third-party APIs locally


The develop “everything on localhost” approach breaks down
somewhat when an application makes extensive use of third-
party APIs. Clearly, you could not simply install Twitter or
Facebook on your local machine. To get around this, there are a
number of tools for mocking up the API results returned by
these services. These include:

18 | The Entire Application Runs Locally in Development


• Canned (https://github.com/sideshowcoder/canned).
“Server to respond with fake API responses, by using
a directory of files for finding out what to say.”
• WireMock (http://wiremock.org/). “WireMock is a
flexible library for stubbing and mocking web serv‐
ices.”

Tools | 19
The Environment Is Automated in
the Code

A key idea (maybe the key idea) of DevOps is that the environ‐
ment in which your code will run should be modeled as code,
and not be some separate thing that is a black box. (And, as we
get a bit further down the stack, should be versioned with the
code as well.) It seems pretty basic, but the idea is that you
should have a “recipe” that allows you to recreate the environ‐
ment at any moment. Some of the key parts of managing the
environment include:

• General configuration. General configuration


includes setting up the basic requirements for the
app to even run, things like ensuring that whatever
directory it will live in actually exists, creating any
required users, setting up security groups, specifying
where log files should be stored, exposing (or block‐
ing) the proper ports, setting any required permis‐
sions, installing any license or cert files, and updat‐
ing packages. In short, anything and everything that
an app needs at the basic operating system level.
• Installation of the application stack. If you’re writing a
Rails app, for example, you’ll need to have the

21
Random documents with unrelated
content Scribd suggests to you:
Introduced over twelve years ago, it has held its position as the
Highest Grade of Flour ever produced

Sands, Taylor & Wood Co.


Boston and Providence
FLEISCHMANN’S
Compressed YEAST
HAS NO EQUAL
The MODEL HUB
makes
model
cooks

The plain, smooth and faultless lines of the

MODEL HUB
EBONY FINISH

Range on the outside are but the index to the splendid working
qualities on the inside.
HUB RANGES are perfectly adjusted cookers—great fuel and time
savers—thoroughly dependable—and the best cooks and leading
cooking schools use them because they are. Why don’t you?
Write us for a copy of “Range Talk, No. 9,” which tells all about the HUB Ranges.

SMITH & ANTHONY CO.


Makers 52–54 Union Street, Boston, Mass.
CHOICE
House Furnishings
FOREIGN and DOMESTIC.

No other house in this country can show such a variety. French Fry
Pans; Jelly Sieves; Enamelled, Tin, and Copper Moulds—more than
1200 patterns and different sizes; Soufflé Dishes; Coffee Mills;
Pepper Mills; Table Coffee Roasters; Coffee Pots and Machines; Pot-
au-feu; Shirred Egg Dishes; Casseroles; Marmites; Salad Forks and
Spoons; Salad Washers; Cook’s Knives; Hateletts; Vegetable Cutters;
Paste Cutters; Ramikens; Parisien Potato Cutters; Wood Cooking-
School Spoons; also, a large variety of English and German Culinary
Goods.
We call special attention to our Plate Warmers, to use with
charcoal and for register.
English Knife Machines clean from two to eight knives at a time.
Also, Knife Boards.
Fireplace Fittings, Andirons, Fenders, Fire Sets, Brushes, and
Bellows.

The Original
WATERMAN
Stores

F. A. WALKER & CO.


House Furnishers,
Importers—Wholesalers—Retailers.
Established, 1839.
Catalogues with 3000 illustrations at Store, or mailed on receipt of
20 cents for mailing.

83–85 CORNHILL, BOSTON, MASS.


SCOLLAY SQ. SUBWAY STATION.
Magic
Covers

Testimonials
I have sold over a thousand. After a few are sold they sell others.
Mrs. G. P. Witham,
Waterville, Me.

We have done away with the rolling board and use Magic Covers
for bread, cookies, doughnuts, and pastry. I recommend them in the
hospitals where I give lessons to the nurses.
Fannie Merritt Farmer,
Boston Cooking School.

I find the Covers all you claim; would not do without them. You
may send me 25.
L. A. Scattergood,
Syracuse Model Home and School.

Please send me two dozen and a half Covers. My pupils are very
much pleased with them, and a good many want them.
Stella A. Downing, N. E. Cooking School.
Price, 65 Cents, Postpaid.
MAGIC COVERS. WHAT ARE THEY?
The greatest invention of the age! A great saving of time,
strength, and material. Neat, durable, and effectual. Every
housekeeper should have one. By their use the softest dough can be
handled without the slightest possibility of sticking to moulding
board or rolling pin. They are guaranteed to be absolutely as
represented. One set will last for years. They will save many times
their cost in material alone. They are highly recommended by
leading cooks and teachers of cooking. Dough cannot stick to
Magic Covers.
Address
, Magic Cover Co.,
CORRINA, ME.
The Covers are better than I imagined. The very poetry of pastry
work.
Franc Baker, Morenci, Mich.
I have used the Covers and would not do without them.
Eloise P. Flord,
Grace Hospital, Detroit, Mich.

The class has used my covers and the ladies all want them. One
trial will sell a Magic Cover. I am sure I can sell five or six dozen.
Stella A. Dodge,
School of Domestic Science, Erie, Penn.

For
Rolling Pin
and
Bread Board
MISS FARMER’S NEW BOOK

Food & Cookery for the Sick and


Convalescent

By FANNIE MERRITT FARMER

Principal of Miss Farmer’s Cooking School, and author of “The Boston


Cooking School Cook Book,” and “Chafing-Dish Possibilities.”

WITH SIXTY ILLUSTRATIONS IN HALF-TONE

A work of exceptional interest and importance is the new book,


“Food and Cookery for the Sick and Convalescent,” by Fannie Merritt
Farmer, the author of “The Boston Cooking School Cook Book,” etc.
It is designed to meet the needs of the trained nurse, the mother, or
of any one having care of the sick. The work is the result of years of
study along the lines of food and feeding, and contains much
scientific knowledge simply given.
The opening chapters are invaluable to those whose duty it is to
care for the sick, and of equal importance to those who see in correct
feeding the way of preventing much of the illness about us. The
chapter on Infant Feeding is an authoritative guide to aid in the
development of the baby, and child feeding is considered with like
care.
The hundreds of recipes, many of which have their caloric value
given, are for the most part individual, thus requiring but a
minimum of time for their preparation. Suggestions as to diet in
various diseases have not been overlooked. Sixty full-page half-tone
illustrations add to the utility and beauty of the book.
12mo. Cloth. $1.50 net. Postpaid, $1.65.

LITTLE, BROWN, AND COMPANY, Publishers


34 Beacon Street, Boston, Mass.
Londonderry
The All ’round Table Water

Never an occasion of dining where


Londonderry will not “fit in”—whether
on the home table or at the cafe, club or
feast.
Pure and healthful, it is the table
water recommended by physicians for
its Alkaline properties.
Londonderry is used in the best of
homes in the making of punches,
lemonade, orangeade and other
delightful concoctions. Served with
grape juice or other temperance drinks,
it gives an added touch of enjoyment.
Sparkling (effervescent) in the 3 usual sizes; Still (plain) in half gallon bottles.

Londonderry Lithia Spring Water Co.


Nashua, N. H.
MALT BREAKFAST FOOD

Gives the prudent, economical housekeeper more cereal value for her
money than any package cereal. At 15 cents per package (20 cents
west of the Rockies) there is the equivalent of over three packages of
the ready to eat flaked foods, wheat or corn, and when properly
prepared for the table, one package of Malt Breakfast Food will give
more single portions than any granular cereal we know of.
Made from the choicest gluten wheat of the north west, Malt
Breakfast Food contains all the wheat but the outer coating of bran,
combined with a product of Barley Malt, adding a delicious flavor
and rendering readily digestible the starch of the wheat.
For Flavor, Food Value and Economy insist upon having
Malt Breakfast Food

Used in and recommended by Miss


Farmer’s School of Cookery

THE MALTED CEREALS CO.


BURLINGTON, VERMONT
White Mountain Freezer
THE TRIPLE MOTION ICE-CREAM FREEZER

Makes perfect ice-creams and sherbets in a very few minutes, as well


as an unlimited variety of delicious frozen fruits, puddings, and
chilled dainties at a very trifling cost. It will surprise you to learn the
great extent of “White Mountain” usefulness. Send for our new
recipe book, “Frozen Dainties,” which tells everything you need to
know about the making of the most delicious desserts and gives
about one hundred recipes.

THE WHITE MOUNTAIN FREEZER CO.


NASHUA, N. H.
BELL’S SEASONING

Acknowledged by all to be 40 Years the original favorite. Imitated


by many; equalled by none for delicately Flavoring Dressings for
Poultry, Game, Meats, Fish, Oysters, etc.
1876, J. B. Wistar, Grand Central Hotel, New York City, wrote: “I have
been over-pursuaded to try other makes. In every instance have been obliged to
either return or throw it away and fall back on the old reliable, BELL’S
SEASONING.”
1878, A. Ainslee, Tremont House, Boston, wrote: “Unquestionably the
most superior article in use.”
THIRTY YEARS LATER
Allen Ainslie, President, Ainslie & Grabow Company, Managers
of Hotel Lenox, Hotel Empire, Hotel Tuileries, Boston, Mass., Hotel
Titchfield, Port Antonio, Jamaica, New Ocean House, Swampscott,
Mass., writes, January 1st, 1909, as follows: “I take great
pleasure in reminding you that I have constantly used BELL’S
SPICED SEASONING in the various hotels which I have
conducted since 1876, and I consider it the best article of its kind on
the market to-day.”
Moseley’s New Haven House,
New Haven, Connecticut, September 11, 1878.

“I have used your Poultry Seasoning for the past year, and find it a
better Seasoning for all kinds of game, poultry, etc., than any article I
have ever used.”
S. H. Moseley.
THIRTY YEARS LATER
Wm. H. Moseley, son of S. H. Moseley, writes: “I wish to
add my testimony to that given you by my father in 1878, and to say
that we have continued to use your Poultry Seasoning to the
exclusion of all others, and find it has been kept up to the high
standard of quality referred to by him.”
February 13, 1909, Harvey & Wood, Managers of Hotel
Bellevue and Hotel Canterbury, Boston, and Piedmont Hotel,
Atlanta, Ga., write: “We are using your BELL’S DRESSING in all
of our hotels. We have not used any other for fifteen years, as our
cooks prefer it to any other.”
One of Boston’s noted hotel keepers has said, “I would as
soon think of discharging my chef, as to do without BELL’S
SPICED SEASONING.”
The William G. Bell Company
SOLE MANUFACTURERS
50 COMMERCIAL STREET, BOSTON, MASS.
Purity in grape juice means plain grape juice; that is, juice as you
find it in the grape.
Purity is lost by putting in preservatives or by adding coloring
matter, or by diluting the juice or by lack of care in any step in
manufacture.
Welch’s grape juice is pure. The juice from the grapes we use needs
nothing to prevent spoiling, nothing to heighten its color and nothing
to enhance its food value.
The grapes are inspected before they are washed, washed before
they are stemmed and stemmed before they are pressed.
They are the choicest Concords grown in the famous Chautauqua
vineyards. We have learned how to transfer the juice from the
luscious clusters to the bottle unchanged in any way.
If your dealer doesn’t keep Welch’s, send $3.00 for trial dozen pints, express
prepaid east of Omaha. Booklet of forty delicious ways of using Welch’s Grape
Juice free. Sample 3–oz. bottle by mail, 10c.
THE WELCH GRAPE JUICE CO., WESTFIELD, N. Y.
What Users Think of Wheatena

“We are all very fond of it. When I cook any other cereal the
children say ‘Cook Wheatena, Mamma, I like that best.’”
“It is quite satisfactory; we use it regularly, and like it better than
any other. While others may please at first, they do not wear as well.”
“The children all enjoy Wheatena very much, and always call for
‘second helps.’ The cook had difficulty at first in making enough for
the young people. Like Oliver Twist they always called for ‘more.’”
“I am much happier when I use it than at other times.”
“My boy does not care for any cooked cereal but Wheatena. I find
he is better satisfied after a breakfast of it, and does not ask for
something before lunch.”
“It will give you more good, strong food for the size package than
any other cereal on the market. It’s good.”
“I began to use it thirteen years ago when I had my first attack of
gastritis, and am using it now. My stomach will not retain anything
else during these attacks.”
“I have five children who eat it every morning for breakfast and are
always lost without it.”

Wheatena
Price Fifteen Cents at All Grocers
Coffee in air-tight packages, packed automatically, no handling.
All the rich, full flavor of the finest berries kept for you.
That’s Chase & Sanborn’s Coffee.
A hostess who serves Chase & Sanborn’s Tea receives nothing but
compliments on its fragrance and delicacy. The sealed, air-tight,
screw top canister preserves the original flavor of the most carefully
selected teas sold to-day.

FOR SALE BY LEADING GROCERS EVERYWHERE


TRANSCRIBER’S NOTES
1. P. 132, changed “⅓ flour” to “⅓ cup flour”.
2. P. 404, changed “½ grated nutmeg” to “½ teaspoon
grated nutmeg”.
3. Silently corrected typographical errors and variations in
spelling.
4. Archaic, non-standard, and uncertain spellings retained
as printed.
*** END OF THE PROJECT GUTENBERG EBOOK THE BOSTON
COOKING-SCHOOL COOK BOOK ***

Updated editions will replace the previous one—the old editions


will be renamed.

Creating the works from print editions not protected by U.S.


copyright law means that no one owns a United States
copyright in these works, so the Foundation (and you!) can copy
and distribute it in the United States without permission and
without paying copyright royalties. Special rules, set forth in the
General Terms of Use part of this license, apply to copying and
distributing Project Gutenberg™ electronic works to protect the
PROJECT GUTENBERG™ concept and trademark. Project
Gutenberg is a registered trademark, and may not be used if
you charge for an eBook, except by following the terms of the
trademark license, including paying royalties for use of the
Project Gutenberg trademark. If you do not charge anything for
copies of this eBook, complying with the trademark license is
very easy. You may use this eBook for nearly any purpose such
as creation of derivative works, reports, performances and
research. Project Gutenberg eBooks may be modified and
printed and given away—you may do practically ANYTHING in
the United States with eBooks not protected by U.S. copyright
law. Redistribution is subject to the trademark license, especially
commercial redistribution.

START: FULL LICENSE


THE FULL PROJECT GUTENBERG LICENSE
PLEASE READ THIS BEFORE YOU DISTRIBUTE OR USE THIS WORK

To protect the Project Gutenberg™ mission of promoting the


free distribution of electronic works, by using or distributing this
work (or any other work associated in any way with the phrase
“Project Gutenberg”), you agree to comply with all the terms of
the Full Project Gutenberg™ License available with this file or
online at www.gutenberg.org/license.

Section 1. General Terms of Use and


Redistributing Project Gutenberg™
electronic works
1.A. By reading or using any part of this Project Gutenberg™
electronic work, you indicate that you have read, understand,
agree to and accept all the terms of this license and intellectual
property (trademark/copyright) agreement. If you do not agree
to abide by all the terms of this agreement, you must cease
using and return or destroy all copies of Project Gutenberg™
electronic works in your possession. If you paid a fee for
obtaining a copy of or access to a Project Gutenberg™
electronic work and you do not agree to be bound by the terms
of this agreement, you may obtain a refund from the person or
entity to whom you paid the fee as set forth in paragraph 1.E.8.

1.B. “Project Gutenberg” is a registered trademark. It may only


be used on or associated in any way with an electronic work by
people who agree to be bound by the terms of this agreement.
There are a few things that you can do with most Project
Gutenberg™ electronic works even without complying with the
full terms of this agreement. See paragraph 1.C below. There
are a lot of things you can do with Project Gutenberg™
electronic works if you follow the terms of this agreement and
help preserve free future access to Project Gutenberg™
electronic works. See paragraph 1.E below.
1.C. The Project Gutenberg Literary Archive Foundation (“the
Foundation” or PGLAF), owns a compilation copyright in the
collection of Project Gutenberg™ electronic works. Nearly all the
individual works in the collection are in the public domain in the
United States. If an individual work is unprotected by copyright
law in the United States and you are located in the United
States, we do not claim a right to prevent you from copying,
distributing, performing, displaying or creating derivative works
based on the work as long as all references to Project
Gutenberg are removed. Of course, we hope that you will
support the Project Gutenberg™ mission of promoting free
access to electronic works by freely sharing Project Gutenberg™
works in compliance with the terms of this agreement for
keeping the Project Gutenberg™ name associated with the
work. You can easily comply with the terms of this agreement
by keeping this work in the same format with its attached full
Project Gutenberg™ License when you share it without charge
with others.

1.D. The copyright laws of the place where you are located also
govern what you can do with this work. Copyright laws in most
countries are in a constant state of change. If you are outside
the United States, check the laws of your country in addition to
the terms of this agreement before downloading, copying,
displaying, performing, distributing or creating derivative works
based on this work or any other Project Gutenberg™ work. The
Foundation makes no representations concerning the copyright
status of any work in any country other than the United States.

1.E. Unless you have removed all references to Project


Gutenberg:

1.E.1. The following sentence, with active links to, or other


immediate access to, the full Project Gutenberg™ License must
appear prominently whenever any copy of a Project
Gutenberg™ work (any work on which the phrase “Project

You might also like