Software Development Practices & Cloud Infrastructure

Course Description

This comprehensive course provides a deep dive into the essential practices of modern software development and the robust cloud infrastructure that powers it. You'll journey through the entire Software Development Lifecycle (SDLC), from traditional models to the agile methodologies that dominate today's tech industry. The curriculum covers critical architectural paradigms, contrasting monolithic applications with the scalable, flexible world of microservices. As we bridge development with operations, you will explore the culture, lifecycle, and tools that define DevOps. The final sections pivot to the cloud, demystifying how software runs and exploring modern deployment strategies on Infrastructure-as-a-Service (IaaS) and Platform-as-a-Service (PaaS) models, culminating in an understanding of cloud-native principles like the 12-factor app methodology.

Who is this course for

This course is designed for individuals who want to build a holistic understanding of how modern software is built, deployed, and maintained. It is perfect for:

  • Aspiring Software Developers: Students and junior developers who want to understand the professional practices and environments they will be working in.

  • IT Professionals & System Administrators: Individuals looking to transition into a DevOps role or better understand the development side of the house.

  • Project Managers & Team Leads: Professionals who need to effectively manage development teams and understand modern technical workflows and architectural decisions.

  • Computer Science Students: University students who want to supplement their theoretical knowledge with practical, industry-relevant concepts.

  • Quality Assurance (QA) Engineers: Testers who want to understand the development and deployment pipeline to improve testing strategies.

Course Objectives

Upon successful completion of this course, you will be able to:

  • Explain the SDLC: Compare and contrast various Software Development Lifecycle models and methodologies, including Agile and Scrum.

  • Design Modern Architectures: Understand the core principles of microservices and be able to analyze the trade-offs between monolithic and microservices architectures.

  • Embrace DevOps Culture: Define the DevOps lifecycle, its key goals, and how it differs from traditional IT models.

  • Identify Core DevOps Tools: Recognize the purpose of key DevOps concepts and tools, including CI/CD, Infrastructure as Code, containerization, and monitoring.

  • Understand Cloud Infrastructure: Differentiate between on-premise and cloud deployments, and explain the IaaS, PaaS, and SaaS service models.

  • Deploy Cloud-Native Applications: Apply the principles of the 12-factor app methodology to design and deploy scalable, resilient applications on a PaaS like Cloud Foundry.

Prerequisites

To succeed in this course, students should have:

  1. Fundamental IT Literacy: A basic understanding of computer systems, software, and general technology concepts.

  2. No Advanced Programming Required: While some familiarity with programming concepts is helpful, this course focuses on practices, principles, and infrastructure rather than deep coding.

  3. Eagerness to Learn: An interest in understanding the end-to-end process of building and deploying modern software applications.

Course outline

Section 1: Software Development Lifecycle (SDLC)

  1. Introduction to the Software Development Lifecycle

  2. Key Phases of SDLC

  3. Exploring Traditional SDLC Models

  4. Evolution and History of Development Methodologies

Section 2: Agile Methodologies in Software Development

  1. The History and Manifesto of Agile

  2. Core Concepts of Agile

  3. An Introduction to the Scrum Framework

  4. Comparing Agile Principles with the Scrum Framework

Section 3: Microservices

  1. Core Concepts and Principles of Microservices Architecture

  2. Benefits (Scalability, Flexibility) and Challenges (Complexity, Distributed Systems)

  3. Architectural Comparison: Monolithic vs. Microservices

  4. Project: Deconstructing a Monolithic Application into a Microservices Architecture

Section 4: Introduction to DevOps

  1. What is DevOps? Defining the Culture and Mindset

  2. Common Misconceptions: What DevOps is Not

  3. Comparing Traditional Siloed Models vs. the DevOps Culture of Collaboration

  4. The Key Goals of DevOps: Speed, Reliability, and Collaboration

  5. Mapping the DevOps Lifecycle: Continuous Development, Integration, Testing, Deployment, and Monitoring

Section 5: Common DevOps Concepts & Tools

  1. Infrastructure as Code (IaC): Managing infrastructure through definition files.

  2. Configuration Management: Automating system configuration.

  3. Build Automation: Compiling source code into binary code.

  4. Containerization: Using Docker for packaging applications.

  5. Continuous Integration (CI): Automatically integrating code changes.

  6. Continuous Deployment (CD): Automatically releasing to production.

  7. Orchestration: Automating the management of containerized applications (e.g., Kubernetes).

  8. Monitoring: Observing and checking system health.

Section 6: Infrastructure & Cloud

  1. How Software Applications Run: From Code to Execution

  2. Infrastructure and Deployment Options for Software

  3. What is the Cloud? Core Benefits of Cloud Computing

  4. Types of Application Deployment Strategies

  5. Comparing On-Premise vs. Cloud Infrastructure

  6. Cloud Service Models: IaaS vs. PaaS vs. SaaS

  7. Why Platform-as-a-Service (PaaS) Matters for Developers

  8. Quick Demo Lab: Launching an Application on a PaaS (Cloud Foundry)

  9. Best Practices: Designing Applications for a PaaS Environment

  10. Common Mistakes: PaaS Anti-Patterns to Avoid

  11. The 12-Factor App: A Methodology for Building Cloud-Native Applications


Testimonials


subscribe to our newsletter

Product updates, news and promotions. No spam ever.

Copyright © 2024 CloudTraining

Terms

Privacy Policy

subscribe to our newsletter

Product updates, news and promotions. No spam ever.

Copyright © 2024 CloudTraining

Terms

Privacy Policy

subscribe to our newsletter

Product updates, news and promotions. No spam ever.

Copyright © 2024 CloudTraining

Terms

Privacy Policy