forked from mboldt/docs-tiledev
-
Notifications
You must be signed in to change notification settings - Fork 0
/
bosh-release.html.md.erb
93 lines (63 loc) · 3.96 KB
/
bosh-release.html.md.erb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
---
title: BOSH Releases
owner: Services
---
This topic provides resources for creating a BOSH release that integrates a
software service with <%= vars.platform_name %> at the managed service level.
## <a id="overview"></a> Overview
A BOSH release is a directory that contains the source code for your service
along with everything else that BOSH needs to deploy it reproducibly to cloud VMs
running a specified operating system (stemcell). These contents include but are
not limited to buildpacks, start up scripts, binary artifacts, and a BOSH
manifest containing configuration and deployment properties.
The BOSH manifest specifies the following major components:
- **Packages** that can be installed on <%= vars.platform_name %> stemcells to create VM
images
- **Jobs** that describe how to install, run, and remove your software
- A **Monitor** script, that describes how to monitor the health of your
service components and stop or restart them
## <a id="resources"></a> BOSH Resources
These topics give more details on BOSH and BOSH releases:
- [BOSH Documentation](http://bosh.io/docs) is the top-level contents page for
BOSH documentation.
- [BOSH Problem Statement](http://bosh.io/docs/problems.html) explains what BOSH
does.
- [BOSH Basic Workflow](http://bosh.io/docs/basic-workflow.html) lists the
high-level steps for creating a BOSH deployment.
## <a id="create"></a>Creating a BOSH Release
These topics explain how to create a BOSH release:
- [Creating a Release](http://bosh.io/docs/create-release.html)
- [Defining your Jobs](http://bosh.io/docs/jobs.html)
- [Defining your VMs](http://bosh.io/docs/vm-struct.html)
- [Defining your Runtime Configs](https://bosh.io/docs/runtime-config.html)
- [Monitoring the Health of your Service](http://bosh.io/docs/monitoring.html)
## <a id="docker"></a>Shortcut: Start with Docker Images
If you have already packaged your service as Docker images, you can emulate
a managed service deployment using the [Tile Generator](tile-generator.html)'s
support for `docker-bosh` packages. This feature lets you deploy pre-existing
Docker images into BOSH-managed VMs on the <%= vars.platform_name %> infrastructure.
While this is a great, easy way to deploy your service on <%= vars.platform_name %>, we do not
recommend this as a long-term, production-ready solution. There is really no
benefit of running your service in containers on the VMs, and it does have
a number of operational ("day 2") drawbacks:
- You introduce more software (Docker) which needs to be kept up-to-date, and
has the potential for issues, downtime, and security vulnerabilities.
- You can no longer take advantage of the patching capabilities of <%= vars.platform_name %> for
stemcells and application dependencies, such as frameworks and libraries. Instead,
you become directly responsible for managing all software that is in the Docker
images you deploy.
## <a id="enhancing"></a>Enhancing the BOSH Release
After the basic BOSH release is in place, additional features for logging
help operators run the service. For logging information, see
[syslog-release](https://github.com/cloudfoundry/syslog-release).
<%= vars.company_name %> recommends you expose the property `syslog.migration.disabled` using the
tile's forms because not all customers configure syslog draining.
Logs written under the expected BOSH location `/var/vcap/sys/log` are forwarded
to the configured syslog server by the release.
Integrating syslog forwarding into a tile should not require code changes;
it only requires including the release and configuration forms in the `tile.yml`.
For an example, see [pcf-examples/tile-for-bosh-with-syslog](https://github.com/cf-platform-eng/pcf-examples/tree/master/tile-for-bosh-with-syslog).
## <a id="backup"></a>BOSH Backup and Restore
The [BOSH Backup and Restore Developer's Guide](https://docs.cloudfoundry.org/bbr/bbr-devguide.html)
describes the framework for release authors to add backup and restore functionality
to their release by using BOSH Backup and Restore (BBR).