Certificate Associate in Web Development – Microservices
Microservices is an architectural style and pattern that is becoming very popular and adopted by many organizations because of the advantages that it offers. In this course, you will learn what it takes to build great applications using microservices, the pitfalls associated with such a design, and the techniques to avoid them.
We will start by shedding light on traditional monoliths, and the problems faced in such architectures and how microservices are an obvious evolution to tackle such problems. We will then learn to build performant web-services using Flask. You will understand the importance of writing code that is asynchronous and non-blocking and how Play leverages this paradigm internally for a higher throughput.
We will proceed by learning about effective development processes for large teams. Using good version control workflow and continuous integration and deployments, we can achieve high confident shipment of code. Next, we will contrast it with an operating system level virtualization using Docker.
We will look at the theory of distributed systems first. This justifies the need for cluster orchestrator, such as Kubernetes, for efficient use of docker containers.
Finally, we will look at the actual end-to-end deployment of a set of flask microservices completely in Docker, with load balancing, service discovery, and rolling deployments.
Upon completion of the course, participants should be able to:
- Define what microservices are, and their roles in modern web applications.
- Create a framework with a sample web application that will be the basis for building microservices
- Describe the Test-Driven Development and Continuous Integration approach
- Demonstrate knowledge of Open API 2.0 specification (ex-Swagger), which can be used to describe HTTP APIs
- Explain how a service interacts with backend services, how to deal with network splits and other interaction problems, and how to test the service in isolation
- Explain how to secure microservices and how to deal with user authentication, service-to-service authentication, as well as user management
Who should attend
This course will help beginners, programmers, application developers and software engineers pick the right strategy for developing cross-platform web applications that run on a variety of desktop computers as well as mobile devices. The primary audience is developers who need to learn how to develop web applications using the HTML5 stack.
Foundational certificate in Programming
Mix of Instructor-led, case study driven and hands-on for select phases
H/w, S/w Reqd
32 Hours (4 days Instructor led + 8 hours online learning)
- Course Name: Certificate Associate in Web Development – Microservices
- Location: Singapore
- Duration: 4 days classroom + 8 hours online
- Exam Time: 60 minutes
- Course Price: Call for price
- Minimum requirements: Foundational Certificate in Programming
|#||Topic||Method of Delivery|
Chapter 1 – Understanding Microservices
What microservices are
Monolithic approach of building an application
Microservices approach of building applications
Benefits of microservices
Pitfalls in microservices
Chapter 2 – Framework for Microservices
How Flask handles requests
Flask built-in features
A microservice skeleton
Chapter 3 – Coding and Testing
The different kind of tests
Chapter 4 – Interacting with Other Services
How a service can call another service in a synchronous way, and make these calls as efficient as possible
How a service can make asynchronous calls and communicate with other services via events
Some techniques to test services that have network dependencies
|Online Self paced|
- Certificate Title: Certificate Associate in Web Development – Microservices
- Certificate Awarding Body: ITPACS
Information Technology Professional Accreditations and Certifications Society (ITPACS) is a non-profit organization focused on improving technology skills for the future. ITPACS offers associate level, professional level and leader certifications across 6 domains including data science, web development, mobile development, cyber security, IoT and blockchain. Applicants have to go through a exam eligibility process demonstrating their experience.
The Associate certification is catered to individuals with less than 1 year working experience in the field. This is ideal for newcomers starting out in the profession or those seeking to make an entry into the profession. Applicants are required to have completed the application process prior to taking the exam.
- Exam Format: Closed-book format.
Questions: 30 multiple choice questions, coding exercises
Passing Score: 65%
Exam Duration: 60 minutes
- Exam needs to be taken within 12 months from the exam voucher issue date
Web Developers build web applications. A web application is one that helps an organization run its business online. Most web applications are built in a three-tier architecture that consists of three important layers: data, logic, and presentation. In web applications, the application structure usually breaks down to database, server, and client, while in modern web development; it can also be broken into database, server logic, client logic, and client UI.
Dynamic web pages are known as pages that are created as soon as a call is sent to the server. So data can be built interactively into the sites. They are particularly helpful when you need to react to user inputs. Forms can be evaluated immediately and the content of the next page can be shown. The application possibilities are nearly unlimited. Whether and to which extent databases are used depends on the goal. Dynamic web pages actually do not need a database.
A popular paradigm for implementing this model is the Model-View-Controller (MVC) architectural pattern. In the MVC paradigm, the logic, data, and visualization are separated into three types of object, each handling its own tasks. The View handles the visual part, taking care of user interaction. The Controller responds to system and user events, commanding the Model and View to change appropriately. The Model handles data manipulation, responding to requests for information or changing its state according to the Controller’s instructions.