Modern Software Development using Microservices

 WHAT WILL YOU LEARN?

  • Leveraging Agile processes to scale development efforts
  • Designing and modelling a microservice-architecture system
  • Developing and testing microservices 
  • Automatically deploy microservices in a CI/CD pipeline

About this Course

For the past years, the software industry has been building systems and getting better at it. Throughout this time, different technologies, architectural patterns, and best patterns have emerged. This course focuses on one of the architectural patterns that has sprung up over the last few years – Microservice Architecture.

This architecture is a distinctive method of developing software systems consisting of modules that focus on a single-function. These modules also have well-defined interfaces, allowing the different modules to interact with each other. The trend for this architecture has grown popular in the recent years as organisations look to become more Agile and move towards being able to deliver high-quality products with a short time-to-market. Traditional software architecture patterns such as having the product as on one giant codebase make it more difficult for organisations to deliver at the pace of the market needs. Tech giants such as Uber, Netflix, and Amazon moved away from this monolithic architecture and transitioned to using Microservice architecture. However, this architecture should not be the default solution to every organisation. Microservices buy you a lot of options but do not come for free. The organisational structure and culture play a crucial role in the successful or failed implementation of this architectural pattern. It is important for the organisation to clearly understand the domain that it is operating in and design systems and teams driven by this domain. 

This course starts off by understanding the role of the Agile framework and how this enables software teams deliver products with a quality mindset. We will then focus on how to use two tools to help us design and model our system. During this course you will learn how to use Domain-Driven Design to design our system and Event Storming to model our system. We will then move to develop our system using the Microservices architectural pattern. You will learn on how to test code as part of the development process, building a suite of tests that continously validate the quality of what you are delivering. Finally, we will focus on how to build a pipeline that enables you to deliver the developed system to our end-users.

Add me to the waitlist

Note that this course is fully booked. Register here to add yourself to the waitlist. We’ll let you know as soon as a spot opens up!

This online course is very interactive. Participants will be working hands-on with the tutors. Therefore, places are limited to ensure the deserved attention is given to all participants. 

Entry Requirements

  1. Basic knowledge Object Oriented Programming in C# or Java.
  2. Basic understanding of software development processes. 

Used Technologies

  1. Java
  2. Maven
  3. Spring Framework
  4. Kafka
  5. Docker
  6. K3s

Who is it for?

  • Software Engineering Enthusiasts
  • Software Engineering Students
  • Software Developers
  • Software Quality Assurance Specialists (QA Engineers, Software Testers, SDETs)

Dates and Duration

Course starts on 02/09/21.

10 classes, Weekly, 1800hrs – 2000hrs

Location

Online

Pricing

Format Price
Individual – Public Classroom Free*

* This course is funded by the eSkills Malta Foundation. A €50 commitment fee is to be paid to secure your place in the course. This is fully refundable upon the successful completion of the course. 

While we encourage anyone to register for this course, eSkills’ Digital Bootcamp is being organised predominantly to increase digital skills to Maltese residents.  Therefore, Maltese citizens and residents will be given priority of attendance.