Tutorial E

Agenda Tutorials

Tutorial E

Cloud Native Architectures for GMSEC and EGS Microservices


$50 USD each


Wednesday – February 23, 2022


11:00 AM – 1:30 PM PT


Topics we will cover:

  • Definitions of terms:
  1. Event Driven Architecture (EDA)
  2. Implicit Invocation
  3. Goddard Mission Services Evolution Center (GMSEC) Application Programming Interface (API)
  4. OMG / C2MS (Command and Control Message Specification)
  5. Cloud-native messaging
  • Design principles of event driven architectures
  1. How to structure a processing problem around events
  2. Examples of Event Driven software you’re already familiar with
  3. How Event Driven Design can reduce coupling between microservices
  4. How the EDA approach enables advanced features like rolling updates and A/B testing
  • The C2MS messaging standard
  1. Publish / Subscribe as an example of EDA messaging
  2. When it’s necessary to use Request / Response messages
  • Using named, durable queues in C2MS / GMSEC to achieve cloud-native scalability
  1. Though not officially supported, we have developed a technique for cloud native scalability
  2. How to configure GMSEC pub/sub clients to use named queues
  3. Capabilities enabled by this messaging model
  4. Limitations and considerations when using this (currently) unsupported approach
  • Hands-on examples of architecture design using these principles
  1. NOTE TO GSAW REVIEWERS: We are currently working with our customer to determine what we can / should use for this tutorial example. I am hopeful we can use an existing microservice that translates between Unified Data Library and C2MS messages on a GMSEC bus, but we may need to choose something more abstract.
Instructors Herb Mullens and Carl Fischer, Ball Aerospace


Herb Mullens:
Mr. Mullens is a senior software engineer at Ball Aerospace. Over his 20-year career, he has authored software and technical teams delivering quality software tools and libraries that serve the defense and intelligence community. Mr. Mullens’ career has focused on tools in robotics, computer vision, data management, and advanced image and signal processing for target detection and tracking. He currently leads a scrum team responsible for maintaining a Software Development Kit, Application Programing Interface, and CI/CD pipeline for a major development program at Ball.

Dr. Carl Fischer:
Dr. Fischer currently serves as the Chief Technologist for Systems Engineering Solutions within Ball Aerospace. He received his Electrical Engineering Ph.D. in 2004 from the University of Michigan. Since that time, he has had a 17-year career spanning a range of space-related fields including: characterization and calibration of space-based remote sensing instruments, the development of space signature analysis tools, signature analysis workbenches, and the design of modern cloud-computing solutions for challenging data processing and system integration applications.
Dr. Fischer is passionate about delivering sustainable, microservice-based system solutions that implement the modern cloud-native principles like self-healing, anti-fragile designs, simple architectural elements, and infrastructure agnosticism. These principles empower DevSecOps teams to execute efficiently, focusing on delivering their allotted microservices. They also provide entry-level software engineers with small, independent pieces of the system to develop and update.

Description of Intended Students and Prerequisites

This tutorial is intended to give systems engineers and software developers the basics of cloud native architectures and walk through some practical design examples.

What can Attendees Expect to Learn

How to develop simple microservices that interact in a decoupled way using the principles of Event Driven Architectures (EDAs) and Implicit Invocation using The Goddard Mission Services Evolution Center (GMSEC) API with cloud-native message delivery paradigms.