Skip to main content

Moving Host Cobol Batches and Monolith Webapps to Cloud and Microservices

Very interesting presentation in Amazon Event "From Mainframe to Microservices - Vanguard's Move to the Cloud". Following parts can be used as Migration Patterns:

Different ways of how to move from Mainframe to Microservices:
  • Re-host
  • Reengineer 
    • Refactor
    • Rewrite
    • Batch job migration
    • Data analytics enablement
    • Data-driven augmentation
  • Re-platform with Linux and Java
  • Repurchase
  • Retire
  • Combination of all
This presentation also shows the Cloud Data Architecture at Vanguard. Generally this is how we can build our own database for our micrsoservicew at the cloud and at the same time still use the data from DB2 mainframe on-premise as well. 

Advantages using this data architecture:
  • Each microservice reads data from its own local database.
  • DB2 mainframe database can still be used from other Host / Cobol batches.
  • DB scalability
  • You cannot write to the database in case you have a network problem. There is an extension to this Cloud Data Architecture by using buffered write or asynchronous write.
  • The disadvantage using buffered write is the eventual consistency of the local database.
You shoud take a look at the presentation if you need to move to cloud and you want to do it step by step with Strangler Pattern.


Xplore IT Corp said…

Hey Nice Blog!! Thanks For Sharing!!!Wonderful blog & good post.Its really helpful for me, waiting for a more new post. Keep Blogging!
dot net course training in Coimbatore

Popular posts from this blog

Creating Spring Bean dynamically in the Runtime

In my training someone asked me whether it is possible to create an object (a Spring Bean) dynamically so you can choose which implementation you want to have in the runtime. So at the compile time you don't know what object actually should be created yet. The application should decide what object to be created based on a property file.

1. We create an annotation so we can mark the method which should be able to create the object dynamically:

package your.package;
public @interface InjectDynamicObject {
2. Use the new created annotation in your method which should be able to create the object dynamically:
... @Named("customerBo") public class CustomerBoImpl implements CustomerBo { ...     @Override @InjectDynamicObject public Customer getDynamicCustomer() {         return this.dynamicCustomer; } ...
3. Write an aspect with Pointcut and Advise which change the object returned by the method in the step 2:
... @Named @Aspect public class Dyn…

Software Development Macro and Micro Process

If you think that in year 2012 all companies which produce software and IT divisions in our world have already their optimized software development process, you are wrong. It seems that we - software architects, software developers or whatever your title is - still need to optimize the software development process in many software companies and IT divisions.

So what do you do if you enter a software company or IT division and you see following things:

1. There is a perfect project management process to handle all those development of software butit is a pure project management without a context to software development. So basically you only take care of cost, time, budget and quality factors. In the software development you still use the old fashioned waterfall process.

2. From the tooling point of view: you have a project management planning and controlling tool but you are still in the beginning of Wiki (almost no collaboration tool) andyou don't use issues tracking system to han…