Week 13 - Systems

Introduction

Setting up your local environment

Continuous integration

Docker

Continuous Delivery

Cloud Computing

Continuous deployment

Chapter 3

Practice

Assignment

Back to core program

Under construction

<aside> 🚧

This page is currently under construction. Please check back later.

</aside>

Not all project have this step/idea and some teams might not make the difference between delviery and deployment.

For the sake of learning, we decided to split Delivery and Deployment.

What is packaging?

What is Delivery in the software industry? Well let’s go back to our IKEA example, let’s imagine you just made a new table composed of different parts. Delivery for you would mean that those are available on shelves in boxes for costumer to pick up.

Deployment would be the moment customer open the boxes at home and mount the furniture in their living room.

Different software might be packaged differently, for example you have encounters packages already when using npm (the p is for packages ;) )

In the case of npm packages, what we want to put in the same box is a bunch of javascript files that other developers can use in their project.

But when you run “./bin/www” we need more than a bunch of files, we might need environment variables, specific scripts and way more… In addition, the type of computer you run the command on can change how the command works (Windows and Linux will not work the same, different version of nodejs will not work the same, …) how shall we package such software in this case?

The containers problem, how to ship your computer

Let’s go back to our table, imagine you have a robot in your home that knows how to mount the furniture. The problem is, it only knows how to do it in your living room.

How would you make it work in someone else house?

One solution would be to rebuild an exact replica of your living room in your friend house by reusing a room already exisitng and making a smaller room in it that look as close as possible to your living room then your robot can work

This is tedious, it requires making new walls, defining them, making sure there is a bigger room available in your firend house and if you update your robot which requires a change in the room you need to tell your friend to also change the room on their end so it can work

Another solution would be to literally ship the room, make a copy of your room with the robot in it and let anyone use the copy anywhere they wish.

This crazy idea is what Containers are and the most known container tool is Docker

Docker and Dockerfile

It works on my computer… … let’s ship your computer then!

Video on docker/dockerfile?

https://www.youtube.com/watch?v=1ymi24PeF3M

Run Ollama

docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama


CC BY-NC-SA 4.0 Icons

*https://hackyourfuture.net/*

Found a mistake or have a suggestion? Let us know in the feedback form.