Skip to content
All projects
Client work

Telstra

Four programmes as cloud and DevOps architect: invoicing, platform verification, 000 emergency calls and eSIM support.

Client
Telstra
Role
Cloud and DevOps architect
Years
2018 – 2022
Programmes
4
Illustration of four panels: a paid invoice, a verification score, the 000 emergency number and an active eSIM

Programme 1 of 4

DS-Invoicing

Receipt and invoice microservices for every Telstra payment scenario, on ECS and EKS.

Role
Cloud and DevOps architect
Team
5 people
Illustration of a paid invoice beside the receipt, invoice and document manager services

What it is

Telstra generates receipts and invoices for sales orders, subscriptions, prepaid recharges, retried failed payments and invoice payments. DS-Invoicing splits this into Receipt, Invoice and Document Manager services.

The problem

Many payment paths need documents, and some must be reversed: a receipt has to be voided when a bank payment is declined or disputed.

Architecture

Requests flow left to right. Hover a component for its role.

DS-Invoicing architecturePayment events: orders, subscriptions, rechargesPayment eventsReceipt ManagerReceipt ManagerInvoice ManagerInvoice ManagerDocument ManagerDocument ManagerS3: documentsS3ECS and EKSECS and EKS
Solid line: synchronous callDashed line: through a queueDashed box: external or infrastructure
  • Payment events client, orders, subscriptions, recharges
  • Receipt Manager service
  • Invoice Manager service
  • Document Manager service
  • S3 data, documents
  • ECS and EKS infrastructure

Key decisions

  • Split by document lifecycle

    Receipts, invoices and rendered documents are separate services, so a void or re-trigger touches only the service that owns it.

Highlights

  • Handles sales orders, subscriptions, failed-payment retries, prepaid recharges and invoice payments.
  • Voids issued receipts when a bank payment is declined or disputed.

Stack

JavaSpring BootAWS ECSAmazon EKSS3AWS GlueCloudFormationLambdaBambooBitbucket

Programme 2 of 4

AVITA

Automated platform verification tests that Telstra teams run from a UI or an API.

Role
Cloud architect and full-stack developer
Team
5 people
Illustration of a platform verification dashboard with 98 per cent of tests passing

What it is

AVITA lets teams create and run Platform Verification Tests from a web UI or through an API, before, during and after infrastructure changes.

The problem

Verification tests were slow and laborious to run, so teams ran fewer of them around infrastructure changes than they should have.

Architecture

Requests flow left to right. Hover a component for its role.

AVITA architectureVue UIVue UIPipelines via APIPipelines via APISpring Boot API: Pivotal Cloud FoundrySpring Boot APITest runnerTest runnerPlatform under testPlatform under test
Solid line: synchronous callDashed line: through a queueDashed box: external or infrastructure
  • Vue UI client
  • Pipelines via API client
  • Spring Boot API service, Pivotal Cloud Foundry
  • Test runner worker
  • Platform under test external

Key decisions

  • API first

    Everything the UI can do is available through the API, so tests can run inside deployment pipelines without a person clicking.

Highlights

  • Cut the time and effort needed to run a verification test.
  • Made fuller test suites practical around every infrastructure change.

Stack

VueSpring Boot 2Pivotal Cloud FoundryMochaChaiBamboo

Programme 3 of 4

000 Legacy Call Retrieval

The operator system behind Australia's 000 emergency line for answering and dispatching calls.

Role
Cloud architect and full-stack developer
Team
5 people
Illustration of the 000 emergency number beside an operator console handling a live call

What it is

The IT component that lets emergency-call operators answer 000 calls, determine which emergency service is needed and dispatch the caller, while storing call data and a reference to each recording.

The problem

Operators need a fast, reliable interface for emergency calls, and every call's data and recording must be retrievable later.

Architecture

Requests flow left to right. Hover a component for its role.

000 Legacy Call Retrieval architecturerecording referenceOperator console: VueOperator consoleSpring Boot API: DockerSpring Boot APICall recordsCall recordsCall recordings: E000RVRCall recordings
Solid line: synchronous callDashed line: through a queueDashed box: external or infrastructure
  • Operator console client, Vue
  • Spring Boot API service, Docker
  • Call records data
  • Call recordings external, E000RVR

Key decisions

  • Store references, not recordings

    Call data is stored with a reference to the recording held in the recording system, so retrieval stays fast and storage stays in one place.

Highlights

  • Supports operators answering and dispatching 000 callers.
  • Keeps every call's data and recording retrievable.

Stack

VueSpring Boot 2DockerDocker ComposeMochaChaiBamboo

Programme 4 of 4

eSIM Help and Support

Support app for Telstra's eSIM launch, the first in Australia.

Role
Cloud architect and full-stack developer
Team
2 people
Illustration of a phone with an active eSIM and support chat bubbles

What it is

Telstra was the first Australian carrier to launch eSIM. This application helps customers resolve problems with their eSIM.

The problem

A new technology launch brings new support questions, and customers needed a self-service way to fix eSIM issues.

Architecture

Requests flow left to right. Hover a component for its role.

eSIM Help and Support architectureReact and Redux appReact and Redux appSpring Boot API: Pivotal Cloud FoundrySpring Boot APITelstra back-end servicesTelstra back-endservices
Solid line: synchronous callDashed line: through a queueDashed box: external or infrastructure
  • React and Redux app client
  • Spring Boot API service, Pivotal Cloud Foundry
  • Telstra back-end services external

Key decisions

  • Tested on both sides

    Jest on the front end and JUnit with Mockito on the back end, delivered through Bamboo.

Highlights

  • Built by a two-person team for a national launch.
  • Self-service help for eSIM activation and carrier switching.

Stack

ReactReduxSpring Boot 2Pivotal Cloud FoundryJestJUnitMockito