FSD1-SM06 Secure Microservices

FSD1-SM06 Secure Microservices

  • Course description
    • Course code
      FSD1-SM06
    • Level of study
      5.1
    • Program of study
      Secure Application Development and Deployment
    • Credits
      6
    • Course coordinator
      Frederick Johannes Botha
Teaching term(s)
2024 Autumn
Authors
Prosper Kandabongee Yeng
About the Course

Secure Microservices focuses on developing graduates capable of migrating monolithic applications to microservices. The course starts with a basic introduction to the Linux command line terminal and introduces Docker for Linux (since, until now, in the programme, learners will have been using Docker for Windows). Candidates will learn to identify risks, threats, and vulnerabilities throughout the software development lifecycle and implement cyber security measures to protect information assets. Learners will gain practical experience applying protocols to establish an encrypted link between the browser and web server. In addition, they will be able to create an automated CI/CD pipeline that continuously builds, test and release microservices into the live environment. 

A secure microservices course is typically placed after the system development lifecycle, back-end and front-end courses in a secure application development and deployment program to build upon foundational knowledge. SALM provides students with an understanding of software development lifecycles. Back-end and front-end courses introduce them to application architecture and user interfaces. The secure microservices course then focuses on enhancing security competencies, integrating security into microservices, and preparing students to secure modern, distributed applications. This progression ensures that students have a holistic understanding of secure application development, aligning with the overall learning outcome of producing well-rounded professionals capable of developing, deploying, and securing modern applications. 

Course Learning Outcomes
Learning outcomes - Knowledge

The candidate: 

  • has knowledge of concepts, processes and tools for developing secure microservices including but 
  • cloud and microservices tools such as Kubernetes, cloud infrastructures and automating Kubernetes 
  • has insight into relevant regulations, standards, agreements and quality requirements for secure microservices development 
  • has knowledge in secure microservices development and is familiar with various aspects of microservice architecture development to fulfil security and quality needs of the application, among others 
  • can update their knowledge in relation to secure microservice development 
  • understands the relevance of implementing secure microservices in society and from the perspective of value-creation 
Learning outcomes - Skills

The candidate: 

  • can apply vocational knowledge to set up a secured development environment in the cloud and be able to develop and deploy microservices application 
  • masters relevant secure microservices tools, materials, techniques and styles such as configuration of Docker Engine on Linux, setting up of CI/CD pipelines and Kubernetes 
  • can find information and materials that are relevant to secure microservice development problem 
  • can study a situation and identify secure microservices development problems and provide solutions as measures 
  • can deconstruct a monolithic web application into separate services and securely configure communication channels between the disconnected services 
General Competence

The candidate: 

  • understand the ethical principles that apply in developing Secure Microservices 
  • has developed an ethical attitude in relation to developing Secure Microservices 
  • can carry out work based on microservices needs of business clients 
  • can design and implement microservices architectures that are scalable and secure 
  • can use containerisation technologies like Docker for packaging and deploying microservices 
  • can build relations with back-end developers, designers, end users and other stakeholders to develop microservices to conform to requirement 
  • can develop work methods, products and/or services relevant to secure microservice development, deployment, and maintenance. 
Teaching and Learning

In this course, the following teaching and learning methods can be applied, but are not limited to:

  • Lecture: Educator-led presentations or activities providing knowledge, skills, or general competencies in the subject area.
  • Group work: Collaborative activities where students work together to solve problems or complete tasks.
  • Tutoring: One-on-one or small group sessions with an instructor for personalized guidance and support.
  • Student presentations: Opportunities for students to demonstrate their understanding of course material by presenting to peers.
  • Online lessons: Digital content delivered via an online learning platform.
  • Guidance: Individualized advice and direction from instructors to support students in their learning journey.
  • Workshops: Practical sessions focused on hands-on application of theoretical concepts or skills.
  • Self-study: Independent study where students engage with course material on their own without any teacher support.
Reading list

Teaching materials, reading lists, and essential resources will be shared in the learning platform and software user manuals where applicable.

Assessments
Form of assessmentGrading scaleGroupingDuration of assessment
Course Assignment
Pass / Fail