Concerning applications of the FreeBSD operating system on the Amazon Web Services (AWS) cloud services architecture – specifically in the AWS Elastic Compute Cloud (EC2) – and applications of FreeBSD on embedded computing platforms, a few very short notes:
Conceptual Overview
- Concept: Workflow
- Workflow e.g. for building a FreeBSD distribution for local LAN
- Some characteristics of Note
- Objects of work: “Bare metal” computing hardware (PCs, Racks); “Twisted pair”, “Fiber”, and “Wireless” network media
- Hardware accessible to administrative team
- Installation may be managed in correlation with networked file services – including NFS – and networked credential services, viz a viz YP/NIS
- Some characteristics of Note
- Workflow e.g. for building a FreeBSD distribution for installation to AWS EC2
- Characteristics of Note
- Objects of work: EC2 virtual machine instances; S3 and EBS storage modules; RDS data services; other modules in AWS modular service mix
- Hardware not accessible – juxtapose to virtual console as available with Digital Ocean
- AWS Virtual Private Cloud (VPC) networking – IP address allocation, address assignment, subnetting, routing all configured via VPC API – largely independent of indiviual EC2 virual machine instances
- Credential services via AWS IAM
- Characteristics of Note
- Workflow e.g. for building a FreeBSD distribution for installation to an embedded computing platform
- Characteristics of Note
- “Bare metal” computing hardware (single-board computers, systems on chip, systems on module)
- Hardware components – once configured – may be applied without immediate network availability
- Functional systems tests may be exceptionally important – e.g. functional unit testing for new software components; integration testing for all software components, in emulator
- Characteristics of Note
- Workflow e.g. for building a FreeBSD distribution for local LAN
- Concept: Modularity
- Not just a buzzword: Component-Based Software Engineering (CBSE)
- Platform modeling – cf. Cadena – may be assistive in phases of design, testing, and in application phases
- Concept: Documentation
- Topically focused documentation schema: DITA
Technical Resources
- EC2 AMI: FreeBSD 10
- Ed. Notes
- UFS Root Filesystem
SCHED_ULE
- EC2 t2.micro instances provide only one virtual processor core to each instance. Therefore, the 4.4 BSD scheduler may be appropriate for such instances
sysrc
parameters available via configinit- IP addressing via AWS VPC
- Ed. Notes
- Configuration File:
/usr/src/release/release.conf.sample
- Documentation: Manual page release(7)
- Makefile:
/usr/src/release/Makefile.vm
- Application: Makefile is sourced in correlation with release.conf
- Makefile:
/usr/src/release/Makefile.ec2
- Description: “Makefile for creating an EC2 AMI from a disk image.”
- Parameters (env)
AWSKEYFILE
AWSREGION
AWSBUCKET
EC2PUBLIC
- Application: Makefile is sourced by
Makefile.vm
; applied in correlation torelease.conf
parameter,CLOUDWARE="EC2"
- More info
- Uses /usr/local/bin/bsdec2-image-upload
- See also (FreeBSD Ports)
- net/bsdec2-image-upload
- sysutils/ec2-scripts
- Ed. note: provides configinit
- devel/awscli
- See also (pkgsrc ports)
- See also (web)
- Introducing configinit – Colin Percival
- How to build FreeBSD/EC2 images – Colin Percival
- The missing ImportVolume documentation – Colin Percival
- github: cperciva/bsdec2-image-upload
- Patches to support EC2 AMI building in base system – Colin Percival
- Ed. Note: This mailing list message appears to describe an earlier edition of the EC2 Release Makefile
- VM Import/Export – AWS
- Importing and Exporting Instances – AWS EC2 Documentation
- VM Import/Export Prerequisites – AWS EC2 Documentation
- Ed. Notes
- Untested/Undocumented: Workflow of creating an EC2 instance from a VM import of a VMDK containing a FreeBSD image (Use bsdec2-image-upload ? boot filesystem need be in UFS format?)
- EC2 VM export is only available for EC2 instances created initially with VM import
- Alternatives: FreeBSD 10 at Digital Ocean; OpenStack; Vagrant; Azure. (UFS? …)