SlideShare a Scribd company logo
Introducing MartianBank – a microservice demo application for
cloud-native products
Cloud-native Microservices Open-Source
Jash Mehta
Tuesday, August 22nd, 2023
4 min read
Cisco Tech Blog Home Topics Research Contact Us
Outshift by Cisco proudly presents MartianBank – an open-source microservices demo application
designed to showcase cloud-native products.
In today’s era, the software engineering landscape is evolving rapidly. Traditional monolithic
applications are giving way to a more agile and scalable approach known as microservices. In a
microservice architecture, the application is broken down into a collection of small, independently
deployable services, each focusing on different functionality. This modularization allows for greater
flexibility, easier maintenance, and improved scalability, as each microservice can be developed,
deployed, and updated independently.
Image 1: Monolithic vs Microservice architecture [1]
In the dynamic realm of Outshift, a hub for many innovative cloud-native products such as KubeClarity
[2], APIClarity [3], and Panoptica [4], a notable challenge has come to the forefront. This challenge
revolves around the scarcity of demo applications meticulously designed to showcase the capabilities
of these remarkable projects. Compounding this issue is the inherent reality that a one-size-fits-all
application is unfeasible, given the unique limitations of each product. Additionally, there’s an
apparent absence of demo applications catering to various industries like finance, entertainment, and
education. To tackle these intricate challenges effectively, we are thrilled to introduce MartianBank!
This pioneering solution not only addresses the existing gaps but also establishes a new standard for
comprehensive, industry-specific applications.
Now, let’s dive deeper into the features that MartianBank offers.
1. Microservice Architecture:
As previously discussed, MartianBank embodies the microservices philosophy, enabling the
application to be split into distinct services that focus on specific functionalities.
Share
Image 2: Architecture diagram of MartianBank [5]
In the MartianBank microservices architecture, the UI has been built with React and Redux toolkits. An
NGINX container acts as a reverse proxy for both UI and backend services. Among the six
microservices, two (customer-auth and atm-locator) are implemented in Node.js, while the others
use Flask (Python). The dashboard microservice communicates with accounts, transactions, and loan
microservices either through gRPC or HTTP.
2. Helm-Based Configurable Deployments:
MartianBank offers Helm-based deployment options that allow seamless switching between
communication protocols, such as HTTP and GRPC. Additionally, users can switch between local
databases and cloud databases, as well as deploy with and without NGINX. All this can be done by
configuring a couple of parameters at the time of deployment. This flexibility ensures adaptability to
varying needs and uses cases.
For commands to use these deployment parameters, refer to our documentation here.
3. Docker, Kind, and EKS Installation:
MartianBank simulates an app to allow customers to access and manage their bank accounts,
perform financial transactions, locate ATMs, and apply for loans. All microservices are packaged in
Docker containers.
We provide steps for easy installations through Docker Desktop (here), Kind (here), Minikube (here),
and Amazon Elastic Kubernetes Service (EKS) (here). This facilitates quick setup and deployment,
streamlining the adoption process.
4. Swagger APIs and Comprehensive Documentation:
MartianBank has been configured with Swagger UI and comprehensive API documentation to
enhance usability. This empowers developers and users to interact with the application’s
functionalities effectively and understand its inner workings.
Share
Image 3: Swagger UI for customer-auth microservice
5. Performance Testing and Load Generation:
Our application equips users with performance testing and load generation capabilities. We have
integrated Locust [6], a load testing tool to generate a dummy load, as well as for stress testing the
endpoints. This feature enables thorough assessments of the application’s responsiveness and
stability under various conditions.
Image 4: Locust dashboard for atm-locator microservice
6. Integration with other Open-Source Projects:
MartianBank seamlessly integrates with other open-source projects, including Panoptica [4],
APIClarity [3] and KubeClarity [2]. We also provide scripts for those installations. This interoperability
extends the application’s capabilities and demonstrates compatibility with the broader cloud-native
ecosystem.
With these highlights, MartianBank takes center stage as a resourceful demo application that
addresses the scarcity of showcasing industry-specific solutions and sets a new standard for
comprehensive cloud-native applications. By showcasing the power of microservices, adaptability,
and seamless integration, MartianBank offers a tangible glimpse into the future of software
engineering in the cloud-native era. Lastly, we had a lot of fun infusing the Martian elements and
incorporating a touch of the Red Planet’s flair into the project! Stay tuned for updates on fun visuals
that take you through Mars as we work through the licensing aspects.
Share
Cisco.com Innovation Labs Research Who We Are Careers Contact  
Help Terms & Conditions Statement Trademarks © 2023 Cisco Systems, Inc.
Future Roadmap:
The above features illustrate only a small fraction of what MartianBank can offer. With our open-
source commitment, developers can build upon our application and integrate it with other cloud-
native applications to showcase its efficacy.
In the coming weeks, we will work on enhancing the features and providing more comprehensive
documentation for the wider adaptability of MartianBank.
Coming soon – More blogs and videos to support developers
Coming soon – Unit and integration tests
Coming soon – UI enhancements with exciting Martian features
Getting Started with MartianBank:
To learn more about MartianBank, please take a look at our GitHub repository and documentation:
https://github.com/cisco-open/martian-bank-demo
If you would like to venture into the world of open-source development, you can start your journey by
contributing to MartianBank!
Acknowledgements:
We worked hard to build MartianBank — our team started this project this summer, and we have
meticulously worked to ensure a seamless experience for users wishing to harness the power of
microservices.
MartianBank couldn’t have been possible without the support and guidance of Pallavi Kalapatapu,
Shannon McFarland, Severin Neumann, and Michael Riskin, to whom we express our sincere
thanks.
References
[1] https://dev.to/alex_barashkov/microservices-vs-monolith-architecture-4l1m
[2] https://github.com/openclarity/kubeclarity
[3] https://github.com/openclarity/apiclarity
[4] https://www.panoptica.app/
[5] https://github.com/cisco-open/martian-bank-demo
[6] https://locust.io/
Share

More Related Content

PDF
Javantura v4 - Cloud-native Architectures and Java - Matjaž B. Jurič
PPTX
Building a Reliable Cloud Bank in Java | Starling Bank | QCon 2018
PDF
Evolution of Microservices - Craft Conference
PDF
Accelerating the Software Delivery Pipelinewith Mirantis OpenStack
PDF
OpenStack & Ubuntu (india openstack day)
KEY
Oscon anatomy of_os_cloud_ecosystem
PDF
OpenStack Tutorial
PDF
apidays LIVE Singapore 2021 - A cloud-native approach to open banking in acti...
Javantura v4 - Cloud-native Architectures and Java - Matjaž B. Jurič
Building a Reliable Cloud Bank in Java | Starling Bank | QCon 2018
Evolution of Microservices - Craft Conference
Accelerating the Software Delivery Pipelinewith Mirantis OpenStack
OpenStack & Ubuntu (india openstack day)
Oscon anatomy of_os_cloud_ecosystem
OpenStack Tutorial
apidays LIVE Singapore 2021 - A cloud-native approach to open banking in acti...

Similar to Introducing MartianBank - a microservice demo application for cloud-native products | Cisco Tech Blog (20)

PPTX
Introducing the Microservices Reference Architecture Version 1.2
PDF
Decipher Zone Company Portfolio: Sodtware Development Projects
PPT
IBM Cloud UCC Talk, 8th December 2020 - Cloud Native, Microservices, and Serv...
PPTX
GigaSpaces Cloudify - The PaaS Jailbreaker
PPTX
Hitchhiker's Guide to Open Source Cloud Computing
PDF
Haufe #msaday - Building a Microservice Ecosystem by Daniel Bryant
PDF
Building a microservice ecosystem
PDF
Haufe #msaday: "Building a Microservice Ecosystem"
PDF
Modernizing Applications with Microservices and DC/OS (Lightbend/Mesosphere c...
PDF
Docker Java App with MariaDB – Deployment in Less than a Minute
PDF
OpenStack Murano
PDF
Open stack design 2012 applications targeting openstack-final
PPTX
A Microservice Journey
PDF
MRA AMA: Ingenious: The Journey to Service Mesh using a Microservices Demo App
PDF
20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"
PPTX
vBACD - Crash Course in Open Source Cloud Computing - 2/28
PDF
Modern Software Architecture - Cloud Scale Computing
PPTX
Open Source Middleware for the Cloud: WSO2 Stratos
PPTX
Application Centric Microservices from Redhat Summit 2015
PDF
JCConf.tw 2022 - DevOps for Java developers
Introducing the Microservices Reference Architecture Version 1.2
Decipher Zone Company Portfolio: Sodtware Development Projects
IBM Cloud UCC Talk, 8th December 2020 - Cloud Native, Microservices, and Serv...
GigaSpaces Cloudify - The PaaS Jailbreaker
Hitchhiker's Guide to Open Source Cloud Computing
Haufe #msaday - Building a Microservice Ecosystem by Daniel Bryant
Building a microservice ecosystem
Haufe #msaday: "Building a Microservice Ecosystem"
Modernizing Applications with Microservices and DC/OS (Lightbend/Mesosphere c...
Docker Java App with MariaDB – Deployment in Less than a Minute
OpenStack Murano
Open stack design 2012 applications targeting openstack-final
A Microservice Journey
MRA AMA: Ingenious: The Journey to Service Mesh using a Microservices Demo App
20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"
vBACD - Crash Course in Open Source Cloud Computing - 2/28
Modern Software Architecture - Cloud Scale Computing
Open Source Middleware for the Cloud: WSO2 Stratos
Application Centric Microservices from Redhat Summit 2015
JCConf.tw 2022 - DevOps for Java developers
Ad

Recently uploaded (20)

DOCX
The AUB Centre for AI in Media Proposal.docx
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPT
Teaching material agriculture food technology
PPTX
Programs and apps: productivity, graphics, security and other tools
PPTX
Spectroscopy.pptx food analysis technology
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
MYSQL Presentation for SQL database connectivity
PDF
KodekX | Application Modernization Development
PDF
Encapsulation theory and applications.pdf
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
The AUB Centre for AI in Media Proposal.docx
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Chapter 3 Spatial Domain Image Processing.pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Teaching material agriculture food technology
Programs and apps: productivity, graphics, security and other tools
Spectroscopy.pptx food analysis technology
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Network Security Unit 5.pdf for BCA BBA.
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
20250228 LYD VKU AI Blended-Learning.pptx
MYSQL Presentation for SQL database connectivity
KodekX | Application Modernization Development
Encapsulation theory and applications.pdf
Per capita expenditure prediction using model stacking based on satellite ima...
NewMind AI Weekly Chronicles - August'25 Week I
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Building Integrated photovoltaic BIPV_UPV.pdf
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Ad

Introducing MartianBank - a microservice demo application for cloud-native products | Cisco Tech Blog

  • 1. Introducing MartianBank – a microservice demo application for cloud-native products Cloud-native Microservices Open-Source Jash Mehta Tuesday, August 22nd, 2023 4 min read Cisco Tech Blog Home Topics Research Contact Us Outshift by Cisco proudly presents MartianBank – an open-source microservices demo application designed to showcase cloud-native products. In today’s era, the software engineering landscape is evolving rapidly. Traditional monolithic applications are giving way to a more agile and scalable approach known as microservices. In a microservice architecture, the application is broken down into a collection of small, independently deployable services, each focusing on different functionality. This modularization allows for greater flexibility, easier maintenance, and improved scalability, as each microservice can be developed, deployed, and updated independently. Image 1: Monolithic vs Microservice architecture [1] In the dynamic realm of Outshift, a hub for many innovative cloud-native products such as KubeClarity [2], APIClarity [3], and Panoptica [4], a notable challenge has come to the forefront. This challenge revolves around the scarcity of demo applications meticulously designed to showcase the capabilities of these remarkable projects. Compounding this issue is the inherent reality that a one-size-fits-all application is unfeasible, given the unique limitations of each product. Additionally, there’s an apparent absence of demo applications catering to various industries like finance, entertainment, and education. To tackle these intricate challenges effectively, we are thrilled to introduce MartianBank! This pioneering solution not only addresses the existing gaps but also establishes a new standard for comprehensive, industry-specific applications. Now, let’s dive deeper into the features that MartianBank offers. 1. Microservice Architecture: As previously discussed, MartianBank embodies the microservices philosophy, enabling the application to be split into distinct services that focus on specific functionalities. Share
  • 2. Image 2: Architecture diagram of MartianBank [5] In the MartianBank microservices architecture, the UI has been built with React and Redux toolkits. An NGINX container acts as a reverse proxy for both UI and backend services. Among the six microservices, two (customer-auth and atm-locator) are implemented in Node.js, while the others use Flask (Python). The dashboard microservice communicates with accounts, transactions, and loan microservices either through gRPC or HTTP. 2. Helm-Based Configurable Deployments: MartianBank offers Helm-based deployment options that allow seamless switching between communication protocols, such as HTTP and GRPC. Additionally, users can switch between local databases and cloud databases, as well as deploy with and without NGINX. All this can be done by configuring a couple of parameters at the time of deployment. This flexibility ensures adaptability to varying needs and uses cases. For commands to use these deployment parameters, refer to our documentation here. 3. Docker, Kind, and EKS Installation: MartianBank simulates an app to allow customers to access and manage their bank accounts, perform financial transactions, locate ATMs, and apply for loans. All microservices are packaged in Docker containers. We provide steps for easy installations through Docker Desktop (here), Kind (here), Minikube (here), and Amazon Elastic Kubernetes Service (EKS) (here). This facilitates quick setup and deployment, streamlining the adoption process. 4. Swagger APIs and Comprehensive Documentation: MartianBank has been configured with Swagger UI and comprehensive API documentation to enhance usability. This empowers developers and users to interact with the application’s functionalities effectively and understand its inner workings. Share
  • 3. Image 3: Swagger UI for customer-auth microservice 5. Performance Testing and Load Generation: Our application equips users with performance testing and load generation capabilities. We have integrated Locust [6], a load testing tool to generate a dummy load, as well as for stress testing the endpoints. This feature enables thorough assessments of the application’s responsiveness and stability under various conditions. Image 4: Locust dashboard for atm-locator microservice 6. Integration with other Open-Source Projects: MartianBank seamlessly integrates with other open-source projects, including Panoptica [4], APIClarity [3] and KubeClarity [2]. We also provide scripts for those installations. This interoperability extends the application’s capabilities and demonstrates compatibility with the broader cloud-native ecosystem. With these highlights, MartianBank takes center stage as a resourceful demo application that addresses the scarcity of showcasing industry-specific solutions and sets a new standard for comprehensive cloud-native applications. By showcasing the power of microservices, adaptability, and seamless integration, MartianBank offers a tangible glimpse into the future of software engineering in the cloud-native era. Lastly, we had a lot of fun infusing the Martian elements and incorporating a touch of the Red Planet’s flair into the project! Stay tuned for updates on fun visuals that take you through Mars as we work through the licensing aspects. Share
  • 4. Cisco.com Innovation Labs Research Who We Are Careers Contact   Help Terms & Conditions Statement Trademarks © 2023 Cisco Systems, Inc. Future Roadmap: The above features illustrate only a small fraction of what MartianBank can offer. With our open- source commitment, developers can build upon our application and integrate it with other cloud- native applications to showcase its efficacy. In the coming weeks, we will work on enhancing the features and providing more comprehensive documentation for the wider adaptability of MartianBank. Coming soon – More blogs and videos to support developers Coming soon – Unit and integration tests Coming soon – UI enhancements with exciting Martian features Getting Started with MartianBank: To learn more about MartianBank, please take a look at our GitHub repository and documentation: https://github.com/cisco-open/martian-bank-demo If you would like to venture into the world of open-source development, you can start your journey by contributing to MartianBank! Acknowledgements: We worked hard to build MartianBank — our team started this project this summer, and we have meticulously worked to ensure a seamless experience for users wishing to harness the power of microservices. MartianBank couldn’t have been possible without the support and guidance of Pallavi Kalapatapu, Shannon McFarland, Severin Neumann, and Michael Riskin, to whom we express our sincere thanks. References [1] https://dev.to/alex_barashkov/microservices-vs-monolith-architecture-4l1m [2] https://github.com/openclarity/kubeclarity [3] https://github.com/openclarity/apiclarity [4] https://www.panoptica.app/ [5] https://github.com/cisco-open/martian-bank-demo [6] https://locust.io/ Share