chapter nine

9 From Conception to Production

 

This chapter covers:

  • Building containers with Cloud Native Buildpacks
  • Progressive rollout using general CI/CD tools
  • Logging, metrics and traces

What I’ve spoken about so far is Knative-as-Knative. But software doesn’t exist in a vacuum — it has to be made and run. To wrap up the book I’d like to touch lightly on the basics of what comes next in the real, day-to-day work we have to do. Pivotal Tracker calls these "Chores": things you need to do to make things tidier around the place, so that you can move faster in future.

We tend to neglect these as a profession. In the kitchens of Michelin starred restaurants, perfectionist chefs are taught to obsess over mise en place — "Everything in its place". Before cooking a dish they want every knife, every herb, every surface, every ingredient, every utensil, every pan, every gas burner, everything, to be clean and sharp and fresh and in the same place as it always is.

Figure 9.1. You are in the loop too
A loop diagram. An arrow labelled 'Code' flows from the Developer to a box labelled 'Assembly'. Two arrows come out of Assembly. One flows back to the Developer and is labelled 'Build Results'. The other flows forwards to Knative itself (represented by the Knative logo) and is labelled 'Images & Service definitions'. An arrow flows back from Knative to the Developer, labelled 'Logs, Metrics, Traces'.

9.1  Turning your software into something runnable

9.1.1  Always use digests

9.1.2  Using Cloud Native Buildpacks and pack

9.2  Getting your software to somewhere it runs

9.3  Knowing how your software is running

9.3.1  Logs

9.3.2  Metrics

9.3.3  Traces

9.4  Summary

9.5  References