Git Product home page Git Product logo

devops-course's People

Contributors

algomaster99 avatar deee92 avatar javierron avatar monperrus avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

devops-course's Issues

Artifact repositories

Built versions of applications need to be stored in some kind of artifact repository, from where they can be downloaded and installed.
Examples of solutions here are Artifactory and Nexus.

Group Update

Kartik Kandavel Mudaliar([email protected]) and Yi-Pei, Tu ([email protected]) voluntereed to do a presentation for next monday. So we are gonna need to be group for that.

Our preassinged groups were T1G10 and T1G13 respectively.

Missing a group, looking for partner

Hi, I do not currently have a group assigned and would like to find a partner to do the presentation in the 2nd or 3rd week. Pretty flexible and open about topic choice, interested in most things around dev ops, happy to discuss.

email: [email protected]

Searching partner for Essay

Hi all,
I'm looking for a partner who is interested in automatic deployment for Essay.
The aim is to understand the current modern automatic deployment process and compare with different tools/platforms.
If you're interested in it, please email me ([email protected])
Thanks.

Seminar about "Industrial Continuous Integration (CI) environment for 5G Radio at Ericsson"

Han Fu will give a seminar at 13:15, 28 Mar 2019 in 1625, Lindstedtsvägen
3. The title is "Industrial Continuous Integration (CI) environment for 5G
Radio at Ericsson". Abstract follows.

A world-class Continuous Integration (CI) machinery using state of the
art technology is one of the key enablers for Ericsson to have faster,
more, better 5G radio product deliveries to our customers. In order to
achieve that, we build up a fully automated CI loop for fully 5G Radio
functional test. One delivery of 5G Radio software can be an hourly base.
In this session, the elaborate setup of Ericsson Radio Software CI loop
will be introduced, along with the intricacy setup of Radio test tower
for functional test purpose. Furthermore, in our future work, we see an
inspiring opportunity for Ericsson to leverage and extend ongoing most
advanced research in AI-driven program-repair to drastically reduce system
development cost.

The speaker was invited by Martin Monperrus.

Han Fu obtains his Master Degree in Physics at Shanghai Jiao Tong
University. Han has worked for Ericsson for five years, currently holding a
position as a team leader in Radio Software department, Ericsson AB.

Han has worked across the globe --- China, Israel, Sweden for
multi-projects. Han had abundant experiences regarding various domains
in product development as a software developer, a feature tester, an
integration tester, and held responsible positions. Han is continuously
working on (Continuous Integration) CI for 5G radio product development.

For more information about upcoming seminars,
visit
https://www.kth.se/tcs/seminars-events

Deadline for essay submission

Hi,
With risk of asking another of my patented "stupid questions", I've been unable to find the deadline for the essay submission. Does anyone know?
Thanks!

Partners wanted - any category

Hey,

I recently switched to this course and do not have partners so far. If you are still searching, feel free to contact me here or vial mail ([email protected]).

I already have some ideas, but I am also up for suggestions!

Partner for Demo

Hi,
I am planning to do the demo task and is currently looking for a partner.
If you're interested please send me a mail, then we can compromise about the topic.
Contact: [email protected]

Containerized applications

You should cover how containers can be used when deploying applications. Docker is by far the most commonly used technology for this. It is probably important to cover the differences to virtual machines: How containers are not changed but rather inherited and expanded through the Dockerfiles and how they are more lightweight.

Infrastructure as code

References:

I don't think it is possible to have a "dev ops" environment without some kind of Configuration Management Tool.
They make it possible to configure an environment through scripts.
The big advantage of a tool like this is that new virtual machine or container instances can be easily created or updated.
The most common solutions here I think are Ansible, Puppet, Chef and Salt.

It is probably best to pick one tool and have practical scripting exercises how to an enviroment can be configured programmatically.

Results & Feedback 2019

Results of presentations for Week 2 (March 25 2019)

This was a very good session, with a remarkable conversation after each presentation. Here are the results (panelists @bbaudry, @monperrus):

Comparison of code coverage measures by Kai Böhrnsen and Boran Sahindal: PASS

  • + be the very first to present
  • + key concept well claimed: code coverage != bug finding
  • + wide spectrum of coverage criteria
  • - engagement
  • - no take-home slide

Flaky testing by Fredrik Flovén and Filip Jansson: PASS WITH DISTINCTION

  • + originality and timeliness of the topic (outstanding)
  • + based on scientific literature (outstanding)
  • + good structure, good slides (outstanding)
  • + talk clearly and loudly
  • - does not fit in 7-9 minutes

Automatic test generator EVOSUITE by Jespe Larsson and Benjamin Tellström: PASS

  • + theaterization
  • + effort to engage with fun
  • - presentation not well structured
  • - no illustration

Are automatically generated test suites "good"? by Simon Larsén and Philippa Örnell PASS WITH DISTINCTION

  • + good timing (outstanding in this round)
  • + critical thinking (outstanding)
  • + super well structured (outstanding)
  • + list of references
  • + really good example & listing (outstanding)
  • - no illustration

Cross Browser Testing, Selenium Testing, and Mobile Testing by Kartik Kandavel Mudaliar and Yi-Pei Tu PASS

  • + demo
  • + motivation about testing for stakeholders
  • - structure
  • - no take-home slide
  • - typos in slides

Automated Cross Browser Testing by Simon Jäger PASS

  • + good timing (outstanding in this round)
  • + good motivation about the difficulty of web testing
  • + deep and technical, very good listings (outstanding)
  • - a bit of advertisement tone about SauceLabs
  • - presentation alone, no collaboration

Group Update

We are four people who want to change the proposed groups for all the tasks.

These are the newly proposed groups:

T1: Hannes Rabo [email protected], Julius Celik [email protected]
T1: Patric Ridell [email protected], Daniel Karlsson [email protected]

T2: Hannes Rabo [email protected], Julius Celik [email protected]
T2: Patric Ridell [email protected], Daniel Karlsson [email protected]

T3: Hannes Rabo [email protected], Daniel Karlsson [email protected]
T3: Patric Ridell [email protected], Julius Celik [email protected]

T4: Hannes Rabo [email protected], Daniel Karlsson [email protected]
T4: Patric Ridell [email protected], Julius Celik [email protected]

// Hannes

Testing, verification and test automation

Wikipedia references:

"Automated testing is the act of conducting specific tests via automation (e.g. a set of regression tests) as opposed to conducting them manually, while test automation refers to automating the process of tracking and managing the different tests." source

Containerized applications & Orchestration Frameworks

Wikipedia references:

Once you have several containerized modules, the next problem is to specify how they should work together and how they should be operated. Here the orchestration frameworks like Kubernetes and Docker Swarm play an important role. From my perpective it looks like Kubernetes has a big momentum here. Google Cloud has had a Kubernetes service for years and the other cloud providers are hard at work producing similar solutions.

Searching partner for GitLab Auto Devops demo

I am planning to set up a CD Pipeline that automatically build and test new changes and deploy them automatically after a review is approved.

The goal is to achieve this with the Auto Devops feature of GitLab and deploy tested and reviewed code to a Kubernetes cluster on the Google Kubernetes Engine.

This idea has already been accepted by the TAs here.

If you would like to do this together with me, you can contact me in this issue or by email [email protected].

Infrastructure as code

Wikipedia page: https://en.wikipedia.org/wiki/Infrastructure_as_Code

Original comment:
As mentioned by someone in another ticket, infrastructure as code was the "next big thing" not long ago (it still is a big thing, but it's already here).

Terraform is the leader in this area with competitors such as AWS cloud formation.

"infra as code" comes with it's own issues, you can just as easily automate the total destruction of your production environment as you can create a new one if you are not careful. There is a lot of documentation and blog posts on using terraform etc, but they are typically a bit out of date. A devops course with a section on IAC would be awesome

Suggestion to reschedule lesson of April 25th

The April 25th lesson clashes with the program integrating course lecture for prosamm18, which takes place 15:00-17:00. If the lesson is not rescheduled, I think many people will have to leave in the middle of the lesson.

Group Update

Me ([email protected]) and Valtteri ([email protected]) would like to form a group for the presentation.
Our group name would asjobom_vleh according to the new naming convention.
This is unfortunately not reflected in our first pull request where we name the group T1G88.

Tags/Labels for issue organization

If we are going to be using Github issues for topic suggestions, questions, discussions etc. then we should have tags to be able to filter these.

The tags I propose, and feel free to come up with more suggestions, are:

Topic: Used for topic suggestions, both from TA:s and students. Pretty self-explanatory.
Question: Used for asking questions that might interest a number of other students.
"Stupid" Question: For those that need a bit of insecurity in their lives 😛Otherwise, same as above.
Discussion: These might be topics that people would very much like to discuss with the rest of the class, perhaps a bit of cool tech or an interesting webinar. This tag should pretty much invite input and discussion (hence the name).

DevOps and Security - DevSecOps

People, cultural aspects of DevOps

Wikipedia references:

The 'Three Amigos' is perhaps more technique then technology and thus it's easy to miss. The gist of it is that three people representing Business, Development and Testing sit down together to discuss a feature. Together they outline a list of acceptance criteria that should all be proven true by automated tests before the feature can be considered implemented.

https://www.agilealliance.org/glossary/three-amigos/
https://www.agilealliance.org/glossary/atdd/

My personal experience with coaching newly graduated developers it that they grasp new software at blazing speeds. This is as true for testing as it is for every other tool. If they didn't know JUnit/Hamcrest/Mockito (or the equivalent) before showing up, then they'll have picked it up within a month or so.

The problem of applying TDD has little to do with tooling. What all junior developers, and arguably also a lot of otherwise senior developers, all struggle with is what to test and why; how to test and what tools to use is less of a problem. Role-playing with the 'Three Amigos' and listing requirements should help them think critically about software using perspectives that they will otherwise lack.

Information model

There is a relationship between desired properties (requirements), tests (verification) and test results. Those may be present in a hierarchy of components/subsystems/libraries. In addition, there is a relationship between planning activities on the system (product) being developed and its desired properties. Further, with time there will be more than one system/product configuration to consider and more than one version in use with different installations/deployments/customers. These relationships quickly becomes complex to understand and keep track of. As changes are being made (code or documents) and automatic tests are run, it would be good to have the information model changes generated rather than manually written. The information model can also be used to convince a customer (or the devops team itself) that a complex/high-level system property is achieved.

Organizational challenges (Culture)

The biggest challenge I see with DevOps is an organizational one. If a company did not start growing with a DevOps mindset, there's many challenges in changing methodology of an entire enterprise.

Quote from Effective DevOps:

Ultimately, any "devops solution" that involves only tools while ignoring the who, how and why of tool usage within an organization is missing the big picture of what devops is about and why it can be so successful. Do not try to solve interpersonal and cultural problems solely with tools and technology.

How could this be discussed in a course format?

Devops-team habits

Each organisation has a culture. A team has its own way of working within a larger organisation. Even if there are formal process descriptions, written rules and guidelines, I believe the team's own habits affects the result much more than anything else. It is, in a sense, a shared memory of how things are done. Especially if the team members are co-located and a bit isolated/protected from the rest of the organisation. The question is: how to develop the right habits in a devops team?

Litterature suggestion: "The power of habit - Why we do what we do in life and business" by Charles Duhigg.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.