Application Blueprinting – a Logical View
Application blueprinting creates a ‘logical’ view of your microservice based application. With a microservice implementation you know longer have an ‘application.’ Your application is composed of a set of services. Some services are written by the application team and others are reused from a pool of available and approved services. But from your End User’s perspective, they are using a particular ‘application version.’ For example, a bank will have a ‘Teller’ application with a particular version. The key to recognizing your application version is the ability to track the versions of the microservices is consumes. This is what Application Blueprinting achieves. While you no longer compile and link a big fat binary, you still need a logical view of the application and what version of the services on which it depends.
Application Blueprinting creates the Microservice Map
With DeployHub you use the Application Blueprinting feature to map a logical view of your application by first defining your Base version. In the same way, when a microservice is added to the DeployHub catalog, a Base version is created. The Application Blueprinting process tracks the collection of microservice versions that defines the Base version of your application. Think of it as defining the initial parts and pieces of your application so that the changes can be tracked overtime.
Microservice to application definition – Base Version
Auto Updates of your Application Blueprint
You may be thinking, “Do I have to update the Blueprint every time a new microservice is released?” Now that would be time consuming. The answer is no. Once your Base application has been defined, your CI/CD process will call DeployHub to automatically increment the application version if a new version of a microservice it consumes is deployed. You can also subscribe to a Base version of a microservice which then notifies you if a new version of a microservice has been created. As microservices are consumed by applications, DeployHub tracks the dependencies. It can tell you at any point in time which version of the microservices your application is consuming, how many different versions have been deployed to your Kubernetes cluster, and who is using the same microservice.
Benefits to Application Blueprinting
With microservices you will find yourself asking question like, “What version of a microservice is this version of an application using?”, “Who is using my microservice”, “When can I deprecate the service?”, or “Who created this microservice?” With Application Blueprinting answers to these and other similar questions are available to everyone at anytime. While you may no longer have the ability to manage your application as a complete package, DeployHub gives you a way to replace that process through its Application Blueprinting features.
You can expect to be managing thousands of microservices in your Kubernetes cluster. Tracking what version of an application uses what version of a microservice is obfuscated. Application blueprinting solves this problem. DeployHub provides you a method for managing your microservice inventory along with all configuration management details. It integrates with your CI/CD process to continually update new versions of your microservices that in turn creates new versions of your applications. With our inventory system, you always know what version of a microservice your application version is dependent upon. You have the insights on the meta data to resolve issues, and expose the level of impact a new microservice version may create.
To begin tracking your microservice death star, sign up with DeployHub Team. This option is based on the open source Ortelius Project. It is provided for free and hosted for high performing development teams who want to manage Services in the new modern architecture.
- FREE Team Sign-up – A hosted version deploys to unlimited endpoints by unlimited users.
- Get Involved in the OS Project –Co-create the best, open source continuous deployment platform available.