We may earn an affiliate commission when you visit our partners.
Course image
Alex Parker

Welcome to this introductory course on microservices and serverless, essential technologies for cloud native and application modernization workloads.

Read more

Welcome to this introductory course on microservices and serverless, essential technologies for cloud native and application modernization workloads.

Rather than building large applications, known as monoliths, that perform all the functionality, microservices break down larger applications into smaller pieces that are independently maintainable and scalable, providing a host of benefits. This architecture is now used in the largest software organizations in the world, because it provides cost benefits, team autonomy, and other advantages.

Likewise, serverless has emerged as an increasingly popular compute option in the cloud era. Giving developers and operators the ability to run applications without managing underlying infrastructure.

In this course, you will create microservices using various methodologies. You will create REST APIs using Python and Flask. Next, you will learn the basics of Serverless applications, and how to run your applications on the IBM Cloud Code Engine.

The course contains several hands-on labs which allow you to practice and apply the content you learn in the course.

In the final project, you will create a front-end application composed of several microservices and deploy them on the Cloud using serverless.

Enroll now

What's inside

Syllabus

Introduction to Microservices
In this module, you will learn methodologies to follow while creating microservices. Learn the best practices for your application’s development, deployment, and operation stages. Also, understand how microservices allow you to independently design, deploy, and scale them while avoiding a single point of failure in your architecture. And finally, get an insight into different anti-patterns to avoid while designing microservices-based applications.
Read more
Web API Essentials: REST API and GraphQL
In this module, you will learn about the REST architecture, its key characteristics of flexibility, uniformity, and scalability. Create your very first REST based API using Python and Flask. Use Swagger to document it and test it using cURL, Postman, and a functionality provided by Swagger. Learn the importance of API Gateways, why you need them, their advantages, especially for abstracting your backend and allowing you to plug additional services.
Serverless Overview
In this module, you will learn the basics of Serverless applications, and compare them with Containers and Traditional computing models while looking at the advantages and disadvantages of each. You will also understand the Function-as-a-Service model and its constraints. Further, get an overview of the Serverless Framework, a reference architecture, and other use cases. And finally, you will learn about the serverless platforms most commonly used these days.
Create and Deploy Microservices using Serverless
In this module, you will learn about how the IBM Cloud Code Engine builds and deploys your apps in seconds. You will then be introduced to IBM Cloud Code Engine’s use cases: deploy applications, build and deploy applications, and run jobs. Next, you will use a Dockerfile to build a container-based application. You will learn to use the IBM Cloud Console or IBM Cloud CLI to perform the application deployment tasks and then deploy it on the IBM Cloud Code Engine.
Final Project
Optional: OpenShift Essentials/Working with OpenShift and Istio
Discover how Red Hat® OpenShift®, a container platform for Kubernetes, helps you automate the provisioning, management, and scaling of your Cloud applications. Explore what a service mesh is and how service meshes benefit organizations who are using microservices. Wrap up this module with an understanding of microservices on OpenShift.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Provides a comprehensive overview of industry leading concepts and practices
Provides strong foundational knowledge for beginners in microservices and serverless
Has real-world applications through hands-on labs and exercises
Instructors are recognized experts in their field
Covers both microservices and serverless, providing a comprehensive understanding of modern cloud-native architectures
Introduces Serverless frameworks and tools such as IBM Cloud Code Engine

Save this course

Save Application Development using Microservices and Serverless to your list so you can find it easily later:
Save

Reviews summary

Solid course on microservices and serverless

According to students, this course offers a solid introduction to microservices, serverless computing, and cloud computing technologies. Learners say the course is well-structured with engaging assignments and helpful labs. While a few students found the material to be difficult and had to seek outside assistance, many found the course to be easy to follow and a good value.
Informative and well-structured content.
"Well structured contents to learn how to use microservices and serverless."
"The course was easy to follow and can give you a quick start on IBM cloud and Serverless Applications."
Engaging and helpful hands-on labs.
"The basic knowledge and practical exercises were great."
"The labs are very helpful to get some clear understanding of the key concepts of cloud native development."
Some students experienced technical issues.
"The labs weren't responsive."
"I had to try many times to complete the lab and eventually had to create a new account to complete the lab."
Can be challenging for beginners.
"It is a bit challenging..."
"Lots of technical issues which made it very hard to practice."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Application Development using Microservices and Serverless with these activities:
Organize Course Materials
Set up a dedicated space to organize course materials, including notes, assignments, and other resources.
Show steps
  • Create a folder or notebook for the course.
  • Organize materials by module or topic.
  • Maintain a clear and consistent naming convention.
Write REST APIs in Python
Practice creating REST APIs using Python to reinforce your understanding of the REST architecture and improve your coding skills.
Browse courses on Python
Show steps
  • Create a virtual environment for your project.
  • Install Flask and its dependencies.
  • Define a simple RESTful API using Flask.
  • Implement GET, POST, PUT, and DELETE requests.
  • Test your API using Postman or a similar tool.
Microservices Workshop
Attend a hands-on workshop to develop practical skills in implementing microservices with containers, using popular tools and technologies.
Show steps
  • Research and identify a suitable microservices workshop.
  • Register for the workshop and make arrangements to attend.
  • Actively participate in the workshop sessions and exercises.
  • Ask questions and clarify concepts with instructors and fellow participants.
  • Complete any follow-up activities or assignments after the workshop.
One other activity
Expand to see all activities and additional details
Show all four activities
Build a Serverless Microservice
Follow an online tutorial to build a complete microservice using Cloud Code Engine, gaining hands-on experience with serverless development.
Browse courses on Serverless Computing
Show steps
  • Create an IBM Cloud account.
  • Install the IBM Cloud CLI.
  • Create a Cloud Code Engine deployment.
  • Deploy your microservice code to Cloud Code Engine.
  • Test your microservice by sending HTTP requests.

Career center

Learners who complete Application Development using Microservices and Serverless will develop knowledge and skills that may be useful to these careers:
Web Developer
Web Developers may find this course particularly beneficial, as it covers concepts and technologies essential for modern web development. They will gain a deep understanding of microservices and serverless architectures, enabling them to build scalable, high-performance web applications. The course's focus on REST APIs and GraphQL will provide a solid foundation for designing and implementing efficient and user-friendly APIs.
Backend Developer
Backend Developers can enhance their skills and knowledge in microservices and serverless computing through this course. They will learn the principles of designing, developing, and deploying scalable and maintainable backend systems using these technologies. The hands-on labs provide a valuable opportunity for Backend Developers to apply these concepts practically, enabling them to effectively build and manage complex backend services.
Application Developer
For Application Developers, this course can provide a solid foundation in microservices and serverless architectures. They will learn the principles of designing, developing, and deploying scalable and maintainable applications using these technologies. The hands-on labs and real-world examples will help Application Developers gain practical experience in implementing microservices and serverless functions, enabling them to contribute effectively to modern software development projects.
Full-Stack Developer
Full Stack Developers can benefit from this course, as it covers both front-end and back-end development concepts related to microservices. They will gain knowledge in designing and implementing RESTful APIs, leveraging serverless computing, and deploying applications on the Cloud. The course's emphasis on best practices and anti-patterns in microservices development will help them build robust and scalable applications.
Cloud Developer
Cloud Developers may find this course particularly useful. It will assist them in grasping the concepts of deploying and operating applications using serverless architectures and microservices. By learning about the IBM Cloud Code Engine, they can leverage its capabilities to automate tasks, reduce infrastructure management overhead, and optimize resource utilization.
Software Architect
Software Architects may find this course beneficial in expanding their knowledge of microservice architectures and serverless computing. They will gain insights into the design principles, trade-offs, and best practices involved in these technologies. The course's emphasis on building robust, scalable, and maintainable software systems aligns with the responsibilities of a Software Architect. By understanding the concepts and practices covered in this course, Software Architects can effectively guide development teams in designing and implementing complex software solutions.
Technical Lead
Technical Leads can enhance their knowledge and skills in microservices and serverless computing through this course. They will gain a deeper understanding of the architectural principles, design patterns, and best practices associated with these technologies. The hands-on labs provide a valuable opportunity for Technical Leads to apply these concepts practically, enabling them to effectively lead and mentor development teams in building and deploying scalable, reliable, and maintainable software solutions.
Cloud Architect
Cloud Architects can benefit from this course by gaining a comprehensive understanding of microservices and serverless architectures in the context of cloud computing. They will be able to design and implement scalable, resilient, and cost-effective cloud solutions that leverage the benefits of these technologies. The course's focus on industry best practices and use cases will provide valuable insights for Cloud Architects as they navigate the complexities of cloud adoption and modernization.
Software Engineer
For Software Engineers, this course may be helpful in enhancing their skills in designing and developing cloud-native applications. By understanding the benefits and challenges of microservices and serverless architectures, they can make informed decisions when choosing the right approach for different scenarios. Additionally, the hands-on labs in this course provide practical experience in implementing and deploying microservices on the IBM Cloud, which aligns with the responsibilities of a Software Engineer.
Solutions Architect
Solutions Architects can benefit from this course by gaining a comprehensive understanding of microservices and serverless architectures. They will be able to effectively evaluate the suitability of these technologies for different business requirements, design and implement scalable solutions, and guide organizations in their cloud adoption journey. The course's focus on industry best practices and use cases will provide valuable insights for Solutions Architects as they navigate complex technical decisions.
Frontend Developer
Frontend Developers may find this course useful, as it covers the development of front-end applications that interact with microservices and serverless functions. They will gain a foundational understanding of REST APIs, GraphQL, and the principles of microservices architecture. By completing this course, Frontend Developers can expand their skillset and become more valuable members of modern development teams.
DevOps Engineer
For DevOps Engineers, this course can provide valuable insights into the deployment and management of microservices and serverless applications. They will learn about the challenges and best practices of continuous integration and continuous delivery (CI/CD) pipelines for microservices, enabling them to streamline the software development lifecycle. The hands-on experience gained through this course will also enhance their ability to collaborate effectively with development teams.
Data Engineer
Data Engineers may find this course helpful, as it provides an introduction to microservices and serverless architectures. They will learn how to leverage these technologies to process and manage data in a scalable and efficient manner. The course's focus on REST APIs and GraphQL will provide valuable insights into designing and implementing data pipelines that integrate with modern applications.
Systems Software Developer
A Systems Software Developer may find the concepts in this course helpful, as it covers some of the competencies they use in their day to day work such as designing, developing, testing, and maintaining system software. By getting familiar with the microservice architecture model, REST APIs, and serverless computing, they will be able to build complex enterprise system software. Although a bachelor's degree in computer science or a related field is usually necessary to get started in this role, continued professional development is vital for a career within this field and this course may help build a foundation for future growth.
Data Scientist
Although not directly related to their primary responsibilities, Data Scientists may find this course interesting and potentially useful. They will learn about microservices and serverless architectures, which can be beneficial for building and deploying data-intensive applications. The course's focus on REST APIs and GraphQL will provide valuable insights into designing and implementing data-centric APIs.

Reading list

We've selected seven books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Application Development using Microservices and Serverless .
Provides a comprehensive overview of microservices architecture, including design principles, implementation strategies, and best practices. It highly recommended read for anyone who wants to learn more about microservices.
Provides a collection of proven patterns for designing and implementing microservices-based systems. It valuable resource for anyone who wants to learn how to build scalable, reliable, and maintainable microservices.
Provides a comprehensive overview of Docker, including how to use it to build, deploy, and manage microservices. It valuable resource for anyone who wants to learn more about Docker and how to use it to build microservices-based systems.
Provides a comprehensive overview of Kubernetes, including how to use it to deploy and manage microservices. It valuable resource for anyone who wants to learn more about Kubernetes and how to use it to build microservices-based systems.
Provides a comprehensive overview of Istio, including how to use it to manage microservices. It valuable resource for anyone who wants to learn more about Istio and how to use it to build microservices-based systems.
Provides a high-level overview of the microservice architecture. It good starting point for anyone who is new to microservices.
Provides a comprehensive overview of serverless architectures on AWS. It valuable resource for anyone who wants to learn more about serverless computing on AWS.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Application Development using Microservices and Serverless .
Microservices and Serverless
Most relevant
Back-end Application Development Capstone Project
Most relevant
Using the Serverless Framework with Node.js on AWS
Most relevant
Creating Azure Serverless Functions in a Real-World...
Most relevant
Architecting Event-driven Serverless Solutions Using...
Most relevant
Developing on AWS
Most relevant
Cloud-Native: Microservices, Kubernetes, Service Mesh,...
Most relevant
Google Cloud Functions Fundamentals
Most relevant
Building Microservice Platforms with TARS
Most relevant
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser