We may earn an affiliate commission when you visit our partners.
Russell Sayers and Alex G

How does software get built, tested, and deployed? How does a team of multiple people work on a code base? When someone says DevOps, what does it mean? This course will help you answer all of these questions and have some fun along the way! We’ll cover the basic steps you need to take to dive into the wonderful world of DevOps and product management.

Read more

How does software get built, tested, and deployed? How does a team of multiple people work on a code base? When someone says DevOps, what does it mean? This course will help you answer all of these questions and have some fun along the way! We’ll cover the basic steps you need to take to dive into the wonderful world of DevOps and product management.

In the first section of this course, we will focus on answering the question, “What is a project?”. We’ll break a project down into the individual pieces that need to be defined before talking about project management best practices. At the end of the section we’ll cover the Software Development Lifecyle process (SDLC) and we’ll see how this can be used to build new applications.

In the second section of this course, we’ll explore two different project management methodologies, Waterfall and Agile. It’s important to understand the use cases behind them so you can use them in the proper situations. We’ll end the section learning about Scrum, Kanban, and how DevOps can work with Agile to help you quickly build, test, and deploy your software.

In the third section of this course, we’ll expand on our DevOps concepts. Starting off with source control you’ll learn how to properly store your code and collaborate with your team members to make changes. Next, we’ll see how we can automate the building stage of our application with AWS CodeBuild and Jenkins. Finally, you’ll get a chance to go hands on in your own lab environment and practice using these best practices.

In the final section of this class, we’ll expand on our DevOps concepts and fill out the rest of our CI/CD pipeline. We’ll add in a testing stage and finally a deployment stage. By the end of the pipeline, you’ll have software that works and is ready to go to production. We’ll end things out with a hands-on exercise where you’ll get to combine all of the AWS Code services into your very own CI/CD pipeline.

What's inside

Learning objectives

  • Learn about the use cases for project management in a business environment
  • Understand the differences between agile and waterfall methodologies
  • Identify the stages of the devops continuous integration and continuous delivery (ci/cd) pipeline and their use cases in the it world
  • Familiarize yourself with best practices for source control learn about aws and third-party devops tools
  • Use the aws code suite of tools to automate the deployment of an application

Syllabus

Week 1: Defining the Project
Welcome to the CourseIntroduction to Project ManagementSoftware Development LifecycleWeek 1 Wrap up
Week 2: Project Management 101
Read more
Project Management MethodologiesProject Management FrameworksWhat is DevOps? Week 2 Wrap up
Week 3: Building your Software
Introduction to DevOpsSource Control BasicsAutomated Code BuildingHands on ExerciseWeek 3 Wrap up
**Week 4: Building a Better Pipeline
** Testing and DevelopmentCI/CD PipelinesFinal Assessment and Hands-on ProjectCourse Wrap up

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Covers the Software Development Lifecycle (SDLC), which provides a foundational understanding of how software projects are planned and executed, and is essential for anyone entering the field
Explores both Waterfall and Agile methodologies, providing learners with a comprehensive understanding of different project management approaches and their applicability in various scenarios
Includes hands-on exercises using AWS Code Suite, allowing learners to apply theoretical knowledge and develop practical skills in a real-world cloud environment
Requires learners to use AWS Code Suite, which may require an AWS account and incur costs depending on usage, potentially creating a barrier for some learners
Focuses on automating the building stage of applications with AWS CodeBuild and Jenkins, which are industry-standard tools for continuous integration and continuous delivery

Save this course

Save DevOps on AWS and Project Management to your list so you can find it easily later:
Save

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 DevOps on AWS and Project Management with these activities:
Review SDLC Principles
Reinforce your understanding of the Software Development Lifecycle (SDLC) to better grasp how DevOps practices streamline and automate each stage.
Show steps
  • Review the different phases of the SDLC (planning, analysis, design, implementation, testing, and maintenance).
  • Identify the key activities and deliverables associated with each phase.
  • Consider how DevOps practices can improve efficiency and collaboration within each phase.
Review 'The Phoenix Project'
Understand the cultural and organizational aspects of DevOps through a fictional narrative, providing context for the technical concepts covered in the course.
Show steps
  • Read the book 'The Phoenix Project'.
  • Identify the key challenges faced by the IT organization in the story.
  • Analyze how DevOps principles and practices are applied to overcome these challenges.
Follow AWS CodePipeline Tutorial
Gain hands-on experience with AWS CodePipeline by following a step-by-step tutorial, reinforcing your understanding of CI/CD pipelines.
Show steps
  • Find an AWS CodePipeline tutorial on the AWS website or a reputable online learning platform.
  • Follow the tutorial to create a simple CI/CD pipeline using AWS CodePipeline.
  • Experiment with different configurations and settings to customize the pipeline.
  • Troubleshoot any issues that arise during the tutorial.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Document Your CI/CD Pipeline
Improve your understanding of the CI/CD pipeline by documenting the steps, configurations, and tools used in your project.
Show steps
  • Create a document outlining the architecture of your CI/CD pipeline.
  • Describe each stage of the pipeline, including the tools used and the configurations applied.
  • Explain the purpose of each stage and how it contributes to the overall deployment process.
  • Include diagrams and screenshots to illustrate the pipeline's flow and configuration.
Automate a Simple Web App Deployment
Apply your knowledge of DevOps tools and practices to automate the deployment of a simple web application, solidifying your understanding of the CI/CD pipeline.
Show steps
  • Choose a simple web application to deploy (e.g., a static website or a basic 'Hello, World!' app).
  • Set up a source code repository (e.g., GitHub, AWS CodeCommit).
  • Create a CI/CD pipeline using AWS CodePipeline, AWS CodeBuild, and AWS CodeDeploy.
  • Configure the pipeline to automatically build, test, and deploy the application whenever changes are pushed to the repository.
Review 'Effective DevOps'
Deepen your understanding of DevOps culture and practices by reading a comprehensive guide on building a collaborative and efficient DevOps environment.
View Effective DevOps on Amazon
Show steps
  • Read the book 'Effective DevOps'.
  • Identify the key principles and practices of DevOps discussed in the book.
  • Analyze how these principles and practices can be applied to improve collaboration and efficiency in your own projects.
Contribute to a DevOps Project
Gain practical experience and contribute to the DevOps community by contributing to an open-source project related to DevOps tools or practices.
Show steps
  • Find an open-source DevOps project on platforms like GitHub or GitLab.
  • Identify an area where you can contribute, such as bug fixes, documentation improvements, or new feature development.
  • Follow the project's contribution guidelines and submit your changes for review.
  • Engage with the project's community and learn from other contributors.

Career center

Learners who complete DevOps on AWS and Project Management will develop knowledge and skills that may be useful to these careers:
DevOps Engineer
A DevOps engineer builds and maintains the infrastructure and tools that support software development. This course is directly relevant to becoming a DevOps engineer as it covers source control, automated building, and the CI/CD pipeline, which are the core concerns of this role. It also introduces tools like AWS CodeBuild and Jenkins, providing a practical foundation for individuals looking to work with these kinds of technologies. A prospective DevOps engineer should take this course because it provides both theoretical knowledge and hands-on practice using the AWS code suite.
Build Engineer
A build engineer focuses on the process of assembling and compiling source code into executable code. This role requires a deep understanding of automation tools and build processes. This course is highly relevant as it specifically covers automated building, the CI/CD pipeline, as well as some practical use cases for AWS CodeBuild and Jenkins. An individual aspiring to become a build engineer will find this course helps build a foundation using popular tools and processes.
Project Manager
A project manager is responsible for planning, executing, and closing projects. They lead teams, manage resources, and ensure projects are completed on time and within budget. This course helps a project manager understand the software development lifecycle, which is essential for projects that involve software. Furthermore, the course's exploration of Waterfall and Agile methodologies provides valuable insight into managing different types of projects. Understanding the DevOps principles and how it works with Agile, as covered in this course, allows a project manager to more efficiently coordinate software development teams. This course is particularly relevant to project managers who oversee technical projects.
Software Development Manager
A software development manager leads teams of software developers and ensures that projects are delivered efficiently. A software development manager must have a strong understanding of the software development lifecycle, and how pieces fit together. This course helps build a foundation in project management, the software development lifecycle, as well as the tools used in deployment. Moreover, a software development manager will benefit from a foundational understanding of DevOps, CI/CD, and collaboration methods such as source control. This course would be of particular interest to someone looking to manage teams of developers.
Release Manager
The release manager coordinates the release of software to production. This involves planning, scheduling, and controlling the build process, testing, and deployment. This course helps a release manager understand the CI/CD pipeline, which is fundamental to software releases. The course also covers various aspects of the software development lifecycle, as well as the basics of using source control, automated building, and testing tools, all of which are key aspects of managing software releases. A person interested in release management should take this course for a practical understanding of the full software release process.
Automation Engineer
An automation engineer designs, develops, and implements automation solutions. Skills in building and testing pipelines and also automating the process of building an application are directly relevant to this role. The course's focus on the CI/CD pipeline, AWS code build, and Jenkins provides a practical overview. A would-be automation engineer would be interested in this course, as it provides a practical route to improving the efficiency of software development processes.
Software Engineer
A software engineer designs, develops, and tests software applications. They are often part of a team working on a shared code base. This course is beneficial for software engineers because it introduces source control, which is critical for collaborative coding environments. Furthermore, the course teaches how automated building and CI/CD pipelines work, which helps a software engineer better understand how their code goes from development to production. This course is uniquely helpful for software engineers who are interested in understanding the full process of software development and becoming more effective collaborators.
Agile Coach
An agile coach guides teams in adopting and practicing Agile methodologies. This course is relevant to an agile coach since it explores Agile and Waterfall project management, and the application of Scrum and Kanban. Understanding how DevOps functions within Agile, as taught in the course, is crucial for helping teams adopt efficient software development practices. This course provides a great overview of the principles that an agile coach will use day to day. Therefore, someone who wishes to be an agile coach should take this course to get a foundational understanding.
Technical Project Coordinator
A technical project coordinator assists the project manager in the planning, execution, and closure of technical projects. This role often involves tracking project progress, managing documentation, and coordinating team communication. This course is beneficial for technical project coordinators because it covers the software development lifecycle, project management methodologies, and introduces DevOps concepts. The course's introduction to the use cases for project management and workflows may be especially valuable for a technical project coordinator. A technical project coordinator would find this course particularly helpful for a deeper understanding of project delivery.
Technical Team Lead
A technical team lead directs a team of engineers or developers within a project. This requires an understanding of the SDLC, project management, and the practical concerns of building and deploying software. This course may be useful for a technical team lead, as it provides hands-on experience with source control, CI/CD processes, and project management. The coverage of DevOps within this course may help a technical team lead to better guide their team towards success. An individual interested in this role may find this course helpful in understanding the entire software development process.
Solutions Architect
A solutions architect designs and plans the framework for software systems. This role requires a broad understanding of the technologies and processes involved in software development. This course may be useful to a solutions architect because it provides perspective into the DevOps process, the software development lifecycle, and project management methodologies. An understanding of CI/CD pipelines and tools such as AWS CodeBuild and Jenkins may also be helpful to a solutions architect. An individual interested in this role may benefit from this course through exposure to the tools and processes that their designed solutions interact with.
Systems Administrator
A systems administrator manages and maintains computer systems, including servers, networks, and databases. While not every aspect of this role is covered by this course, an understanding of tools such as Jenkins, source control, and continuous integration will be highly relevant. A systems administrator will use these tools to help deploy and maintain systems. This course may be useful for a systems administrator looking to enhance their knowledge and understand the software development lifecycle.
Product Owner
A product owner defines and manages the product backlog and priorities for a development team. This role involves working closely with project managers and stakeholders. Understanding the software development lifecycle, Agile methodologies, and the DevOps concepts, covered in this course, may be helpful for a product owner. A product owner may find this course useful for understanding how software is developed and deployed, and the impact of their decisions on the development process. This course provides a view into the project management and software development process that is likely to be useful to a product owner.
Site Reliability Engineer
A site reliability engineer focuses on the reliability of software systems and infrastructure. They are involved in automating operations, monitoring performance, and ensuring systems are resilient. This course does not directly focus on site reliability, but an understanding of DevOps practices, CI/CD pipelines, source control, and build automation may be helpful. Therefore, this course may be of interest to a site reliability engineer to gain insight into the processes they support. Someone interested in this role may find particular use in the course's coverage of DevOps tools such as Jenkins and AWS CodeBuild.
Quality Assurance Analyst
A quality assurance analyst is responsible for ensuring that software meets quality standards. This role involves testing software, identifying bugs, and working with developers to resolve them. While testing is not the main focus of this course, there is coverage of the testing stage of the CI/CD pipeline. A quality assurance analyst may find value in understanding how DevOps practices and the CI/CD pipeline help ensure quality. Someone interested in a quality assurance analyst role might find this course helpful in understanding the development process.

Reading list

We've selected two 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 DevOps on AWS and Project Management.
Fictional story that illustrates the principles of DevOps in a relatable and engaging way. It helps to understand the cultural and organizational aspects of DevOps, not just the technical ones. It's particularly useful for understanding the 'why' behind DevOps practices and how they can transform an organization. This book is often recommended as an introductory text to the world of DevOps.
Provides a comprehensive guide to building a DevOps culture within an organization. It covers the key principles, practices, and tools needed to implement DevOps effectively. It's particularly useful for understanding how to foster collaboration, improve communication, and automate processes at scale. This book provides a more in-depth look at the cultural and organizational changes required for successful DevOps adoption.

Share

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

Similar courses

Similar courses are unavailable at this time. Please try again later.
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 - 2025 OpenCourser