Microservices are a new approach to building scalable digital systems as sets of co-operating components running in a cloud system. This course introduces the microservices architecture and its place in building server systems for digital transformation.

This two-day course will include significant hands-on exercises and so it is important that you have some previous programming experience in web or other backend development. 

The course will be held on a Saturday and Sunday.

Through a combination of lectures, hands-on programming and some group work, we will be building and deploying a scalable backend system into the Kubernetes runtime on a public cloud.

The programming will be done in the Ballerina language (https://ballerina.io/), which is designed around building microservices.

Attendees will come away with skills and knowledge that can be applied to other programming languages and other cloud infrastructure technologies.

Course aims

You will learn:

  • What the advantages and disadvantages of a microservices architecture are
  • How to create synchronous and asynchronous microservices
  • How to create DevOps flows for microservices and to deploy services in Kubernetes
  • How to expose a cluster of microservices as an API

Programme details

Online preparation session (via video conference)

1-hour introductory lecture one week before start date at 19:00 (UK)

You do not need to attend Oxford or buy any software for this online session:

  • Introduction to server-side computing
  • Cloud basics
  • Using the command-line interface

Pre-course work (2-3 hours max)

  • Installing prerequisite software (Ballerina, VS Code, SSH client)
  • Set up cloud account
  • Get first simple service up and running

Day 1


  • Introduction to Microservices
  • Writing a simple data-based microservice
  • Testing microservices


  • Introduction to containers and orchestration (e.g. Docker and Kubernetes)
  • Deploying microservices in a container orchestration system
  • Continuous integration in the cloud

Day 2


  • Building asynchronous services (e.g. RabbitMQ, Apache Kafka)
  • Using remote APIs/SaaS services (e.g. Twilio and Twitter)
  • Creating a complete application


  • Finishing up exercises
  • Exposing APIs through an API Management system
  • Architectural considerations
  • Wrap-up and conclusions


Participants who attend the full course will receive a University of Oxford certificate of attendance. This will be presented to you prior to the end of the course wherever possible.

The certificate will show your name, the course title and the dates of the course you attended.


Description Costs
Standard course fee £895.00


Fees include course materials, tuition, refreshments and lunches. The price does not include accommodation.

All courses are VAT exempt.

Register immediately online 

Click the “book now” button on this webpage. Payment by credit or debit card is required.

Request an invoice

If you require an invoice for your company or personal records, please complete an online application form. The Course Administrator will then email you an invoice. Payment is accepted online, by credit/debit card, or by bank transfer. Please do not send card or bank details via email.


Dr Paul Fremantle

Dr Paul Fremantle is the CTO and co-founder of WSO2, where he has created large scale distributed systems for over ten years. 

Previously Paul was a software architect at IBM Hursley. Paul has extensive experience in cloud, open source, service-oriented computing, federated identity and IoT.

He is the course leader on Cloud Computing/Big Data and Service Oriented Architecture for the Oxford University MSc in Software Engineering. 

Paul has a PhD in IoT Security from the University of Portsmouth, and earned his MSc in Computing and BA in Mathematics and Philosophy at Balliol College, Oxford.

Paul has two patents and has co-authored three books on XML, Web Services and IoT.

Dr David Johnson

Dr David Johnson is Senior Lecturer at Uppsala University, Sweden.

He has held research positions at Oxford University and Imperial College London, and has been a data science consultant for the United Nations.  

His work concerns the development of data infrastructure -- data standards and software -- to support data-intensive research.

Level and demands

  • Technical professionals dealing with cloud-based services
  • Professional software engineers
  • DevOps engineers

Selection criteria

Student prerequisites:

  • Experience of programming, ideally with server-side systems
  • Experience of using a command-line interface
  • Knowledge of cloud computing infrastructure
  • Required to bring own laptop (software requirements will be provided, or must have root access)
  • Minimum 8Gb (16Gb preferred)
  • Windows, Linux or MacOS, and access to a command-line


Although not included in the course fee, accommodation may be available at our on-site Rewley House Residential Centre. All bedrooms are en suite and decorated to a high standard, and come with tea- and coffee-making facilities, free Wi-Fi access and Freeview TV. Guests can take advantage of the excellent dining facilities and common room bar, where they may relax and network with others on the programme.

To check prices, availability and to book rooms please visit the Rewley House Residential Centre website.