IBM DevOps and Software Engineering
Offered By: IBM via Coursera
Course Description
Overview
DevOps professionals are in high demand! According to a recent GitLab report, DevOps skills are expected to grow 122% over the next five years, making it one of the fastest growing skills in the workforce.
This certificate will equip you with the key concepts and technical know-how to build your skills and knowledge of DevOps practices, tools and technologies and prepare you for an entry-level role in Software Engineering.
The courses in this program will help you develop skill sets in a variety of DevOps philosophies and methodologies including Agile Development, Scrum Methodology, Cloud Native Architecture, Behavior and Test-Driven Development, and Zero Downtime Deployments.
You will learn to program with the Python language and Linux shell scripts, create projects in GitHub, containerize and orchestrate your applications using Docker, Kubernetes & OpenShift, compose applications with microservices, employ serverless technologies, perform continuous integration and delivery (CI/CD), develop testcases, ensure your code is secure, and monitor & troubleshoot your cloud deployments.
Guided by experts at IBM, you will be prepared for success. Labs and projects in this certificate program are designed to equip job-ready hands-on skills that will help you launch a new career in a highly in-demand field.
This professional certificate is suitable for both - those who have none or some programming experience, as well as those with and without college degrees.
Syllabus
Course 1: Introduction to DevOps
- Offered by IBM. Get started with your DevOps journey with this beginner-friendly course! DevOps skills are high in demand and expected to be ... Enroll for free.
Course 2: Introduction to Cloud Computing
- Offered by IBM. Start your cloud computing journey with this self-paced introductory course! Whether you need general cloud computing ... Enroll for free.
Course 3: Introduction to Agile Development and Scrum
- Offered by IBM. Get started with using Agile Development and Scrum with this self-paced introductory course! After successfully completing ... Enroll for free.
Course 4: Getting Started with Git and GitHub
- Offered by IBM. Get started with Git and GitHub in this self-paced, introductory course! You’ll become familiar with collaborative version ... Enroll for free.
Course 5: Hands-on Introduction to Linux Commands and Shell Scripting
- Offered by IBM. This course provides a practical understanding of common Linux / UNIX shell commands. In this beginner friendly course, you ... Enroll for free.
Course 6: Python for Data Science, AI & Development
- Offered by IBM. Kickstart your learning of Python with this beginner-friendly self-paced course taught by an expert. Python is one of the ... Enroll for free.
Course 7: Developing AI Applications with Python and Flask
- Offered by IBM. This mini course is intended to apply basic Python skills for developing Artificial Intelligence (AI) enabled applications. ... Enroll for free.
Course 8: Introduction to Containers w/ Docker, Kubernetes & OpenShift
- Offered by IBM. Take the next step in your software engineering career by getting skilled in container tools and technologies! The average ... Enroll for free.
Course 9: Application Development using Microservices and Serverless
- Offered by IBM. Welcome to this introductory course on microservices and serverless, essential technologies for cloud native and application ... Enroll for free.
Course 10: Introduction to Test and Behavior Driven Development
- Offered by IBM. Successful developers need to not only build the right software but build it right. To know your software works correctly, ... Enroll for free.
Course 11: Continuous Integration and Continuous Delivery (CI/CD)
- Offered by IBM. A principle of DevOps is to replace manual processes with automation to improve efficiency, reduce human error, and ... Enroll for free.
Course 12: Application Security for Developers and DevOps Professionals
- Offered by IBM. How vulnerable are your applications to security risks and threats? This course will help you identify vulnerabilities and ... Enroll for free.
Course 13: Monitoring and Observability forDevelopment and DevOps
- Offered by IBM. Application developers and DevOps professionals must ensure their app works at its best. However, these app may need help ... Enroll for free.
Course 14: DevOps Capstone Project
- Offered by IBM. Showcase your DevOps and Software Engineering skills with this hands-on Capstone project! In this course you will apply the ... Enroll for free.
- Offered by IBM. Get started with your DevOps journey with this beginner-friendly course! DevOps skills are high in demand and expected to be ... Enroll for free.
Course 2: Introduction to Cloud Computing
- Offered by IBM. Start your cloud computing journey with this self-paced introductory course! Whether you need general cloud computing ... Enroll for free.
Course 3: Introduction to Agile Development and Scrum
- Offered by IBM. Get started with using Agile Development and Scrum with this self-paced introductory course! After successfully completing ... Enroll for free.
Course 4: Getting Started with Git and GitHub
- Offered by IBM. Get started with Git and GitHub in this self-paced, introductory course! You’ll become familiar with collaborative version ... Enroll for free.
Course 5: Hands-on Introduction to Linux Commands and Shell Scripting
- Offered by IBM. This course provides a practical understanding of common Linux / UNIX shell commands. In this beginner friendly course, you ... Enroll for free.
Course 6: Python for Data Science, AI & Development
- Offered by IBM. Kickstart your learning of Python with this beginner-friendly self-paced course taught by an expert. Python is one of the ... Enroll for free.
Course 7: Developing AI Applications with Python and Flask
- Offered by IBM. This mini course is intended to apply basic Python skills for developing Artificial Intelligence (AI) enabled applications. ... Enroll for free.
Course 8: Introduction to Containers w/ Docker, Kubernetes & OpenShift
- Offered by IBM. Take the next step in your software engineering career by getting skilled in container tools and technologies! The average ... Enroll for free.
Course 9: Application Development using Microservices and Serverless
- Offered by IBM. Welcome to this introductory course on microservices and serverless, essential technologies for cloud native and application ... Enroll for free.
Course 10: Introduction to Test and Behavior Driven Development
- Offered by IBM. Successful developers need to not only build the right software but build it right. To know your software works correctly, ... Enroll for free.
Course 11: Continuous Integration and Continuous Delivery (CI/CD)
- Offered by IBM. A principle of DevOps is to replace manual processes with automation to improve efficiency, reduce human error, and ... Enroll for free.
Course 12: Application Security for Developers and DevOps Professionals
- Offered by IBM. How vulnerable are your applications to security risks and threats? This course will help you identify vulnerabilities and ... Enroll for free.
Course 13: Monitoring and Observability forDevelopment and DevOps
- Offered by IBM. Application developers and DevOps professionals must ensure their app works at its best. However, these app may need help ... Enroll for free.
Course 14: DevOps Capstone Project
- Offered by IBM. Showcase your DevOps and Software Engineering skills with this hands-on Capstone project! In this course you will apply the ... Enroll for free.
Courses
-
Kickstart your learning of Python with this beginner-friendly self-paced course taught by an expert. Python is one of the most popular languages in the programming and data science world and demand for individuals who have the ability to apply Python has never been higher. This introduction to Python course will take you from zero to programming in Python in a matter of hours—no prior programming experience necessary! You will learn about Python basics and the different data types. You will familiarize yourself with Python Data structures like List and Tuples, as well as logic concepts like conditions and branching. You will use Python libraries such as Pandas, Numpy & Beautiful Soup. You’ll also use Python to perform tasks such as data collection and web scraping with APIs. You will practice and apply what you learn through hands-on labs using Jupyter Notebooks. By the end of this course, you’ll feel comfortable creating basic programs, working with data, and automating real-world tasks using Python. This course is suitable for anyone who wants to learn Data Science, Data Analytics, Software Development, Data Engineering, AI, and DevOps as well as a number of other job roles.
-
Start your cloud computing journey with this self-paced introductory course! Whether you need general cloud computing knowledge for school or business, or you are considering a career change, this beginner-friendly course is right for you. In this course you’ll learn about essential characteristics of cloud computing and emerging technologies supported by cloud. You’ll explore cloud service models, including Infrastructure as a Service (IaaS), Platform as a Service (PaaS), Software as a Service (SaaS), and Public, Private, and Hybrid deployment models. Discover the offerings of prominent cloud service providers AWS, Google, IBM, Microsoft, and others, and review cloud computing case studies. Learn about cloud adoption, blockchain, analytics, and AI. You will learn about the many components of cloud computing architecture including datacenters, availability zones, virtual machines, containers, and bare metal servers. You will also familiarize yourself with different types of cloud storage options, such as Object Storage. You’ll gain foundational knowledge of emergent cloud trends and practices including Hybrid, Multicloud, Microservices, Serverless, DevOps, Cloud Native, Application Modernization, as well as learn about cloud security and monitoring. You’ll also explore cloud computing job roles and possible career paths and opportunities. You will complete a number of labs and quizzes throughout this course to increase your understanding of course content. At the end of the course, you will complete a final project where you will deploy an application to Cloud using a serverless architecture, a valuable addition to your portfolio. After this course, check out the related courses to help you towards your new career as a cloud engineer, full stack developer, DevOps engineer, cybersecurity analyst, and others.
-
Take the next step in your software engineering career by getting skilled in container tools and technologies! The average salary for jobs that require container skills is $137,000 in the US according to salary.com, making Devops professionals and developers with these skills highly in demand. More than 70 percent of Fortune 100 companies are running containerized applications. But why? Using containerization, organizations can move applications quickly and seamlessly among desktop, on-premises, and cloud platforms. In this beginner course on containers, learn how to build cloud native applications using current containerization tools and technologies such as Docker, container registries, Kubernetes, Red Hat, OpenShift, and Istio. Also learn how to deploy and scale your applications in any public, private, or hybrid cloud. By taking this course you will familiarize yourself with: - Docker objects, Dockerfile commands, container image naming, Docker networking, storage, and plugins - Kubernetes command line interface (CLI), or “kubectl” to manipulate objects, manage workloads in a Kubernetes cluster, and apply basic kubectl commands - ReplicaSets, autoscaling, rolling updates, ConfigMaps, Secrets, and service bindings - The similarities and differences between OpenShift and Kubernetes Each week, you will apply what you learn in hands-on, browser-based labs. By the end of the course, you’ll be able to build a container image, then deploy and scale your container. The skills taught in this course are essential to anyone in the fields of software development, back-end & full-stack development, cloud architects, cloud system engineers, devops practitioners, site reliability engineers (SRE), cloud networking specialists and many other roles.
-
This mini course is intended to apply basic Python skills for developing Artificial Intelligence (AI) enabled applications. In this hands-on project you will assume the role of a developer and perform tasks including: - Develop functions and application logic - Exchange data using Watson AI libraries - Write unit tests, and - Package the application for distribution. You will demonstrate your foundational Python skills by employing different techniques to develop web applications and AI powered solutions. After completing this course, you will have added another project to your portfolio and gained the confidence to begin developing AI enabled applications using Python and Flask, Watson AI libraries, build and run unit tests, and package the application for distribution out in the real world.
-
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.
-
This course provides a practical understanding of common Linux / UNIX shell commands. In this beginner friendly course, you will learn about the Linux basics, Shell commands, and Bash shell scripting. You will begin this course with an introduction to Linux and explore the Linux architecture. You will interact with the Linux Terminal, execute commands, navigate directories, edit files, as well as install and update software. Next, you’ll become familiar with commonly used Linux commands. You will work with general purpose commands like id, date, uname, ps, top, echo, man; directory management commands such as pwd, cd, mkdir, rmdir, find, df; file management commands like cat, wget, more, head, tail, cp, mv, touch, tar, zip, unzip; access control command chmod; text processing commands - wc, grep, tr; as well as networking commands - hostname, ping, ifconfig and curl. You will then move on to learning the basics of shell scripting to automate a variety of tasks. You’ll create simple to more advanced shell scripts that involve Metacharacters, Quoting, Variables, Command substitution, I/O Redirection, Pipes & Filters, and Command line arguments. You will also schedule cron jobs using crontab. The course includes both video-based lectures as well as hands-on labs to practice and apply what you learn. You will have no-charge access to a virtual Linux server that you can access through your web browser, so you don't need to download and install anything to complete the labs. You’ll end this course with a final project as well as a final exam. In the final project you will demonstrate your knowledge of course concepts by performing your own Extract, Transform, and Load (ETL) process and create a scheduled backup script. This course is ideal for data engineers, data scientists, software developers, and cloud practitioners who want to get familiar with frequently used commands on Linux, MacOS and other Unix-like operating systems as well as get started with creating shell scripts.
-
Get started with using Agile Development and Scrum with this self-paced introductory course! After successfully completing this course, you will be able to embrace the Agile concepts of adaptive planning, iterative development, and continuous improvement - resulting in early deliveries and value to customers. You will look at Scrum as a framework and learn how to apply it alongside Agile. You will also become familiar with related methodologies like Waterfall, Extreme Programming (XP), and Kanban. Apply Agile practices derived from lean manufacturing concepts, like test-driven development. Learn how a scrum team functions. Also learn about the importance of Agile iterative planning and enable yourself to write good user stories and track your team’s progress using a kanban board. Create and refine a product backlog collaboratively with the team and the customer, in a flexible and blameless culture. You'll also learn how to use burndown charts, achieve sprint goals, and conduct the sprint review and retrospective. This approach will lead you to higher levels of efficiency, with the ability to plan and execute sprints with your development team, measuring success with actionable metrics. This course is about more than facts and processes. It is about working collaboratively on a self-organizing team, coached by a scrum master, and building what is needed, rather than simply following a plan. Developed and taught by an experienced Agile practitioner, the course includes hands-on practice through realistic scenario-based labs using GitHub and ZenHub. The course will benefit anyone who wants to get started with working the Agile way or transform the organizational culture to adopt and realize the benefits of Scrum. This includes Project Managers, Product Managers, and Executives. It is particularly suitable for IT practitioners such as software developers, development managers, and IT Scrum Masters.
-
Get started with your DevOps journey with this beginner-friendly course! DevOps skills are high in demand and expected to be one of the fastest-growing skills in the software industry. This course is designed to be a first step in obtaining those valuable skills. This self-paced introductory course explores DevOps as a cultural movement. It describes the business case for DevOps, and covers its essentials. This course teaches new ways of thinking, working, organizing, and measuring to fully realize the benefits of DevOps. By applying DevOps practices, you will be able to build better products for your users. You will learn how breaking down silos and organizing developers and operators into single cross-functional teams is necessary for truly adopting DevOps. Having everyone contributing and everyone being responsible for success is at the heart of DevOps. You will see how building a culture of shared responsibility and transparency is the foundation of every high-performing DevOps teams. You’ll learn how you can use cloud native architecture to build resilience in your products and learn about helpful DevOps tools like horizontal scaling and independently deployable microservices. You will explore how Agile Methodologies like Scrum are crucial to DevOps as well as learn about Continuous Integration and Continuous Delivery (CI/CD), which enables frequent deployments and working as a team to create high-quality code. This course concludes with case studies about DevOps-based scenarios, which you will analyze and relate to DevOps concepts learnt throughout this course. This course is designed for those new to DevOps as well as those looking to increase their current knowledge of DevOps.
-
Showcase your DevOps and Software Engineering skills with this hands-on Capstone project! In this course you will apply the skills and techniques you have learned as part of the previous courses in the Professional Certificate. During the project you will develop, test, deploy, monitor, and enhance a secure microservices-based application on Cloud, over the course of several sprints. You’ll develop an Agile plan by developing user stories and a Kanban board using ZenHub and GitHub. This plan will be implemented to create a RESTful microservice-based Flask application. You will employ Test Driven Development (TDD) to create and execute tests for the app. You will complete many other tasks like adding functionality using Continuous Integration, ensuring the app is secure, and deploy the app on Cloud using Kubernetes. You will also build an automated CI/CD pipeline. This course is the final course in the IBM DevOps Engineering Professional Certificates. It is recommended that you complete all the previous courses in this Professional Certificate before starting this course.
-
Successful developers need to not only build the right software but build it right. To know your software works correctly, you need to test each unit of code. One of the best methods for this unit-level testing is test driven development. This course provides a detailed overview of test driven development (TDD). First, you’ll learn what automated testing is and why it is essential for building robust applications resilient to failure. You’ll explore the basics of testing, including test cases, testing levels, and the traditional release cycle. You’ll learn about TDD and its complement, behavior driven development (BDD): TDD tests individual units of code while BDD tests how these units work together. Then you’ll examine TDD in detail. You’ll explore TDD’s benefits, concepts, and popular tools, and you’ll hone your new testing skills through hands-on labs. You’ll create TDD test cases by writing test assertions and building test fixtures, and you’ll run these test cases by using the Nose testing package. You’ll then practice more advanced TDD methods such as increasing code coverage, generating and using fake data, and testing mock objects.
-
How vulnerable are your applications to security risks and threats? This course will help you identify vulnerabilities and monitor the health of your applications and systems. You’ll examine and implement secure code practices to prevent events like data breaches and leaks, and discover how practices like monitoring and observability can keep systems safe and secure.
You will gain extensive knowledge on various practices, concepts, and processes for maintaining a secure environment, including DevSecOps practices that automate security integration across the software development lifecycle (SDLC), Static Application Security Testing (SAST) for identifying security flaws, Dynamic Analysis, and Dynamic Testing. You’ll also learn about creating a Secure Development Environment, both on-premise and in the cloud. You’ll explore the Open Web Application Security Project (OWASP) top application security risks, including broken access controls and SQL injections.
Additionally, you will learn how monitoring, observability, and evaluation ensure secure applications and systems. You’ll discover the essential components of a monitoring system and how application performance monitoring (APM) tools aid in measuring app performance and efficiency. You’ll analyze the Golden Signals of monitoring, explore visualization and logging tools, and learn about the different metrics and alerting systems that help you understand your applications and systems.
Through videos, hands-on labs, peer discussion, and the practice and graded assessments in this course, you will develop and demonstrate your skills and knowledge for creating and maintaining a secure development environment. -
A principle of DevOps is to replace manual processes with automation to improve efficiency, reduce human error, and accelerate software delivery. This requires automation that continuously integrates code changes and continuously delivers those changes to a production environment. This course introduces you to Continuous Integration and Continuous Delivery (CI/CD), an automated approach to software development. You’ll discover the benefits of CI/CD for creating a DevOps pipeline and explore popular CI/CD tools. You’ll examine the key features of CI, explore social coding, and the Git Feature Branch Workflow. You will also learn about standard CI tools and gain a deep understanding of GitHub Actions workflows and their components. This course provides an overview of CD and its goals, benefits, and best practices. You will learn the requirements of a CI/CD pipeline and discover standard CD tools. You will explore Tekton and discover how its components work together to create a CD pipeline. You will learn how to build a pipeline, pass parameters to a pipeline, build triggers to start pipeline runs, implement reusable tasks, and create custom tasks. You will discover how to complete your CD pipeline by building a container image and deploying your application to an OpenShift Kubernetes cluster. Throughout the course, you can hone your skills and challenge yourself through several hands-on labs.
-
Get started with Git and GitHub in this self-paced, introductory course! You’ll become familiar with collaborative version control and popular Git platforms. Collaboration and social coding are crucial parts of contemporary Software Engineering practices and the DevOps culture. You will begin this course with an overview of Git and Github fundamentals and explore key Git concepts such as branching and repositories, as well as the use of Git commands. You will also learn and practice various Git concepts such as forking, cloning and merging workflows using hands-on labs. And you’ll learn to use GitHub to work effectively as a team, and perform common Git operations, from both the Web UI and command line. The course wraps up with a final project where you will start building your portfolio by creating and sharing a public/open-source GitHub project. By completing this course you will demonstrate your Git and Github skills as well as add a project to your resume! All hands-on activities in this course can be performed using web-browser based tools and interfaces. Installation of any specialized software is NOT required on your own computer in order to complete the course.
Taught by
Alex Parker, John Rofrano, Joseph Santarcangelo, Ramesh Sannareddy, Rav Ahuja, Sam Prokopchuk and Upkar Lidder
Tags
Related Courses
1C:Enterprise Junior Developer CourseMoscow Institute of Physics and Technology via Coursera Agile Development
University of Virginia via Coursera Testing with Agile
University of Virginia via Coursera PM4R Agile: mentalidad ágil en proyectos de desarrollo
Inter-American Development Bank via edX Agile Planning for Software Products
University of Alberta via Coursera