Fredy  Larson

Fredy Larson

1602856440

Modern Banking in 1500 Microservices

QCon Plus covers the trends, best practices, and solutions leveraged by the world’s most innovative software shops. Taking place between November 4-18, the event is thoughtfully designed with shorter, focused technical sessions spread over 3 weeks. You’ll learn from 54 speakers and 4 keynotes across 18 tracks. The event includes highly interactive sessions, Q&As, AMAs, breakouts, and real-time collaborative action.

Find out more about QCon Plus (Nov 4-18, 2020) and save your spot now: https://bit.ly/3kMT5bo


Video with transcript included: https://bit.ly/3n2BSMX

Matt Heath and Suhail Patel explain how Monzo team builds, operates, observes and maintains the banking infrastructure. They talk about how they compose microservices to add new functionality, Monzo’s culture, deployment and incident tooling, monitoring practices and how they share knowledge effectively.

This presentation was recorded at QCon London 2020: http://bit.ly/2VfRldq

#microservices

What is GEEK

Buddha Community

Modern Banking in 1500 Microservices
Einar  Hintz

Einar Hintz

1599055326

Testing Microservices Applications

The shift towards microservices and modular applications makes testing more important and more challenging at the same time. You have to make sure that the microservices running in containers perform well and as intended, but you can no longer rely on conventional testing strategies to get the job done.

This is where new testing approaches are needed. Testing your microservices applications require the right approach, a suitable set of tools, and immense attention to details. This article will guide you through the process of testing your microservices and talk about the challenges you will have to overcome along the way. Let’s get started, shall we?

A Brave New World

Traditionally, testing a monolith application meant configuring a test environment and setting up all of the application components in a way that matched the production environment. It took time to set up the testing environment, and there were a lot of complexities around the process.

Testing also requires the application to run in full. It is not possible to test monolith apps on a per-component basis, mainly because there is usually a base code that ties everything together, and the app is designed to run as a complete app to work properly.

Microservices running in containers offer one particular advantage: universal compatibility. You don’t have to match the testing environment with the deployment architecture exactly, and you can get away with testing individual components rather than the full app in some situations.

Of course, you will have to embrace the new cloud-native approach across the pipeline. Rather than creating critical dependencies between microservices, you need to treat each one as a semi-independent module.

The only monolith or centralized portion of the application is the database, but this too is an easy challenge to overcome. As long as you have a persistent database running on your test environment, you can perform tests at any time.

Keep in mind that there are additional things to focus on when testing microservices.

  • Microservices rely on network communications to talk to each other, so network reliability and requirements must be part of the testing.
  • Automation and infrastructure elements are now added as codes, and you have to make sure that they also run properly when microservices are pushed through the pipeline
  • While containerization is universal, you still have to pay attention to specific dependencies and create a testing strategy that allows for those dependencies to be included

Test containers are the method of choice for many developers. Unlike monolith apps, which lets you use stubs and mocks for testing, microservices need to be tested in test containers. Many CI/CD pipelines actually integrate production microservices as part of the testing process.

Contract Testing as an Approach

As mentioned before, there are many ways to test microservices effectively, but the one approach that developers now use reliably is contract testing. Loosely coupled microservices can be tested in an effective and efficient way using contract testing, mainly because this testing approach focuses on contracts; in other words, it focuses on how components or microservices communicate with each other.

Syntax and semantics construct how components communicate with each other. By defining syntax and semantics in a standardized way and testing microservices based on their ability to generate the right message formats and meet behavioral expectations, you can rest assured knowing that the microservices will behave as intended when deployed.

#testing #software testing #test automation #microservice architecture #microservice #test #software test automation #microservice best practices #microservice deployment #microservice components

Mitchel  Carter

Mitchel Carter

1600693200

Modern Banking in 1500 Microservices

Summary

Matt Heath and Suhail Patel explain how Monzo team builds, operates, observes and maintains the banking infrastructure. They talk about how they compose microservices to add new functionality, Monzo’s culture, deployment and incident tooling, monitoring practices and how they share knowledge effectively.

#microservices #transcripts #banking #case study #qcon london 2020 #architecture & design #devops #presentation

Banking App Development Cost - 8 Hidden Factors

Since 1994, Digital banking has been here. It is a very long time, but digital banking through mobile devices is entirely new to the banking industry. It all started when Atom became the first digital-only bank in the UK.

Nowadays, Tech-savvy customers expect corporations to support their digital movement, and because of this, almost every industry has adopted technologies to stay relevant with these modern customers. Most of the newbies who plan to develop a banking app have two questions in mind: “What is the cost of developing a banking application” and “Which hidden factors affect the cost of developing a banking app?”

You can get all the answers to these questions here, because this article will take you through the cost of developing a banking app, the features of banking apps, and much other pertinent information. After reading this, you will be able to plan better for your mobile banking app development. But before directly jumping into the cost of mobile banking app development, let’s take a look at the global digital payment market size of mobile banking.

Global Digital Payment Market Size

According to GlobalNewsWire, by 2026, the Global Digital Payment Market size is estimated to reach $175.8 billion, rising at a market growth of 20% CAGR during the forecast period.

Around 23% of millennials use mobile banking apps daily.
Around 49.2% of total smartphone users use mobile banking apps.
41% of Americans said that mobile banking apps had minimized their concerns about managing finances.

Banking app development cost

Data Source: Statista

As you can see, the data clearly indicates that the percentage of smartphone users are increasing day-by-day. Therefore, by engaging in your own mobile banking app development currently, you will be able to take advantage of the growth in mobile users. But, the cost of developing a banking application depends on so many factors like the platform, features, technologies, and so on.

Mobile banking app development cost

Cost of developing a banking app depends on various factors. To give you a rough idea of the mobile banking application development cost, the total development time for a fully-featured app sums to 3760 hours. Considering hourly rate for fintech projects of $25, the cost of developing a feature-loaded banking app stands around $94k.

Banking Application Development Cost depends on different phases such as:

  • Research and Planning
  • UI/UX Design
  • Development
  • Testing
  • Maintenance and Support

8 Hidden Factors of Costs of Mobile Banking App Development

1. Push Notifications

It’s not easy to imagine an app that does not utilize this necessary mobile capability. Push notifications always increase your users’ engagement with your mobile banking app and encourage the desired action. Push notifications are of three types:

  1. Transactional notifications notify users about their account updates.

  2. The Application-based notifications indicate when the mobile banking app requires the user’s attention, whether related to the password change requests or document submissions.

  3. Promotional notifications are to grab the attention of customers to offer discounts and attractive deals.

2. Chatbot Integration

For most users, mobile banking has a steep learning curve, and due to that, the customer will require immediate assistance on various occasions. Hence, creating a chatbot for customer service is the best way for many institutions to improve their customer service availability. The chatbots will save you a lot of time and money, whilst providing customer support 24/7. But this feature has a separate development process, and therefore you have to pay separately for this.

3. Servers

Servers are where your mobile banking app will be hosted. If you are not with the largest enterprises, you will want to outsource hosting from Amazon, Azure, or Google, which will result in more costs.

4. Content Delivery Network

A CDN is a system that is used to deliver content to the app based on the origin of the content, the content delivery server, and the geographic location of the particular user. In simple words, if you have users across the globe, and they have to keep coming back to one far off location to access the content, then the app will not perform in a good way. So, if you want your mobile banking app to perform effectively, you should use a content delivery network, because it reduces the app loading time and also increases the responsiveness of the app.

5. Development Tools

If you want to use paid deployment tools like iBuildApp, Appy Pie, and IBM MobileFirst, to develop your mobile banking apps, you will need to subscribe to them over the lifespan of your app. This will also affect your banking app development cost.

6. Android and iOS Updates

As we all know, both platforms constantly release updates, and those updates require maintenance. Depending on the extent of maintenance required, the cost in the long-term can sometimes be significant.

7. APIs

Every mobile app usually has multiple third-party APIs that they interact with, especially at the enterprise level. If you make changes to any of these applications, they will require periodic maintenance of your APIs. For instance, Facebook updated their API version four times in 2016; now, what if you want to integrate with Facebook? You will need to update your app to accommodate those changes.

8. Bugs

As you know, every app has bugs, and not even a single developer can assure you that there will be no bugs in the future in your app. It’s just that sometimes they go undiscovered for months or even years. User communities are not kind to apps that are slow to address the issues that they have reported.

Conclusion

The cost of banking application development not only depend on the features of the banking application, but they are also heavily affected by the hidden factors I have mentioned. The primary issue with mobile banking app development cost is the amount of individual components that you need to gather. Each of them can cost thousands of dollars, and these costs will continue throughout the lifespan of your app. However, the rewards that come from a successful mobile banking app development project are huge.

Pro Tip: The cost of developing a banking application greatly depends on the hourly rates of programmers and the expertise of the team. FinTech experts are able to complete these projects much more efficiently.

#banking app development cost #banking application development cost #cost of developing a banking app #cost of developing a banking application #mobile banking app development cost #mobile banking application development cost

Tia  Gottlieb

Tia Gottlieb

1597438200

What Is a Microservice Architecture? Why Is It Important Now?

We have been building software applications for many years using various tools, technologies, architectural patterns and best practices. It is evident that many software applications become large complex monolith over a period for various reasons. A monolith software application is like a large ball of spaghetti with criss-cross dependencies among its constituent modules. It becomes more complex to develop, deploy and maintain monoliths, constraining the agility and competitive advantages of development teams. Also, let us not undermine the challenge of clearing any sort of technical debt monoliths accumulate, as changing part of monolith code may have cascading impact of destabilizing a working software in production.

Over the years, architectural patterns such as Service Oriented Architecture (SOA) and Microservices have emerged as alternatives to Monoliths.

SOA was arguably the first architectural pattern aimed at solving the typical monolith issues by breaking down a large complex software application to sub-systems or “services”. All these services communicate over a common enterprise service bus (ESB). However, these sub-systems or services are actually mid-sized monoliths, as they share the same database. Also, more and more service-aware logic gets added to ESB and it becomes the single point of failure.

Microservice as an architectural pattern has gathered steam due to large scale adoption by companies like Amazon, Netflix, SoundCloud, Spotify etc. It breaks downs a large software application to a number of loosely coupled microservices. Each microservice is responsible for doing specific discrete tasks, can have its own database and can communicate with other microservices through Application Programming Interfaces (APIs) to solve a large complex business problem. Each microservice can be developed, deployed and maintained independently as long as it operates without breaching a well-defined set of APIs called contract to communicate with other microservices.

#microservice architecture #microservice #scaling #thought leadership #microservices build #microservice

Autumn  Blick

Autumn Blick

1595335187

Microservices and Data Management - DZone Microservices

Introduction

For pure frontend developers who doesn’t have much exposure to backend or middleware technology, microservices are a vague thing. They might have high-level introduction. So, let us have some deep understanding of what microservices are, and how it is different from monolithic application data management.

Monolithic and Microservice

In a monolithic application, all the stakeholders like all the business logic, routing features, middle-wares and Database access code get used to implement all the functionalities of the application. It is basically a single unit application. It has a lot of challenges in terms of scalability and agility. On the other side, in a microservice, all the business logic, routing features, middle-wares, and database access code get used to implement a single functionality of the application. We break down the functionalities to the core level and then connect to related services. So, the functionalities are actually dependent on related services only and does not get affected if there is an issue with other services. This helps to make the application agile, flexible, and highly scalable.

Monolithic architecture

Microservices Architecture

Why Microservices

Independent DB for the Services

The very first important thing associated with microservices is that each functionality requires its own database and never connects to the database of other services. In a monolithic service, since you have a single database. if something goes wrong with it then the whole application gets crashed. But in microservice, since we have an independent database for each service, in case of any problem with any particular database, it certainly does not affect other services and your application does not crash as a whole.

No Dependency on Schema

We have many services in our application and each service requires its own database. Hence, each database has its own schema or structure. But, if any service is connected to other service and shares the data and during development, the source database changes its schema and does not update the dependent services, then the service will not function correctly and may crash. So, there should be no dependency on databases.

Performance

Depending on the nature of service, we choose the appropriate type of DB. Some services are more efficient in specific database. So, creating a single database for all the services in the application might affect performance. In Microservice, since we have individual DB for each of the service, it is quite flexible, independent, and functions efficiently.

Data Management

Unlike the monolithic approach, in microservice, each functionality or service connects to its own database and never gets connected to other database. So, the big question arises of how we communicate between two services. It is quite generic in an application that we require to get some information based on the combination of many service outputs. But as a thumb rule, services dont communicate. Then what is the solution to this issue? Let us see, how data communicates between the services.

#data management #monolith vs microservice #microservices benefits #microservices communication #microservices archiecture