Training For Going Cloud Native
Written by Sue Gee   
Wednesday, 01 June 2022

The digital transformation that is currently in full swing means a huge demand for developers with cloud computing skills. Cloud native is changing the way software development is done and here we look at online training for acquiring the requisite know-how.

Here we look at three offerings from Udacity, edX and Coursera - but when you look more closely edX and Coursera both offer essentially the same course. "Developing Cloud Native Applications" from IBM. On Coursera this is described as being at Intermediate level and requiring around 14 hours to complete, although the six modules are each allocated a week. On edX it's a 2-week course needing 6-8 hours per week. The most important difference is that if you don't want a Verified Certificate at the end of the course you can "Audit" it for free on edX, which allows you 3 weeks access to the materials. You can upgrade at any time to the certificate track, which also gives you access to the graded assessments including a final exam, for $49. On Coursera there's a 7-day free trial - plenty of time to complete this particular course - and you pay a monthly subscription of $49.

The six modules in Developing Cloud Native Applications are:

Module 1 Introduction to Cloud native

Module 2 - Getting Started with IBM Cloud

Module 3 - IBM Cloud CLI

Module 4 - DevOps on IBM Cloud

Module 5 - REST Architecture and Watson API

Module 6 - Introduction to Data Services in IBM Cloud

cloudnative

By the end of Module 1 you will appreciate the advantages of cloud native computing and will have learned that: 

  • A cloud native application consists of microservices working together to comprise an application that is easily scalable. 
  • Containers are executable units of software in which the application code is packaged along with its microservices, libraries, and dependencies so that it can be run anywhere.  
  • The CNCF is an independent body that provides guidance on the use and evolution of cloud native technologies.  
  • It helps participating companies by providing marketing and support for their projects.  
  • Hybrid cloud infrastructure is a combination of hosted public and private cloud spaces.

After the first module, learning becomes hands on and in order to complete labs, and the final project, you'll need to create an IBM Cloud account. A feature code is provided so that you won't get charged, nor will you need a credit card. By the end of the second module learners will be able to: 

  • Build web or mobile applications in IBM Cloud. 

  • Use the IBM Cloud dashboard to manage users and resources. 

  • Locate application routes to test applications from a browser. 

  • Determine when to use predefined services or create custom services. 

  • Identify how to bind services with applications. 

  • Recognize how environmental variables are used with services and where to find them.

In the Final Project, which is expected to take 3 hours, you are asked to building your own IBM Cloudant connected, CI/CD enabled application. The scenario is that a previous developer has developed the basic code for an application that allows the public to create movie reviews to be stored in GitHub. The task is to refine the existing code using Cloud Foundry  and host the application on  IBM Cloud. To achieve this, you must fork the GitHub code to your own repo, and then create the required services in your IBM Cloud account and connect them to the application. This is a peer-graded assignment and is worth 20 marks of the total grade for this course.

Both on Coursera and edX this course is the third of four courses in a larger credential - the IBM Cloud Application Development Foundations Specialization in the case of Coursera and the Professional Certificate in IBM Cloud Application Development Foundations on edX. The other courses, all from IBM with Coursera timings, are:

  • Introduction to Cloud Computing
    2–4 hours per week, for 3 weeks
  • Introduction to Cloud Development with HTML5, CSS3, and JavaScript
    2–4 hours per week, for 2 weeks
  • Developing Cloud Applications with Node.js and React  4–6 hours per week, for 3 weeks

The latest addition to Udacity's School of Cloud Computing is a 4-month Nanodegree program in Cloud Native Application Architecture. The prerequisites are familiarity with HTTP, Python, Git, Linux and Docker and the Overview states:

In this program, students will learn to run and manage scalable applications in a cloud native environment, using open source tools and projects like ArgoCD, gRPC and Grafana. Students will learn to identify the best application architecture solutions for an organization’s needs, design a microservice architecture by leveraging cloud native tools and patterns, implement best practices in Kubernetes security, and use dashboards to diagnose, troubleshoot and improve site reliability.

udacityLogoNew

This Udacity Nangodegree goes further and is more demanding than the IBM credential and covers a range of open source technologies. There are four courses in the program and each typically has 5 lessons. What you learn is put into practice immediately in a hands-on project.

Course 1: Cloud Native Fundamentals
Learn how to structure, package and release an application to a Kubernetes cluster, while using an automated CI/CD pipeline. Start by applying a suite of good development practices within an application, package it with Docker and distribute it through DockerHub. This will transition to the exploration of Kubernetes resources and how these can be used to deploy an application. At this stage, students will be comfortable using k3s to bootstrap a lightweight and functional Kubernetes cluster. Next comes an examination of template configuration managers, such as Helm, to implement the parameterization of Kubernetes declarative manifests. Towards the end of the course, students will learn the fundamentals of Continuous Integration and Continuous Delivery (CI/CD) with GitHub Actions and ArgoCD and completely automate the release process for an application.

Course 2: Message Passing
Learn how to refactor microservice capabilities from a monolithic architecture and employ different forms of message passing in microservices. To begin, students will create a migration strategy to refactor a service from a monolith to its own microservice and implement the migration. Next, students will be introduced to industry standard best practices for message passing in a service architecture. Finally, students will focus on design decisions and the implementations of different forms of message passing in development and production systems.

Course 3: Observability
Covers the fundamentals of observability in distributed systems. Today, Kubernetes has become the de facto standard for cloud native applications and is widely used for distributed systems. To be effective as an observability expert, it is critical to understand how to monitor and respond to the health and performance of both your Kubernetes clusters and the applications hosted on them. This course teaches students how to collect system performance data using Prometheus, how to collect application tracing data using Jaeger and how to visualize the results in a dashboard using Grafana.

Course 4: Microservices Security
Learn how to harden a Docker and Kubernetes microservices architecture. To begin, students meet the STRIDE to threat model and reason about microservice security. Next, they explore the Docker and Kubernetes attack surface and are introduced to industry open-source tools such as Docker-bench and Kube-bench to evaluate and harden Docker and Kubernetes weaknesses. They go on to learn about software composition analysis with Trivy and Grype to evaluate image layers and common application security vulnerabilities and provide remediation. Finally, students will deploy runtime security monitoring to introspect running microservices for security signals and learn how to respond to a security incident.

This a lot to cover in 4 months and around 10 hours effort is required per week. It also has a relatively high cost  $399 per month or $1696 if you pay for 4-month access upfront, a discount of 15%. Remember however that Udacity offers personalized discounts and it offers with technical mentor support, prompt personalized feedback from project reviewers and career support to its students.

cloudnativepic

More Information

Developing Cloud Native Applications - edX

Developing Cloud Native Applications - Coursera

IBM Cloud Application Development Foundations Specialization - Coursera

Professional Certificate in IBM Cloud Application Development Foundations - edX 

Cloud Native Application Architecture Nanodegree - Udacity

Related Articles

New Udacity Cloud Nanodegree Programs

Udacity's School of Cloud Computing

Microsoft and Udacity Partner To Offer Azure Machine Learning Nanodegree

Top Skills In Demand For 2020

Professional Credentials For Computer Science Careers

 

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.

 

Banner


Gender Differences In Coding Style
13/11/2024

A novel investigation into the gender gap between men and women regarding coding ability was undertaken by Dr Siân Brooke. Her conclusion? There is a difference in the Python code [ ... ]



Apache Fury Adds Optimized Serializers For Scala
31/10/2024

Apache Fury has been updated to add GraalVM native images and with optimized serializers for Scala collection. The update also reduces Scala collection serialization cost via the use of  encoding [ ... ]


More News

espbook

 

Comments




or email your comment to: comments@i-programmer.info

Last Updated ( Wednesday, 01 June 2022 )