Cloud Tech Blueprint Bulletin #2
Benedict Xavier
Global Head - Payments Specialist, Blockchain Architect, Open Protocols, Build Open Platform, Digital Banking, Open Headless Commerce, Payment Gateway, Open Banking, Wallets - Expert in Digital Transformation & Payments
Welcome to the Cloud Tech Blueprint Bulletin #2!
I am excited to bring you the second edition of the Cloud Blueprint Bulletin, my monthly newsletter dedicated to the latest developments, trends, and insights in cloud adoption and technology across various industries.?
In this second issue, we turn to Serverless Architecture, Graph QL and the banking sector.
Introduction to Serverless Architecture
Serverless computing, a revolutionary paradigm shift in cloud computing, has emerged as a game-changer, providing organisations with a more efficient and cost-effective approach to building and running applications.
The principles of serverless computing revolve around event-driven computing, where applications?are triggered?by specific events or requests, and the execution environment is automatically scaled up or down based on demand. This architecture eliminates the need for developers to worry about server provisioning, patching, or capacity planning, allowing them to concentrate on building and delivering functionality quickly and efficiently.
Benefits of going serverless:
Serverless Architecture in Practice
Serverless architectures has gained significant traction across various industries, with companies recognising the benefits of increased agility, scalability, and cost optimisation.?
Netflix extensively utilises Amazon Web Services (AWS) Lambda functions to power various aspects of its platform, including video encoding, data processing, and real-time analytics. By adopting a serverless approach, Netflix can scale its infrastructure seamlessly to accommodate fluctuations in demand, ensuring a seamless viewing experience for its millions of users worldwide.
可口可乐公司 has leveraged serverless architectures to streamline its data processing and analytics pipelines. Coca-Cola uses server less architecture can process vast amounts of data efficiently, gain real-time insights, and optimise its supply chain and marketing strategies.
While the benefits of serverless architectures are compelling, organisations must also consider the challenges and considerations involved in migrating to these environments like potential vendor lock-in and complexities in areas such as monitoring, debugging, and testing, requiring developers to adapt their practices and tooling accordingly.
To mitigate these challenges and ensure successful adoption, it is crucial to follow best practices for designing, deploying, and maintaining serverless applications, including:
Serverless GraphQL APIs
Serverless architectures and GraphQL are a powerful combination for building highly scalable and cost-efficient APIs. GraphQL's flexible data fetching aligns seamlessly with serverless computing's event-driven model, enabling APIs deployed as serverless functions to automatically scale based on demand.
Organisations like BBVA and 澳洲国民银行 are leveraging this synergy - BBVA used the serverless Hasura engine for Deeptracy's GraphQL layer, while NAB's BFF topology with GraphQL servers can potentially leverage serverless functions. Combining these technologies accelerates development cycles, optimizes costs by only paying for resources used, and allows teams to focus on evolving schemas rather than infrastructure management.
As enterprises embrace modern API architectures, harnessing serverless and GraphQL together unlocks new capabilities for delivering high-performance, cost-effective data APIs.
Introduction to GraphQL
GraphQL is an open-source data query and manipulation language developed by Facebook . It provides a more efficient, powerful and flexible approach to building APIs compared to traditional REST APIs. GraphQL itself is open-source and free to use, however, commercial applications or products built using GraphQL may require licensing or payment depending on the specific use case and business model.
Unlike REST, which has a rigid resource-centric approach, GraphQL uses a single endpoint and allows clients to @ of the data they need. This leads to more efficient data fetching as clients can retrieve exactly the data they require in a single request, avoiding over-fetching or under-fetching issues common in REST.
Some of the key advantages of GraphQL include:
At the core of GraphQL is the schema defining the data models and relationships between different types. Clients can then construct queries to fetch nested data objects and their fields in a single request. GraphQL also supports mutations to modify server-side data and subscriptions for real-time data updates.
The query language uses a simple syntax where fields on objects are selected through nested subfield syntax, providing a very descriptive and intuitive way to fetch data. Combined with the flexibility to define precise data requirements, GraphQL enables product teams to build modern data-driven applications more efficiently compared to traditional APIs.
领英推荐
BBVA uses GraphQL to build an open source security product
Background and Challenges?
BBVA Innovation Labs, a multidisciplinary team within BBVA, a Spanish multinational financial services company and one of the largest financial institutions in the?world, was working on Deeptracy, an open-source tool for analysing security issues in third-party libraries used in a project. As the sole project owner, Roberto Martinez wanted to rewrite the project to make it smaller and more manageable. He faced challenges such as minimising support activities like documenting the API and communicating with teams using the tool. Additionally, he needed to future-proof the project for unforeseen use cases without constantly building new REST APIs or modifying Deeptracy.
Strategy and Architecture
To address these challenges, the team decided to adopt GraphQL for Deeptracy. They were particularly impressed by Hasura's quality of code, robustness, documentation, and the community around it. Hasura was chosen as the GraphQL engine to accelerate development and provide a robust, well-documented solution.
Implementation
The rewrite involved adopting GraphQL to address extensibility and documentation concerns. Hasura was leveraged as the GraphQL engine, allowing Roberto to set up the GraphQL layer quickly and efficiently. The project was restructured to be smaller and more manageable, with the GraphQL API enabling teams to fetch specific data without building new APIs.
Benefits and Outcomes
Learnings
The adoption of GraphQL for Deeptracy proved to be a successful strategy for BBVA Innovation Labs. GraphQL enabled a more extensible and iterative product development approach, addressing concerns around documentation, extensibility, and future-proofing. Hasura accelerated the GraphQL adoption process and reduced implementation efforts significantly. The project showcased the benefits of leveraging modern technologies like GraphQL and Hasura for building scalable and maintainable applications, especially in the context of an open-source project within a large organisation like BBVA.
National Australia Bank's Implementation of GraphQL
Background and Challenges
澳洲国民银行 adopted GraphQL as part of their NAB-X platform, used to deliver customer and colleague user interfaces on the web and mobile. The goal was to optimise how teams interact with backend services in terms of performance and simplicity. Previously, changes in frontend code required a larger testing matrix due to multiple browser and device types, leading to higher costs of change compared to backend code changes.
Strategy and Architecture
NAB-X uses a BFF (Backend for Frontend) topology, where each miniapp frontend can have a paired GraphQL server acting as a BFF. This allows for data retrieval and mutation in a way that optimises front-end code simplicity and a great user experience. NAB decided to use GraphQL to resolve data via downstream REST API calls, rather than going directly to underlying data sources, leveraging existing security controls and infrastructure.
Implementation
NAB-X provides code generators and tools to simplify the creation of GraphQL servers, following a standardised pattern: define schema types, REST datasources, resolvers, and configure plugins. Teams use TypeScript, benefiting from strong typing and avoiding runtime exceptions. GraphQL's Schema Definition Language (SDL) enforces contracts and provides benefits in frontend code. The GraphQL Playground tool enables teams to experiment with queries during miniapp development.
Benefits and Outcomes
Learnings
Overall, NAB's experience with GraphQL showcased its benefits in optimising data retrieval, simplifying frontend development, and addressing performance and security concerns, while aligning to deliver features to customers quickly and safely.
If you are seeing this newsletter and are not signed up, sign up now for monthly news dedicated to the latest developments, trends, and insights in cloud adoption and technology across various industries.
Know an industry?professional?or?startup funder?interested in this newsletter? Feel free to forward it to them.
Newsletter curated by Benedict Xavier - For tips and to be featured kindly?send me a direct message?on LinkedIn.