Code to Cloud: DevOps with AWS
Tags: devops, aws, sre
Published: 2023-11-05 12:26:45

Over the past few months, I have been collaborating with the Computer Society of the University of Peradeniya in Sri Lanka to create a DevOps series powered by AWS. We've named it "Code to Cloud: DevOps with AWS." Given that AWS offers a wide range of services to support our project, it was an obvious choice to utilize AWS for this initiative.

**Session 1 - Streamlining Software Delivery: An Insight into DevOps**

Streamlining Software Delivery: An Insight into DevOps provides a comprehensive overview of the DevOps methodology, a paradigm-shifting approach to software development and delivery. DevOps fosters collaboration and communication between development and operations teams, breaking down traditional silos. It emphasizes automation of processes, enabling rapid and continuous software delivery. By integrating development and IT operations, DevOps significantly improves efficiency and agility, reducing the time to market for software products. This session delves into the core principles and practices of DevOps, demonstrating how it optimizes the software development lifecycle, enhances product quality, and meets the ever-increasing demands of today's fast-paced software industry.

{% youtube https://www.youtube.com/watch?v=75Ff-KPgKSw %}

**Session 2 - Evolving Software Architectures, 2 tier, 3 tier, Multi-tier, Serverless with AWS**

Evolving Software Architectures: 2-tier, 3-tier, Multi-tier, Serverless with AWS" delves into the dynamic landscape of software architectures. It explores the historical progression from 2-tier and 3-tier architectures to modern multi-tier and serverless designs, with a focus on their integration into Amazon Web Services (AWS). The article addresses the evolving demands of scalability, performance, and cost-efficiency in software systems. It underscores the shift towards cloud-based serverless computing, offering insights into how AWS's extensive suite of services facilitates the development and deployment of sophisticated, responsive, and scalable software solutions. This exploration serves as a valuable resource for understanding the evolution of software architecture in today's digital age.

{% youtube https://www.youtube.com/watch?v=v_7GPsshsfU %}

**Session 3 - AWS & K8 Overview : Bridging the Cloud and Container Worlds**

The AWS and Kubernetes (K8) represents a pivotal juncture in the world of cloud computing and container orchestration. This session provides a comprehensive overview of how these two powerhouse technologies intersect to shape the modern IT landscape. AWS, a cloud computing, offers a wide array of services for hosting applications and managing infrastructure, while Kubernetes provides a robust container orchestration platform. Bridging these worlds creates a dynamic environment for deploying, managing, and scaling applications with efficiency and agility. This session delves into the fundamental concepts and practical applications of this integration, offering a roadmap for those navigating the cloud and container realms.

{% youtube https://www.youtube.com/watch?v=zTkYHCfWUO4 %}

**Session 4 - Getting Started: IaC with Amazon CloudFormation and Exploring Kubernetes (K8s)**

Embarking on the journey of Infrastructure as Code (IaC) with Amazon CloudFormation and delving into the intricate universe of Kubernetes (K8s) presents an exciting and transformative experience for IT professionals and developers. In this session, we'll guide through the essential concepts and practical steps to get started with IaC using Amazon CloudFormation, Amazon's infrastructure provisioning service. We'll also explore the intricate world of Kubernetes, the open-source container orchestration platform that powers modern application deployment and scaling. By understanding these two crucial technologies, you'll gain the ability to streamline infrastructure management and harness the full potential of containerized applications.

 {% youtube https://www.youtube.com/watch?v=epPEqfauuKk %}

**Session 5 - Building Scalable and Observable Microservices with Kubernetes in AWS**

Creating scalable and observable microservices in Amazon Web Services (AWS) through Kubernetes is a transformative journey in modern software architecture. This session offers essential insights into the integration of microservices and Kubernetes within the AWS ecosystem. Discover how to design and deploy microservices that can efficiently scale, while also ensuring observability for monitoring and maintaining optimal performance. Explore the strategies and tools that empower developers to build resilient, scalable, and observable microservices in AWS, meeting the demands of today's dynamic and cloud-driven IT landscape.

 {% youtube https://www.youtube.com/watch?v=pzpMi-fOFio %}

**Session 6 - Streamline DevOps : Jenkins & Spinnaker**

Streamlining DevOps practices is critical for efficient software development and deployment. This session explores how Jenkins and Spinnaker, two powerful tools, enable organizations to achieve that goal. Jenkins, an open-source automation server, facilitates the automation of the software development process, from building code to deploying it. Spinnaker, on the other hand, excels at managing application deployments in a multi-cloud environment. Combining these tools optimizes the DevOps pipeline, resulting in faster, more reliable software releases. Discover the synergy between Jenkins and Spinnaker and how they enhance development and deployment processes, ultimately improving productivity and reducing errors.

{% youtube https://www.youtube.com/watch?v=oZ2Elrgyw50 %}

**Session 7 - Embarking on the Serverless Journey with AWS Lambda**

Embarking on the serverless journey with AWS Lambda is a transformative exploration of cloud computing's cutting-edge. AWS Lambda offers a revolutionary approach to building and running applications without the need for server management. In this session, we'll delve into the world of serverless computing and how AWS Lambda plays a pivotal role. You'll gain insights into serverless architecture, event-driven programming, and the seamless scalability Lambda provides. Learn how to develop and deploy serverless functions and understand the cost benefits of this approach. Whether you're new to serverless or seeking to deepen your knowledge, this journey with AWS Lambda promises to reshape your perspective on cloud computing.

{% youtube https://www.youtube.com/watch?v=piJFI_K8k_o %}

**Session 8 - Building and Deploying Microservices with Sprint Boot, Angular Frontend, and AWS**

Building and deploying microservices with Spring Boot, an Angular frontend, and AWS is a comprehensive approach to modern software development. In this article, we explore the synergy of these technologies, guiding you through the process of creating scalable microservices, enhancing user experiences with Angular, and leveraging AWS's powerful cloud infrastructure for seamless deployment. Discover the tools and practices that facilitate efficient and resilient microservices development in this dynamic ecosystem.

{% youtube https://www.youtube.com/watch?v=u3VkaTiVoT0 %}

**Session 9 - Building a CI/CD pipeline for Spring Boot Microservices with Jenkins and AWS**

Creating a robust CI/CD pipeline for Spring Boot microservices using Jenkins and Amazon Web Services (AWS) is a critical aspect of modern software development. In this session, we explore the integration of Jenkins, an automation server, with AWS to streamline the development, testing, and deployment of Spring Boot microservices. Discover how this powerful combination enhances efficiency, reliability, and scalability, providing a comprehensive guide for implementing an effective CI/CD pipeline in your software projects.

{% youtube https://www.youtube.com/watch?v=MSsW4FsS7KM %}

**Session 10 - Final Assignment**

The final assignment in "Code to Cloud: DevOps with AWS" marks the culmination of your journey into the world of DevOps practices, cloud computing, and AWS integration.

{% youtube https://www.youtube.com/watch?v=Oyj-1UgN3tU %}

Cod to Cloud: DevOps with AWS series is collaborated with myself by Kapila Sanjeewa, Milinda Nandasena and Mohan Tharanga Edirisinghe