Published on February 18, 2018
I’m happy to announce the official release of the SuperOrbital BOSH Livelesson on Safari!
Months of hard work and thought went into this, and the feedback so far has been incredibly positive!
The journey from why BOSH exists to creating and deploying a BOSH release was a really beneficial one as it covered a lot of ground. The steps were all at a comfortable pace and it never felt like one areas wasn’t covered in enough detail to limit progressing onto another.
As a series, I found it to be a really informative and it could be a great resource for those new to cloud foundry and BOSH.
BOSH, part of the Cloud Foundry tool chain, is a truly enterprise-grade system for managing distributed cloud infrastructure and stateful applications. This five hour hands-on tutorial will teach you how to harness its power to build resilient and reliable cloud native deployments.
Start by deploying a fresh BOSH director using the latest tooling on GCP, and finish by authoring your own BOSH release to manage your own software reliably in the cloud.
Grab your copy on Safari today and learn:
- The fundamentals, domain terms, and language of BOSH
- How to build your own BOSH releases, gaining confidence that you understand exactly what’s deployed on your network
- How to fully automate your deployments, unlocking a huge potential in predictability and testability
- How BOSH detects VM issues and automatically recovers them for you
- How to monitor your deployments with BOSH
- How to collocate your own tools into your BOSH deployment
Table of Contents
Lesson 1: Introducing BOSH
In this lesson, you’ll learn what makes BOSH unique, its core philosophies and concepts. You’ll also learn BOSH and general Cloud vocabulary, and will get pointers of where to get help in the future.
Lesson 2: Deploying the Director
This lesson covers the steps needed to deploy our bosh director, which you’ll later use to deploy your production software. The lesson walks through preparing your GCP project and networks, deploying the BOSH director by hand, and accessing the director remotely. Finally, you learn how to deploy the director using the new BOSH Bootloader tool.
Lesson 3: Deploying Nginx
Now that you have a running bosh director, it’s time to provision your first production deployment. The lesson starts simple, by deploying a single virtual machine running Nginx. You then learn how to upload stem cells and releases. You then configure your Nginx deploy manifest and your cloud config. Finally, we’ll deploy the release, and spend some time exploring what we’ve produced.
Lesson 4: Deploying Etcd
This lesson explores how BOSH manages a clustered release with persistent disks by deploying Etcd. You’ll upload and configure an Etcd release and deploy it to Google Cloud Platform. You then connect to it and ensure replication is happening correctly, and spend some time exploring this clustered release.
Lesson 5: Managing Your Deployment
This lesson covers some of the day to day BOSH tasks. You’ll learn how to apply a security patch to all of our VMs at once, how to monitor our deployments, how to manage the processes running on our VMs, scaling the cluster, and reconfiguring the software that’s running on the VMs.
Lesson 6: Making Use of Some Advanced BOSH Features
This lesson explores some more advanced BOSH usage. You’ll learn how to collocate deployment to run multiple jobs on a single VM. You’ll also learn how to use BOSH add-ons to automatically collocate jobs on all VMs in all of our deployments. Finally, we explore the BOSH resurrector, a crucial part of the self-healing nature of BOSH.
Lesson 7: Creating Your Own Release
This lesson takes you step-by-step through the process of building a frontend to Etcd and packaging it up in our own custom release. First, you’ll initialize the release directory, and then you’ll write the frontend server. Next, you will create the package files and jobs and learn how to manage large files as local blobs. After that, you’ll review what we’ve built so far and explore the development cycle in building a release. Then, you will build and deploy your release, learn how to configure a GCP load balancer for it, and review the entire deployment. You’ll finish off by making use of bosh links to make it easier to configure and manage our release.
Lesson 8: Publishing the Release
This final lesson starts by discussing the difference between development and final releases. Next, you will learn how to upload your final release blobs to the Cloud. Finally, you will build your final release and distribute it to the world.