Building a Bank with Kubernetes: How Monzo is Creating the Best Banking App Ever - Build What's Next

3621

Of your peers have already watched this video.

15:20 Minutes

The most insightful time you'll spend today!

Case Study

Building a Bank with Kubernetes: How Monzo is Creating the Best Banking App Ever

Based in London, Monzo is a bank that lives on the smartphone and is built for the way modern customers live today. By solving their problems, treating them fairly and being totally transparent, Monzo believes it can transform the way people bank.

“We are building a full retail bank. What we are trying to be is become the best banking app in the world. This means that instead of showing you cramped indecipherable descriptors that you get from traditional banks, we actually show you the name of the merchant along with the logo and a real-time balance rather than something that’s often delayed by 24 to 48-hours. Basically, we strive to make everything as clear and easy to understand for customers,” says Oliver Beattie, Head of Engineering, Monzo.

In their quest for building the best banking application, Kubernetes is significantly helping Monzo overcome core banking challenges and continuously innovate.

“Kubernetes makes our application extensible. We want our application to be very easy to change not just now but maybe 10 or 20 years from now. As what we have now will not be the gold standard 20 years down the line. We want our application to be better than those the legacy banks have,” says Beattie.

Running multiple services at the same time on a particular application and ensuring speed was a significant hurdle Monzo had to overcome.

“You cannot run 150 services on a single machine and expect all of them to be fast. What we wanted is to treat our application as a big pool of resources, which is what Kubernetes exactly allowed us to do. We can now run one big group of worker machines and run all our applications there and scale them up and down as needed. Owing to Kubernetes we are now able to reduce one-third of our infrastructure costs,” says Beattie.

Watch the full video to get deeper insights into how Kubernetes is helping Monzo build the best banking application ever.

Blog

All About Cloud Run, its Scalability and Management Features

7400

Of your peers have already read this article.

3:00 Minutes

The most insightful time you'll spend today!

Google Cloud's Cloud Run is a fully-managed compute environment to implement and scale serverless containers. If you are a Cloud Run novice, we have listed some basics and other details to help you learn, set up and manage stateless microservices.

Mindful Containers is a fictitious company that is creating containerized microservice applications. They need a fully managed compute environment for deploying and scaling serverless containerized microservices. So, they are considering Cloud Run. 

They are excited about Cloud Run because it abstracts away the cluster configuration, monitoring, and management so they can focus on building the features for their apps. Cloud Run is a fully-managed compute environment for deploying and scaling serverless containerized microservices.

cloud run
Click to enlarge

What is Cloud Run?

Cloud Run is a fully-managed compute environment for deploying and scaling serverless HTTP containers without worrying about provisioning machines, configuring clusters, or autoscaling.

  • No vendor lock-in – Because Cloud Run takes standard OCI containers and implements the standard Knative Serving API, you can easily port over your applications to on-premises or any other cloud environment. 
  • Fast autoscaling – Microservices deployed in Cloud Run scale automatically based on the number of incoming requests, without you having to configure or manage a full-fledged Kubernetes cluster. Cloud Run scales to zero— that is, uses no resources—if there are no requests.
  • Split traffic – Cloud Run enables you to split traffic between multiple revisions, so you can perform gradual rollouts such as canary deployments or blue/green deployments.
  • Custom domains – You can set up custom domain mapping in Cloud Run and it will provision a TLS certificate for your domain. 
  • Automatic redundancy – Cloud Run offers automatic redundancy so you don’t have to worry about creating multiple instances for high availability

How to use Cloud Run

With Cloud Run, you write your code in your favorite language and/or use a binary library of your choice. Then push it to Cloud Build to create a container build. With a single command—“gcloud run deploy”—you go from a container image to a fully managed web application that runs on a domain with a TLS certificate and auto-scales with requests.

How does Cloud Run work?

Cloud Run service can be invoked in the following ways:

HTTPS: You can send HTTPS requests to trigger a Cloud Run-hosted service. Note that all Cloud Run services have a stable HTTPS URL. Some use cases include: 

  • Custom RESTful web API
  • Private microservice
  • HTTP middleware or reverse proxy for your web applications
  • Prepackaged web application

gRPC: You can use gRPC to connect Cloud Run services with other services—for example, to provide simple, high-performance communication between internal microservices. gRPC is a good option when you: 

  • Want to communicate between internal microservices
  • Support high data loads (gRPC uses protocol buffers, which are up to seven times faster than REST calls)
  • Need only a simple service definition you don’t want to write a full client library
  • Use streaming gRPCs in your gRPC server to build more responsive applications and APIs

WebSocketsWebSockets applications are supported on Cloud Run with no additional configuration required. Potential use cases include any application that requires a streaming service, such as a chat application.

Trigger from Pub/Sub: You can use Pub/Sub to push messages to the endpoint of your Cloud Run service, where the messages are subsequently delivered to containers as HTTP requests. Possible use cases include:

  • Transforming data after receiving an event upon a file upload to a Cloud Storage bucket
  • Processing your Google Cloud operations suite logs with Cloud Run by exporting them to Pub/Sub
  • Publishing and processing your own custom events from your Cloud Run services

Running services on a schedule: You can use Cloud Scheduler to securely trigger a Cloud Run service on a schedule. This is similar to using cron jobs. Possible use cases include:

  • Performing backups on a regular basis
  • Performing recurrent administration tasks, such as regenerating a sitemap or deleting old data, content, configurations, synchronizations, or revisions
  • Generating bills or other documents

Executing asynchronous tasks: You can use Cloud Tasks to securely enqueue a task to be asynchronously processed by a Cloud Run service. Typical use cases include:

  • Handling requests through unexpected production incidents
  • Smoothing traffic spikes by delaying work that is not user-facing
  • Reducing user response time by delegating slow background operations, such as database updates or batch processing, to be handled by another service, 
  • Limiting the call rate to backend services like databases and third-party APIs

Events from Eventrac: You can trigger Cloud Run with events from more than 60 Google Cloud sources. For example:

  • Use a Cloud Storage event (via Cloud Audit Logs) to trigger a data processing pipeline 
  • Use a BigQuery event (via Cloud Audit Logs) to initiate downstream processing in Cloud Run each time a job is completed

How is Cloud Run different from Cloud Functions?

Cloud Run and Cloud Functions are both fully managed services that run on Google Cloud’s serverless infrastructure, auto-scale, and handle HTTP requests or events. They do, however, have some important differences:

  • Cloud Functions lets you deploy snippets of code (functions) written in a limited set of programming languages, while Cloud Run lets you deploy container images using the programming language of your choice. 
  • Cloud Run also supports the use of any tool or system library from your application; Cloud Functions does not let you use custom executables. 
  • Cloud Run offers a longer request timeout duration of up to 60 minutes, while with Cloud Functions the requests timeout can be set as high as 9 mins
  • Cloud Functions only sends one request at a time to each function instance, while by default Cloud Run is configured to send multiple concurrent requests on each container instance. This is helpful to improve latency and reduce costs if you’re expecting large volumes. 

Pricing

Cloud Run comes with a generous free tier and is pay per use, which means you only pay while a request is being handled on your container instance. If it is idle with no traffic, then you don’t pay anything.

Conclusion

After learning about the ease of set up, scalability, and management capabilities of Cloud Run the Mindful Containers team is using it to deploy stateless microservices. If you are interested in learning more, check out the documentation.https://www.youtube.com/embed/oR4btKLRdn4?enablejsapi=1&

For more #GCPSketchnote, follow the GitHub repo. For similar cloud content follow me on Twitter @pvergadia and keep an eye out on thecloudgirl.dev

Case Study

Cutting Costs and Accelerating Development with API Management

3511

Of your peers have already read this article.

3:00 Minutes

The most insightful time you'll spend today!

By migrating to the Apigee platform, Bazaarvoice reduced API management costs by 34% and gained new flexibility in developing features and fixing issues.

Google Cloud Results

  • Reduced API management costs 34%
  • Develops new features in days versus months
  • Fixes issues quickly by writing code
  • Manages 15B API calls per month without outages

Austin, Texas-based Bazaarvoice switched to Apigee for its API platform because of its competitive pricing and feature set. But another benefit soon became apparent to Bazaarvoice engineers: the ability to write code on the Apigee platform and “own our destiny,” says Kurtis White, Senior Development Manager in Research and Development for Bazaarvoice.

Bazaarvoice specializes in consumer-generated content marketing solutions that connect brands, retailers, and consumers. APIs do the heavy lifting in making those connections. For example, the Conversations API, the heart of the Bazaarvoice platform, lets the company’s retail clients aggregate and leverage users’ product reviews and ratings. With the Conversations API, API keys are passed along in each query string and enable Bazaarvoice customers to access the relevant customer data.

APIs are essential to the Bazaarvoice platform. During its early days the company didn’t use APIs, relying instead on direct communication links to connect its customers to what consumers were saying about them. “That approach just didn’t scale,” says White. “Without reliable APIs, it would be almost impossible for us to be in business today.”

Eight years ago, Bazaarvoice switched to APIs. From about 2013 to 2017, the company relied upon the same API management SaaS solutions provider. But the company was growing. The call volume that its APIs generated was expanding at a rapid pace, too—especially during the busy year-end shopping season. For example, in early October 2016, Bazaarvoice APIs generated nearly 9 billion calls, compared to about 12 billion calls in early December 2016.

Unfortunately, along with the pace of API calls, the costs associated with Bazaarvoice’s existing API solutions provider were also escalating—increasing 74% from early 2016 to early 2017. To keep rising expenses from stifling its own growth, and to continue offering its reliable, high-performing SaaS solution, the company’s IT team decided it was to time to find a different API solutions provider.

In April 2017, Bazaarvoice migrated to the Apigee API platform because of its feature set and, in particular, its competitive pricing. By switching to Apigee, Bazaarvoice reduced its API spend by 34%, White says.

A ticking clock

Migrating from its previous API provider to Apigee involved importing 66,000 API keys—an arduous task. Apigee engineers and business leaders worked directly with their Bazaarvoice counterparts to help ensure a successful transition. “Everyone at Apigee was very responsive to our needs,” White says. “If a problem came up, the Apigee team owned it and worked through it to give us a great experience.”

During the migration, there was a clock ticking in the background. Bazaarvoice wanted to shift 100% of its API calls to Apigee before the contract with its existing API provider came up for renewal. “I wasn’t sure we could make the deadline,” says White. “But we did, and I give a big credit to the Apigee technical team. They provided 24-hour support to our team. And once we went live, our platform was handling 15 billion API calls a month with no outages.”

Following the migration, Apigee support continues to “knock it out of the park,” he added. “Apigee is a great partner to have.”

Controlling destiny

The Bazaarvoice IT team didn’t specifically choose Apigee because of the ability to write code on the platform—but they quickly came to appreciate the feature.

“Our previous API provider was like a black box to us,” says White. “They had written some custom code for us that we depended upon. But we didn’t own that code. And if we needed changes, we had to pay them to do it for us.”

“Apigee allows us to write our own code that runs on the platform and looks at all of the API calls,” White continues. “We can put the code into a virtual control system. We can update it whenever we want to add a feature. Because of how important APIs are to our business, the ability to write code on Apigee lets us control our own destiny. It’s the Apigee number one benefit, in my opinion.” This also accelerates the time it takes Bazaarvoice to bring new features to market.

“Apigee gives us the flexibility to do things we wouldn’t have even tried before,” says White. “We can test new things easily, without getting locked into a service agreement with an external party. Before, it might have taken months to develop new product functionalities. Now it takes days.”

In addition, writing code on the Apigee platform enables the IT team to quickly address any problems that may arise. “If someone notices a problem, we can write the code to fix it right away,” White says.

“Because Apigee lets us iterate and fix problems quickly, our innovation has gone to the next level,” White added. “Before, if you had an idea, you’d wonder if you really wanted to invest $30,000 and three months in it. Probably not. Now, with Apigee, the investment is maybe one day and zero dollars.”

Experimentation pays off for Bazaarvoice and its customers. For example, during the 2017 holiday season, Bazaarvoice was able to give all its customers the capacity to handle twice the number of API calls.

“With our previous API solutions provider, it would have been such a long process to make that happen, it wouldn’t have been worth it,” says White. “But it was really easy to write the code in Apigee. Plus, we made our customers happy and kept them running smoothly during the peak holiday season—with little effort on our part.”

Personalization and monetization

Apigee has played a key role in enabling Bazaarvoice to develop new products, too. In March 2018, Bazaarvoice released a new personalization data product for its customers, built on top of an Apigee-powered API. The new product enables Bazaarvoice retail customers to recommend relevant products to their online shoppers. The products are personalized to the shoppers’ interests, based on their past behavior and what they’re shopping for.

Apigee is also serving as a strategic business advisor, helping Bazaarvoice determine the best way to price its offerings as its API call volumes continue to increase.

“We’re working with Apigee to build an industry-leading model for monetizing our APIs,” says White. “Apigee is the ideal advisor in this regard. We’re handling such large volume, the volume is continuing to grow, and Apigee enables us to power it.”

Research Reports

Modernize your Windows Server Workloads using Google Cloud Platform

DOWNLOAD RESEARCH REPORTS

6260

Of your peers have already downloaded this article

1:30 Minutes

The most insightful time you'll spend today!

Application Modernization is an important enabler of Digital Transformations (DX), which fuel competitive advantage through increased productivity and business agility. Public cloud infrastructure proves to be a solid foundation for application modernization by providing Self-Service Provisioning capabilities, cloud-based & cloud-native technologies, and easier access to technology innovations such as AI/ML.

Windows Server-based enterprise applications rely on the underlying infrastructure for platform performance, security, and availability. A better performing cloud platform enables them to perform better and hence prove to be more resource-optimized and cost-effective.

Download this IDC report to understand why you should move your Windows Server workloads to Google Cloud and the benefits you can derive.

Blog

Amadeus: Shaping the Future of Travel with Apigee

3991

Of your peers have already read this article.

3:25 Minutes

The most insightful time you'll spend today!

Amadeus operates at large scale with hundreds of thousands of transactions processed per second to deliver mission-critical services in travel. Apigee’s API management platform is helping Amadeus build a scalable and secure platform that helps the company deliver better and faster services to its customers and increase collaboration with partners.

If you’ve taken a trip in the past 30 years, then you’ve probably used Amadeus technology. Our solutions connect over 1.5 billion travellers every year to the journeys they want, linking them via travel agents, search engines, and tour operators to over 700 airlines, 110 airports, 580,000 hotel properties, 40 car rental companies, 90 railways, and more.

In 2016, over 595 million total travel agency bookings were processed using the Amadeus distribution platform. In addition, over 175 Amadeus airline customers processed over 1.3 billion passengers using Amadeus’ Passenger Service Systems. We combine an understanding of how people travel with the development of the most complex, trusted, critical systems our customers need.

A platform for scalability and speed

In today’s crowded travel marketplace, our customers want IT solutions that can scale up to match their complex needs—whether this includes solving the challenge of ever increasing flight search volumes, delivering flight search results in milliseconds, or enabling “pop-up” check-in and bag drop from anywhere.

Amadeus operates at large scale with hundreds of thousands of transactions processed per second to deliver mission-critical services in travel. Having a scalable and secure platform is essential to continue driving solutions for our customers, and Apigee’s API management platform fulfills this objective.

At the same time, our customers also want solutions that can adapt quickly with new features and upgrades. We’re talking days, not weeks or months. Apigee provides on-premise gateways to securely expose our APIs to our customers. These can be scaled to deliver our APIs according to our business needs. Apigee’s great capacity to create rock-solid API infrastructure gives us more freedom to focus on the architectural details of the technology we create for the travel industry.

A platform for collaboration

In the fast-paced and competitive travel industry, our customers hunger for new ways of doing things. This hunger can only be met with an open and collaborative approach across the sector.

That’s why we use an open systems architecture that offers SOAP/XML and REST/JSON formatting to be entirely platform neutral. It is totally independent of language and application frameworks, making implementation fast and efficient.

But as the number of customers using our APIs grows, so does the need to shorten the time to deploy our applications to market and evolve our API strategy.

The Apigee platform is key here. For one thing, it’s always up to date with constantly evolving industry standards, in particular with security standards like OAuth.

The platform also forms the backbone for the web app development cycle for Amadeus and our customers to jointly build applications and release them in production. Ultimately, by integrating Apigee’s control plane seamlessly with our APIs, we are able to foster fully automated operations.

A platform for visibility

Understanding how our APIs are consumed is also key for us and our customers. With Apigee we are able to see this and provide them with a detailed view of API analytics. In this big data era, knowing the number of transactions, response times on APIs, or the page travellers are spending the most time on with a mobile app could be invaluable to make the informed decisions that help us maintain an edge over competitors. This also serves as a great feedback tool to closely monitor where the industry is heading.

As a leader in travel technology, we’re committed to open systems. That’s why Amadeus also works with Kubernetes. We have a strong partnership with Red Hat through its OpenShift platform, which is based on Kubernetes. Amadeus Cloud Services works with this open-source system and enables us to use automated cloud methods to deploy our services in a flexible mix of private and public clouds.

We’re excited to collaborate with players like Google and Apigee, because together we can pave the way for technology that makes better journeys and creates value for our customers, travelers, and society.

Olivier Richaud is senior manager, API management & web services, technology platforms & engineering, at Amadeus. Xavier Gardien is head of portfolio and product management, technology platforms & engineering, at Amadeus.

Blog

Google Maps Platform Helps BungkusIT Fulfil its Promise of Deliveries in One Hour!

5524

Of your peers have already read this article.

2:00 Minutes

The most insightful time you'll spend today!

Malaysia's latest, on-demand delivery service provider, BungkusIT selects Google Maps Platform for its reliable and accurate location mapping system to help delivery agents navigate their journeys and reach correct destination of customers.

Editor’s note: Today’s post is written by Hatim M, Chief Commercial Officer at BungkusIT. The on-demand delivery service delivers packages within the hour for one million customers across Malaysia and uses Google Maps Platform to create a seamless end-to-end delivery experience for its customers.

Imagine it’s the end of a long day at work, and you’re heading home for dinner as you look forward to a restful evening. Then just as you arrive at the doorstep, your phone buzzes with a message from a family member, asking if you could grab a carton of milk from the supermarket.

With moments like these in mind, we founded BungkusIT to alleviate the stress of everyday chores and give people a break from having to run seemingly mundane errands that can often be time-consuming. With so much to do and so few hours in a day, we want to make life simpler by providing our customers with an on-demand delivery service.

BungkusIT rider

As a social enterprise, our mission is to create jobs and increase earning potential for BungkusIT roadies (those who run deliveries), while also increasing online visibility for  local small and medium enterprises through an e-commerce platform. As such, we don’t charge merchants a fee for being featured on our app. 

Our roadies help connect users with products and services that they need. Whether it’s picking up the keys you forgot, or buying a birthday cake for a loved one, our on-demand roadies can help accomplish your task quickly and efficiently. In fact, we’ve helped many seniors—a large and often underserved population—to run errands and provide last mile support.

Providing reliable service, 24/7

From the day we launched, our promise has always been to complete every task given to us within one hour. Google Maps Platform empowers us to fulfil this promise. We understand the importance of selecting a reliable mapping service from the get-go. After exploring different map products, we made the decision to go with Google Maps Platform due to its detailed and accurate location mapping system. With the support of our partner Searce, we’ve been able to quickly integrate all the relevant products on our platform and optimize our API calls.

On a day-to-day basis, our roadies rely on the Places API to navigate their journeys. It pinpoints the exact location set by customers so that our roadies can be sure they arrive at the correct destination. With so many small roads and alleys in Malaysia, it can be challenging to find the exact place based on an address. Dropping a pin on a specific location removes any confusion.

Because we price our services based on distance, it’s business critical to determine the exact distance of a location and the most efficient route to reach it. By automating that process with the Distance Matrix API, we can guarantee that customers don’t get overcharged, while making sure that we’re adequately compensated for our services.

Improving the user experience

At the end of the day, we want to make people’s lives easier. That’s why having an app that is intuitive is key. More than that, we want customers to be able to create a request as quickly as possible. By automatically completing the location a customer is typing after they’ve keyed in the first few characters, Place Autocomplete does that job for us. 

BungkutIT autocomplete

As a fairly young company, we’ve got a long way to go. I believe that we’ll continue evolving alongside Google Maps Platform and exploring the new features it has to offer. We’re already talking to global brands to expand our services and I’m confident that with Google Maps Platform as our maps partner, we will go a long way.

For more information on Google Maps Platform, visit our website.

More Relevant Stories for Your Company

Blog

Chrome OS’s Hybrid Work Model Powers Google’s Return to Work Strategy

The pandemic continues to deeply affect our lives around the globe. In some places, new cases are surging and returning to work is the last thing on people’s minds. In other areas, conditions are improving and companies are starting to think about transitioning their workforce back to the office.  Exactly

How-to

5 Ways You Need to Know to Reduce Costs with Containers

“Cloud Wisdom Weekly: for tech companies and startups” is a new blog series we’re running this fall to answer common questions our tech and startup customers ask us about how to build apps faster, smarter, and cheaper. In this installment, Google Cloud Product Manager Rachel Tsao explores how to save

Blog

Why You Should Consider API-first Integration

Enterprises need to move faster than ever to gain a competitive advantage in today’s customer-focused environment. Time-to-market for products and services has shortened dramatically, from years to days. IT teams must move fast, react fast, and enable business strategies via constant innovation.  All of this digital transformation is about more

Case Study

Modernizing 100-Year Old Retail Chain with Anthos

H-E-B, like many enterprises, was moving away from legacy mainframes in favor of microservices and public cloud infrastructure. With hundreds of applications powering their 100+ year-old business, H-E-B needed to be confident that the platform they are building will provide them the agility and security to continue to innovate for

SHOW MORE STORIES