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.
Throughout the courses in this Professional Certificate, you will develop a portfolio of projects to demonstrate your proficiency using various popular tools and technologies in DevOps and Cloud Native Software Engineering.
You will:
-
Create applications using Python programming language, using different programming constructs and logic, including functions, REST APIs, and various Python libraries.
-
Develop Linux Shell Scripts using Bash and automate repetitive tasks
-
Create projects on GitHub and work with Git commands
-
Build and deploy applications composed of several microservices and deploy them to cloud using containerization tools (such as Docker, Kubernetes, and OpenShift); and serverless technologies
-
Employ various tools for automation, continuous integration (CI) and continuous deployment (CD) of software including Chef, Puppet, GitHub Actions, Tekton and Travis.
-
Secure and Monitor your applications and cloud deployments using tools like sysdig and Prometheus.
DevOps skills are in demand! DevOps skills are expected to be one of the fastest-growing skills in the workforce. This course can be a first step in obtaining those skills.
Introduction to DevOps explores DevOps as a cultural movement, including building a business case for DevOps, the essentials of DevOps, and a brief history of DevOps. You will learn new ways of thinking, working, organizing, and measuring to fully gain the benefits of DevOps.
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.
By thinking from a DevOps perspective, you will be able to build better products for your customer. You will view DevOps from a business perspective as well as for becoming a DevOps practitioner. You will see how building a culture of shared responsibility and transparency is the foundation of every high-performing DevOps teams.
You will have an opportunity to explore the concepts of infrastructure for Continuous Integration and Continuous Delivery. You will be able to use actionable measures that apply directly to decision-making and will ultimately result in continuous improvement. This course is designed for those new to DevOps as well as those looking to increase their current knowledge of DevOps.
This course introduces you to the core concepts of cloud computing. You gain the foundational knowledge required for understanding cloud computing from a business perspective as also for becoming a cloud practitioner. You understand the definition and essential characteristics of cloud computing, its history, the business case for cloud computing, and emerging technology usecases enabled by cloud. We introduce you to some of the prominent service providers of our times (e.g. AWS, Google, IBM, Microsoft, etc.) the services they offer, and look at some case studies of cloud computing across industry verticals.
You learn about the various cloud service models (IaaS, PaaS, SaaS) and deployment models (Public, Private, Hybrid) and the key components of a cloud infrastructure (VMs, Networking, Storage - File, Block, Object, CDN). We also cover emergent cloud trends and practices including - Hybrid Multicloud, Microservices, Serverless, DevOps, Cloud Native and Application Modernization. And we go over the basics of cloud security, monitoring, and different job roles in the cloud industry.
Even though this course does not require any prior cloud computing or programming experience, by the end of the course, you will have created your own account on IBM Cloud and gained some hands-on experience by provisioning a cloud service and working with it.
This course is suitable for a large variety of audiences - whether you are an executive / manager / student who wants to become familiar with cloud computing terminology and concepts, or someone who wants foundational grounding in cloud computing to start a career in this field or become a cloud practitioner - such as a cloud engineer, developer, analyst, etc.
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. This course will benefit anyone who wants to get started with working the Agile way. It is particularly suitable for IT practitioners such as software developers, development managers, project managers, product managers, and executives.
You will learn to apply Agile practices derived from lean manufacturing concepts, like test-driven development. Learn how a scrum team functions. Learn how 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.
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.
This course provides a practical introduction to Linux and commonly used Linux / UNIX shell commands. It teaches you the basics of Bash shell scripting to automate a variety of tasks. 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 perform the labs.
You will learn how to interact with the Linux Terminal, execute commands, navigate directories, edit files, as well as install and update software.
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 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.
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.
Collaboration and social coding are crucial parts of contemporary Software Engineering practices and the DevOps culture. In this course, you’ll be introduced to collaborative version control and popular Git platforms.
You will 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. You will learn to use GitHub to work effectively as a team, and perform common Git operations, such as Pull Requests, from both the Web UI and command line.
Developed and taught by experienced IBM practitioners, in this course you’ll gain vital skills and hands-on experience using Git and GitHub. Each module contains hands-on labs for you to apply and practice what you learn. 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.
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.
Kickstart your learning of Python for data science, as well as programming in general, with this beginner-friendly introduction to Python. Python is one of the world’s most popular programming languages, and there has never been greater demand for professionals with the ability to apply Python fundamentals to drive business solutions across industries.
This course will take you from zero to programming in Python in a matter of hours—no prior programming experience necessary! You will learn Python fundamentals, including data structures and data analysis, complete hands-on exercises throughout the course modules, and create a final project to demonstrate your new skills.
By the end of this course, you’ll feel comfortable creating basic programs, working with data, and solving real-world problems in Python. You’ll gain a strong foundation for more advanced learning in the field, and develop skills to help advance your career.
Upon completion of any of the above programs, in addition to earning a Specialization completion certificate from Coursera, you’ll also receive a digital badge from IBM recognizing your expertise in the field.
This mini-course is intended to apply foundational Python skills by implementing different techniques to develop applications and AI powered solutions. Assume the role of a developer and unit test and package an application with the help of multiple hands-on labs. After completing this course you will have acquired the confidence to begin developing AI enabled applications using Python, build and run unit tests, and package the application for distribution.
PRE-REQUISITE: Python for Data Science, AI and Development course from IBM is a pre-requisite for this project course. Please ensure that before taking this course you have either completed the Python for Data Science, AI and Development course from IBM or have equivalent proficiency in working with Python and data.
NOTE: This course is not intended to teach you Python and does not have too much instructional content. It is intended for you to apply prior Python knowledge.
With a median salary of $137,000, developers with container skills are 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 course designed for beginners, learn how to build cloud native applications using current containerization tools and technologies such as containers, Docker, container registries, Kubernetes, OpenShift, and Istio. Also learn how to deploy and scale your applications in any public, private, or hybrid cloud.
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 on the cloud using OpenShift.
If you understand basic cloud and programming concepts, and your career path includes roles
such as cloud developer, cloud architect, cloud system engineer, DevOps engineer, and cloud networking specialist, this course is for you!
Take the next step in your cloud career by learning more about containers!
Are you a developer ready to explore serverless application development? This intermediate-level course is for you!
Begin with an understanding of how serverless benefits developers, learn when to use serverless programming, serverless deployment models, and discover its top use cases and design patterns. You’ll also discover how serverless supports continuous integration and continuous delivery (CI/CD) and microservices integration.
Hands-on labs reinforce serverless programming concepts for creation, deployment, and invocation of cloud-based functions—including the deployment of microservices using OpenShift and Istio. Complete the course with the confidence to build a multi-tier web app that uses IBM Cloud Functions, OpenShift, Istio, and more.
SHOW ALL ABOUT APPLICATION DEVELOPMENT USING MICROSERVICES AND SERVERLESS SHOW ALL
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.
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.
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.
In this course you will apply your skills and knowledge acquired during previous courses in the PC to demonstrate your proficiency in DevOps practices by developing, testing, deploying, monitoring, and enhancing a secure microservices-based application on Cloud, over the course of several sprints, using a variety of Agile, Cloud Native, and CI/CD technologies and tools.