Desmistificando DevOps: Projetando Arquiteturas Efetivamente Escaláveis
Instrutores
Disciplinas
- Pós-Graduação: IN0980 - Tópicos Avançados em Engenharia de Software 3
- Graduação: IF1004 - Seminários em Sistemas de Informação 3
Local
Centro de Informática, horários: segunda (17:00-18:40) e quarta (18:50-20:30), sala D004.
Aulas práticas, quando ocorreram, serão no Lab G2.
Edições passadas
Comunicação
Ementa
As modernas organizações de desenvolvimento de software exigem equipes inteiras de DevOps para automatizar e manter processos de engenharia de software e infraestrutura vitais para a organização. Nesta disciplina, os alunos terão exposição prática às habilidades, ferramentas e conhecimentos necessários para automatizar processos e infraestruturas de engenharia de software. Os alunos terão a chance de criar novas, ou ampliar, ferramentas existentes de engenharia de software e projetar um pipeline DevOps.
Bibliografia Sugerida
Não há livro texto obrigatório. Entretanto, a seguir estão alguns livros que podem ser recomendados:
-
The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations, by Gene Kim, Patrick Debois, John Willis, Jez Humble. IT Revolution Press, 2016.
-
DevOps: A Software Architect's Perspective (SEI Series in Software Engineering), by Len Bass, Ingo Weber, Liming Zhu. Addison-Wesley Professional; 1 edition (May 28, 2015).
-
Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation, by Jez Humble, David Farley. Addison-Wesley Professional; Edição: 1, 2010.
-
Continuous Integration: Improving Software Quality and Reducing Risk, by Paul M. Duvall, Steve Matyas, Andrew Glover. Addison-Wesley Professional, 2007.
-
Site Reliability Engineering: How Google runs Production Systems. Edited by Betsy Beyer, Chris Jones, Jennifer Petoff and Niall Richard Murphy. O'Reilly Media, Incorporated, 2016.
-
DevOps na prática: entrega de software confiável e automatizada, by Danilo Sato. Casa do Código, 2013.
Bibliografia Complementar
Bibliografia sobre Ferramentas, Frameworks e Tecnologias
- Architecting and Designing
- Ansible
- AWS
- Cloud Computing and other Technologies
-
The Future of Cloud Providers in Kubernetes, Authors: Andrew Sy Kim (VMware), Mike Crute (AWS), Walter Fender (Google) -- April 17, 2019
-
Cloud Computing: Concepts, Technology & Architecture
-
Four Layers of TCP/IP model, Comparison and Difference between TCP/IP and OSI models
-
The Google Cloud Developer Cheat Sheet
-
Public Cloud Services Comparison
-
VMs vs. Containers for Microservices, by Spruha Pandya -- Mar 19, 2019
-
Public Cloud Services Comparison
-
Package Management Basics: apt, yum, dnf, pkg (by Digital Ocean
- Continuous Integration, Deployment or Delivery
-
Anti Patterns of Continuous Integration, Mritunjay Dubey -- Apr 23, 2019
-
Continuous Delivery Metrics: Part 1: Why measure your CD process, Part 2: How often do you deploy to production?, Part 3: How long does it take to get from committing code to production?, Aravind S.V and Suzie Prince.
-
2018 CONTAINER ADOPTION BENCHMARK SURVEY, by Diamanti -- July 31, 2018
-
CI/CD with Angular 6 & Firebase & GitLab: Automate build, test and deployment using GitLab CI/CD, by Kai Niklas -- Dec 23 - 2018.
-
DevOps101: How To Provide Infrastructure To Your Startup In 7 Easy Steps, by Rafael Belchior -- Dec 2018
-
Practical DevOps, by Joakim Verona. Packt Publishing Limited -- 2016.
-
Implementing DevOps on AWS, by Veselin Kantsev. Packt Publishing Limited -- 2017.
-
Package Management Basics: apt, yum, dnf, pkg (by Digital Ocean
-
Continous Delivery
-
Best Jenkins alternatives. Top CI/CD Tools for your Android and iOS projects
-
Continous Integration
- Culture, Methods, Processes and Paradigms
- Docker
-
WTF is Docker?, A brief explanation of Docker and Docker compose in English
-
Docker In A Nutshell
-
What You Need to Know about Docker, by Scott Gallagher. Packt Publishing Limited.
-
Docker Cookbook, by Neependra Khare. Packt Publishing Limited -- 2015.
-
Docker on Windows, by Elton Stoneman. Packt Publishing Limited -- 2017.
-
Learning Docker - Second Edition, by Jeeva S. Chelladhurai, Vinod Singh, Pethuru Raj. Packt Publishing Limited -- 2017.
-
Mastering Docker - Second Edition, by Russ McKendrick, Scott Gallagher. Packt Publishing Limited -- 2017.
-
Como Construir Imagens Docker e Hospedar um Repositório de Imagens Docker com o GitLab
-
10 Free Courses to Learn Docker for Programmers and DevOps Engineers
-
The Future of Docker Swarm -- Sep 06, 2018
-
Docker Commands — The Ultimate Cheat Sheet
-
Docker Tutorial Series Part 1: Images, Layers and Dockerfile
-
Docker Tutorial Series Part 2: Microservice Architecture
-
Mike Coleman (Docker Employee) "Docker for the Virtualization Admin" eBook
-
Containers com Docker: Do desenvolvimento à produção
-
Docker Tutorials and Labs (This repo contains Docker labs and tutorials authored both by Docker, and by members of the community)
-
Tupperware: Containerized Deployment at FB
-
Docker Cloud Fleet Management and Collaboration (YouTube)
-
Journey to Docker Production: Evolving Your Infrastructure and Processes, Bret Fisher: Independent Docker and DevOps Consultant, DockerCon17 in Austin
-
Taking Docker to Production: What You Need to Know and Decide, Bret Fisher: Independent Docker and DevOps Consultant, DockerCon Europe 2017
-
7 best practices for building containers
-
Rodando aplicações GUI em Docker (Youtube)
-
8 Tips for Containerizing Django Apps
- Google Cloud
- Jenkins
- Kubernetes
-
Kubernetes Failure Stories, a compiled list of links to public failure stories related to Kubernetes.
-
Você sabe qual a origem do Kubernetes do Google Cloud?, bt Renê Fraga -- May 28, 2019
-
Jérôme Petazzoni - Talk about Kubernetes | ContainerWeek, by Jérôme Petazzoni -- April 8, 2019.
-
KUBECTL PARA PREGUIÇOSOS, by Wellington Bastos -- March 17, 2019.
-
Instalando e configurando kubernetes localmente com o minikube no Mac OSX, by Vinicius Garcia -- Jan 03, 2019
-
Solving the Kubernetes and Storage Challenge -- Dec 5, 2018
-
Kubernetes vs Docker Swarm — A Comprehensive Comparison, by Harsh Binani -- Dec 4, 2018.
-
Kubernetes Cookbook, by Hideto Saito, Hui-Chuan Chloe Lee, Ke-Jou Carol Hsu. Packt Publishing Limited -- 2017.
- [Mastering Kubernetes], by Gigi Sayfan. Packt Publishing Limited -- 2017.
-
Como Criar um Cluster Kubernetes 1.10 Usando Kubeadm no CentOS 7
-
Como Criar um Cluster Kubernetes 1.11 Usando Kubeadm no Ubuntu 18.04
-
From open source to sustainable success: the Kubernetes graduation story
-
Top 10 Kubernetes tips and tricks
-
Criando um cluster simples em cloud com o kubeadm
-
11 Ways (Not) to Get Hacked - Kubernetes
-
Kubernetes Ingress: NodePort, Load Balancers, and Ingress Controllers
-
Kubernetes best practices: Resource requests and limits
- Kubernetes: dicas e truques na orquestração de containers Parte 1, Parte 2, Parte 3, Parte 4, by Renato Groffe
- Microservices
- LEWIS, J.; FOWLER, M. Microservices: a definition of this new architectural term. MartinFowler. com, v. 25, Mar 2014.
- X. Larrucea, I. Santamaria, R. Colomo-Palacios and C. Ebert, "Microservices," in IEEE Software, vol. 35, no. 3, pp. 96-100, May/June 2018. doi: 10.1109/MS.2018.2141030
- P. Jamshidi, C. Pahl, N. C. Mendonça, J. Lewis and S. Tilkov, "Microservices: The Journey So Far and Challenges Ahead," in IEEE Software, vol. 35, no. 3, pp. 24-35, May/June 2018. doi: 10.1109/MS.2018.2141039
-
Spring Microservices
-
Spring Boot: Acelere o desenvolvimento de microsserviços
-
Microservices for Java Developers A Hands-on Introduction to Frameworks and Containers
-
Migrating to Cloud-Native Application Architectures
-
The Phoenix Project: A Novel about IT, DevOps, and Helping Your Business Win
-
Why Spring Boot is an Excellent Choice For Your Next Applications
-
10 Myths About Microservices, by Codonomics, Dec 23 - 2018.
-
10 Challenges and Solutions for Microservices — Tips and Tricks, by by Rajiv Srivastava, Jul 02 - 2018
-
Developing Microservices with Behavior Driven Development and Interface Oriented Design, by Kenneth Pugh -- Jan 26, 2019
-
LinuxFoundationX: LFS132x Introduction to Cloud Foundry and Cloud Native Software Architecture
-
Architecting Distributed Cloud Applications
- Rancher
- Serverless
- Service Mesh
- P. Jamshidi, C. Pahl, N. C. Mendonça, J. Lewis and S. Tilkov, "Microservices: The Journey So Far and Challenges Ahead", in IEEE Software, vol. 35, no. 3, pp. 24-35, May/June 2018.
-
Pattern: Service Mesh, by Phil Calçado, Aug 3, 2017
-
What’s a service mesh? And why do I need one?, by Willian Morgan, April 25, 2017
-
The Enterprise Path to Service Mesh Architectures, O’Reilly Media, Inc., First Edition, 2018.
- Spring IO
- Swarm
- Terraform
- Testes
- Travis CI
Blogs, Disciplinas, Treinamentos
-
DevOps - p de Podcast, 11 de Setembro de 2020, Neste episódio discutimos a Cultura DevOps, partindo do significado de termos como Integração Contínua e Entrega Contínua, passando pela automação necessária no desenvolvimento e na infraestrutura até como começar a praticar em contextos diferentes. Contamos com a participação especial do Leonardo Leite, pesquisador/doutorando da USP.
-
Introduction to DevOps: Transforming and Improving Operations, Learn how to transform your organization using the principles and practices of DevOps.
-
A biblioteca do Desenvolvedor de Software dos dias de hoje
-
Cinco coisas que todo desenvolvedor de software deve saber sobre Arquitetura de Software
-
12 Fractured Apps
-
The twelve-factor app
-
The Google Cloud Developer Cheat Sheet
-
LFS158x: Introduction to Kubernetes
-
Introduction to Cloud Infrastructure Technologies
-
Fundamentals of Containers, Kubernetes, and Red Hat OpenShift
-
Architecting Distributed Cloud Applications
-
#5 Certificações do Docker (DCA) e Kubernetes (CKA e CKAD) | ContainerWeek, by LINUXtips -- Transmitido ao vivo em 12 de abr de 2019
-
An introduction to immutable infrastructure
-
Is DevOps driving enterprise cloud adoption or vice versa?
-
Kubernetes Ingress: NodePort, Load Balancers, and Ingress Controllers
-
Deploying Java Applications with Docker and Kubernetes & oreilly-docker-java-shopping
-
Deploying Java Applications with Kubernetes and an API Gateway
-
Where to Start with DevOps Series, October 17, 2016 by Gene Kim (must read!)
-
Simon Brown on the Role of the Software Architect in a Continuous Delivery Environment
-
IF1006 - TÓPICOS AVANÇADOS EM SISTEMAS DE INFORMAÇÃO 3 (SERVIÇOS E INFRAESTRUTURA DE NUVEM) - 2017.1
-
IF1007 - Desenvolvimento de Aplicações com Arquitetura Baseada em Microservices
-
Google Cloud Platform Blog
-
DevOps | AWS Cloud | Cloud Tutorials for Beginners
-
Containers Patterns: There are a thousand ways to use containers
-
Principles of Container-based Application Design
-
Docker, FROM scratch - Aaron Powell [YouTube], NDC Conferences, Publicado em 25 de set de 2017
-
Hands on Lab Overview: DevOps Cloud Native Microservices Development - YouTube
Business Cases
-
Spotify: An Early Adopter of Containers, Spotify Is Migrating from Homegrown Orchestration to Kubernetes
-
DevOps in Healthcare: Benefits & Case Studies -- Sep 17, 2018.
-
Monitoring containerized microservices with a centralized logging architecture. A case study of Project Horus -- Sep 12, 2018.
-
DevOps in Financial Services: Benefits, Myths, Case studies -- Sep 11, 2018
-
Forced Evolution: Shopify's Journey to Kubernetes -- June 25-26, 2018
-
The Secret to Amazons Success Internal APIs -- Jan 12, 2012
-
SOA done right: the Amazon strategy -- Jun 26, 2007
-
Building Products at SoundCloud — Part I: Dealing with the Monolith, By Phil Calçado -- June 11th, 2014
-
Building Products at SoundCloud—Part II: Breaking the Monolith, By Phil Calçado -- June 12th, 2014
-
MicroServices at Netflix, August 8, 2014
-
How we build microservices at Karma -- Apr 4, 2016
-
The Top 10 Adages in Continuous Deployment, by InfoQ -- Sep 19, 2017
-
Spotify Lessons: Learning to Let Go of Machines, by James Wen -- Sep 19, 2017
- The Smart Parking story - Part 1, Part2 and Part 3, Apr 12, 2018
-
Arquiteturas reativas e a experiência Mobile no Magazine Luiza, Jan 31, 2018.
-
Autorização de transações no Nubank: Consumindo serviços anos 80 com tecnologias atuais, Dec 06, 2017.
-
Preparing the Netflix API for Deployment, by Netflix Technology Blog on Nov 18, 2013
-
Continuous Deployment at IMVU: Doing the Impossible Fifty Times a Day, by Timothy Fitz on February 10, 2009
- CA Technologies’ report gives some insights into business’ different understanding of DevOps and can be found at http://www.ca.com/us/collateral/white-papers/na/techinsights-report-what-smart-businesses-know-about-devops.aspx
- XebiaLabs has a wide range of surveys and state of industry reports on DevOps-related topics that can be found at http://xebialabs.com/xl-resources/whitepapers/
Research Trends
-
2021
- N. C. Mendonça, C. Box, C. Manolache and L. Ryan, "The Monolith Strikes Back: Why Istio Migrated From Microservices to a Monolithic Architecture," in IEEE Software, vol. 38, no. 5, pp. 17-22, Sept.-Oct. 2021, doi: https://doi.org/10.1109/MS.2021.3080335.
-
2019
- Leonardo Leite, Carla Rocha, Fabio Kon, Dejan Milojicic, and Paulo Meirelles. 2019. A Survey of DevOps Concepts and Challenges. ACM Comput. Surv. 52, 6, Article 127 (January 2020), 35 pages. DOI: https://doi.org/10.1145/3359981
- Welder Pinheiro Luz, Gustavo Pinto, Rodrigo Bonifácio, Adopting DevOps in the real world: A theory, a model, and a case study, Journal of Systems and Software, Volume 157, 2019, 110384, ISSN 0164-1212, doi: https://doi.org/10.1016/j.jss.2019.07.083.
- Philipp Leitner, Erik Wittern, Josef Spillner, Waldemar Hummer, A mixed-method empirical study of Function-as-a-Service software development in industrial practice, Journal of Systems and Software, Volume 149, 2019, Pages 340-359, ISSN 0164-1212, DOI: 10.1016/j.jss.2018.12.013.
-
Architecture and Design InfoQ Trends Report - January 2019, by Daniel Bryant & Thomas Betts & Charles Humble, Jan 24, 2019.
-
2018
- Forsgren, N., & Kersten, M. (2018). DevOps metrics. Communications of the ACM, 61(4), 44–48.
- Guerrero, C., Lera, I., & Juiz, C. (2018). Resource optimization of container orchestration: a case study in multi-cloud microservices-based applications. The Journal of Supercomputing, 74(7), 2956–2983, 2018.
- L. Chen, "Microservices: Architecting for Continuous Delivery and DevOps," 2018 IEEE International Conference on Software Architecture (ICSA), Seattle, WA, 2018, pp. 39-397. doi: 10.1109/ICSA.2018.00013
- Xili Wan, Xinjie Guan, Tianjing Wang, Guangwei Bai, Baek-Yong Choi, Application deployment using Microservice and Docker containers: Framework and optimization, Journal of Network and Computer Applications, Volume 119, 2018, Pages 97-109, ISSN 1084-8045.
- Ricardo Colomo-Palacios, Eduardo Fernandes, Pedro Soto-Acosta, Xabier Larrucea, "A case analysis of enabling continuous software deployment through knowledge management", International Journal of Information Management, Volume 40, 2018, Pages 186-189, ISSN 0268-4012.
- G. Pallis, D. Trihinas, A. Tryfonos and M. Dikaiakos, "DevOps as a Service: Pushing the Boundaries of Microservice Adoption," in IEEE Internet Computing, vol. 22, no. 3, pp. 65-71, May./Jun. 2018. doi: 10.1109/MIC.2018.032501519
- H. Zhu and I. Bayley, "If Docker is the Answer, What is the Question?," 2018 IEEE Symposium on Service-Oriented System Engineering (SOSE), Bamberg, 2018, pp. 152-163. doi: 10.1109/SOSE.2018.00027
- Jez Humble. 2018. Continuous delivery sounds great, but will it work here?. Commun. ACM 61, 4 (March 2018), 34-39. DOI: https://doi.org/10.1145/3173553.
- G. Pallis, D. Trihinas, A. Tryfonos and M. Dikaiakos, "DevOps as a Service: Pushing the Boundaries of Microservice Adoption," in IEEE Internet Computing, vol. 22, no. 3, pp. 65-71, May./Jun. 2018. doi: 10.1109/MIC.2018.032501519
-
2017
- M. Waseem and P. Liang, "Microservices Architecture in DevOps," 2017 24th Asia-Pacific Software Engineering Conference Workshops (APSECW), Nanjing, 2017, pp. 13-14. doi: 10.1109/APSECW.2017.18.
- Bass, L. (2017). The Software Architect and DevOps. IEEE Software, 35(1), 8–10. https://doi.org/10.1109/MS.2017.4541051.
- Jaemyoun Lee and Kyungtae Kang. 2017. Poster: A Lightweight Live Migration Platform with Container-based Virtualization for System Resilience. In Proceedings of the 15th Annual International Conference on Mobile Systems, Applications, and Services (MobiSys '17). ACM, New York, NY, USA, 158-158. DOI: 10.1145/3081333.3089302.
- Eddie Antonio Santos, Carson McLean, Christopher Solinas, Abram Hindle, How does Docker affect energy consumption? Evaluating workloads in and out of Docker containers, 2 May 2017.
- M. Kassab, J. F. DeFranco and P. A. Laplante, "Software Testing: The State of the Practice," in IEEE Software, vol. 34, no. 5, pp. 46-52, 2017. doi: 10.1109/MS.2017.3571582
- R. Valerdi, "Why Software Is Like Baseball," in IEEE Software, vol. 34, no. 5, pp. 7-9, 2017. doi: 10.1109/MS.2017.3571583
- M. Kersten, "Value Stream Architecture," in IEEE Software, vol. 34, no. 5, pp. 10-12, 2017. doi: 10.1109/MS.2017.3571573
- E. Woods, "Should Architects Code?," in IEEE Software, vol. 34, no. 5, pp. 20-21, 2017. doi: 10.1109/MS.2017.3571574
- M. Waseem and P. Liang, "Microservices Architecture in DevOps," 2017 24th Asia-Pacific Software Engineering Conference Workshops (APSECW), Nanjing, 2017, pp. 13-14. doi: 10.1109/APSECW.2017.18.
- J. C. Carver, B. Penzenstadler, A. Serebrenik and A. Yamashita, "The Human Factor," in IEEE Software, vol. 34, no. 5, pp. 90-92, 2017. doi: 10.1109/MS.2017.3571580
- K. Carter, "Francois Raynaud on DevSecOps," in IEEE Software, vol. 34, no. 5, pp. 93-96, 2017. doi: 10.1109/MS.2017.3571578
- Y. Zhao, A. Serebrenik, Y. Zhou, V. Filkov and B. Vasilescu, "The impact of continuous integration on other software development practices: A large-scale empirical study," 2017 32nd IEEE/ACM International Conference on Automated Software Engineering (ASE), Urbana, IL, 2017, pp. 60-71.
- Lianping Chen, Continuous Delivery: Overcoming adoption challenges, Journal of Systems and Software, Volume 128, 2017, Pages 72-86, ISSN 0164-1212, https://doi.org/10.1016/j.jss.2017.02.013.
- Nane Kratzke, Peter-Christian Quint. Understanding cloud-native applications after 10 years of cloud computing - A systematic mapping study. Journal of Systems and Software, Volume 126, 2017, Pages 1-16, ISSN 0164-1212. doi: 10.1016/j.jss.2017.01.001.
- Eero Laukkanen, Juha Itkonen, Casper Lassenius, Problems, causes and solutions when adopting continuous delivery—A systematic literature review, Information and Software Technology, Volume 82, 2017, Pages 55-79, ISSN 0950-5849, https://doi.org/10.1016/j.infsof.2016.10.001.
- Pilar Rodríguez, Alireza Haghighatkhah, Lucy Ellen Lwakatare, Susanna Teppola, Tanja Suomalainen, Juho Eskeli, Teemu Karvonen, Pasi Kuvaja, June M. Verner, Markku Oivo. Continuous deployment of software intensive products and services: A systematic mapping study. In: Journal of Systems and Software, Volume 123, 2017, Pages 263-291, ISSN 0164-1212. doi: 10.1016/j.jss.2015.12.015.
- Brian Fitzgerald, Klaas-Jan Stol, Continuous software engineering: A roadmap and agenda, Journal of Systems and Software, Volume 123, 2017, Pages 176-189, ISSN 0164-1212, https://doi.org/10.1016/j.jss.2015.06.063.
- C. Pahl, A. Brogi, J. Soldani and P. Jamshidi, "Cloud Container Technologies: a State-of-the-Art Review," in IEEE Transactions on Cloud Computing, 2017. doi: 10.1109/TCC.2017.2702586
- Erich, FMA, Amrit, C, Daneva, M. A qualitative study of DevOps usage in practice. J Softw Evol Proc. 2017; 29: e1885. doi: 10.1002/smr.1885
- Viral Gupta, P.K. Kapur, Deepak Kumar, "Modeling and measuring attributes influencing DevOps implementation in an enterprise using structural equation modeling", Information and Software Technology, Volume 92, 2017, Pages 75-91, ISSN 0950-5849, https://doi.org/10.1016/j.infsof.2017.07.010.
- C. Barna, H. Khazaei, M. Fokaefs and M. Litoiu, "Delivering Elastic Containerized Cloud Applications to Enable DevOps," 2017 IEEE/ACM 12th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS), Buenos Aires, 2017, pp. 65-75. doi: 10.1109/SEAMS.2017.12
- O'Connor, RV, Elger, P, Clarke, PM. "Continuous software engineering—A microservices architecture perspective". J Softw Evol Proc. 2017; 29: e1866. DOI: 10.1002/smr.1866
- M. Waseem and P. Liang, "Microservices Architecture in DevOps," 2017 24th Asia-Pacific Software Engineering Conference Workshops (APSECW), Nanjing, 2017, pp. 13-14. doi: 10.1109/APSECW.2017.18.
-
2016
- H. Kang, M. Le and S. Tao, "Container and Microservice Driven Design for Cloud Infrastructure DevOps," 2016 IEEE International Conference on Cloud Engineering (IC2E), Berlin, 2016, pp. 202-211. doi: 10.1109/IC2E.2016.26
- Savor, T., Douglas, M., Gentili, M., Williams, L., Beck, K., & Stumm, M. (2016). Continuous deployment at Facebook and OANDA. In Proceedings of the 38th International Conference on Software Engineering Companion - ICSE ’16 (pp. 21–30). New York, New York, USA: ACM Press.
- M. Ficco, C. Esposito, H. Chang and K. R. Choo, "Live Migration in Emerging Cloud Paradigms," in IEEE Cloud Computing, vol. 3, no. 2, pp. 12-19, Mar.-Apr. 2016. doi: 10.1109/MCC.2016.48
- Spinellis, D. (2016). Being a DevOps Developer. IEEE Software, 33(3), 4–5. doi: 10.1109/MS.2016.76
- Brendan Burns, Brian Grant, David Oppenheimer, Eric Brewer, John Wilkes. Borg, Omega, and Kubernetes. Communications of the ACM, May 2016, Vol. 59 No. 5, Pages 50-57. doi: 10.1145/2890784.
- Sergei Arnautov, Bohdan Trach, Franz Gregor, Thomas Knauth, Andr ́e Martin, Christian Priebe, Joshua Lind, Divya Muthukumaran, Dan O’Keeffe, Mark Still- well, David Goltzsche, David M. Eyers, Ru ̈diger Kapitza, Peter R. Pietzuch, and Christof Fetzer. SCONE: Secure Linux Containers with Intel SGX. In 12th USENIX Symposium on Operating Systems Design and Implementation, OSDI 2016, Savan- nah, GA, USA, November 2-4, 2016., pages 689–703, 2016.
- Riungu-Kalliosaari, L., Mäkinen, S., Lwakatare, L. E., Tiihonen, J., & Männistö, T. (2016). DevOps Adoption Benefits and Challenges in Practice: A Case Study. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 10027 LNCS, pp. 590–597).
- L. Zhu, L. Bass and G. Champlin-Scharff, "DevOps and Its Practices," in IEEE Software, vol. 33, no. 3, pp. 32-34, May-June 2016. doi: 10.1109/MS.2016.81
- H. Kang, M. Le and S. Tao, "Container and Microservice Driven Design for Cloud Infrastructure DevOps," 2016 IEEE International Conference on Cloud Engineering (IC2E), Berlin, 2016, pp. 202-211. doi: 10.1109/IC2E.2016.26
- A. Balalaie, A. Heydarnoori and P. Jamshidi, "Microservices Architecture Enables DevOps: Migration to a Cloud-Native Architecture," in IEEE Software, vol. 33, no. 3, pp. 42-52, 2016. doi:10.1109/MS.2016.64
- Schermann G, Cito J, Leitner P, Zdun U, Gall H. 2016. An empirical study on principles and practices of continuous delivery and deployment. PeerJ Preprints 4:e1889v1. DOI: 10.7287/peerj.preprints.1889v1.
- Ebert, C., Gallardo, G., Hernantes, J., & Serrano, N. (2016). DevOps. IEEE Software, 33(3), 94–100. https://doi.org/10.1109/MS.2016.68
-
2015
- C. Pahl, "Containerization and the PaaS Cloud," in IEEE Cloud Computing, vol. 2, no. 3, pp. 24-31, May-June 2015. doi: 10.1109/MCC.2015.51
- Gerry Gerard Claps, Richard Berntsson Svensson, Aybüke Aurum, On the journey to continuous deployment: Technical and social challenges along the way, Information and Software Technology, Volume 57, 2015, Pages 21-31, ISSN 0950-5849, https://doi.org/10.1016/j.infsof.2014.07.009.
- Lwakatare L.E., Kuvaja P., Oivo M. (2015) "Dimensions of DevOps". In: Lassenius C., Dingsøyr T., Paasivaara M. (eds) Agile Processes in Software Engineering and Extreme Programming. XP 2015. Lecture Notes in Business Information Processing, vol 212. Springer, Cham
Objetivos
Espera-se que os alunos vivenciem exposição prática a ferramentas, processos e princípios de engenharia de software através de projetos práticos, enquanto compreendem modelos e ideias de pesquisa por trás das ferramentas e processos. As aulas incluirão experiências de aprendizagem no estilo de workshops, onde os alunos irão trabalhar em um problema e receberão comentários do professor, colaboradores convidados e outros colegas de classe. Quando possível, palestras convidadas da indústria ajudarão a ilustrar exemplos de como a tecnologia é implantada na prática.
Metodologia
Na disciplina, será utilizada uma mistura de aulas tradicionais com atividades e workshops em sala de aula. Durante as aulas, abordaremos conceitos básicos relacionados aos tópicos a serem tratados na disciplina. Durante os workshops em sala de aula, realizaremos exemplos de exercícios com ferramentas relevantes que reforçam o material de aula. As avaliações serão baseadas nas aulas, exercícios dirigidos, workshops e o projeto final.
Pré-Requisitos
Para participar deste curso é desejável que os participantes tenham:
- Conhecimento básico de inglês técnico para leitura, estudo e acompanhamento das atividades propostas, uma vez que a maior parte do material disponível está em inglês.
- Conhecimento básico de arquitetura de computador, sistemas operacionais, redes, engenharia de software e banco de dados.
- Conhecimento de modelos de processo de desenvolvimento de software, em especial Metodologias Ágeis, testes de software. COnhecimento em TDD e BDD serão uma vantagem. Maiores informações podem ser consultadas no site da disciplina de Engenharia de Software (IF977).
- Experiência em sistemas de computação, armazenamento, infraestruturas de rede e computação em nuvem será uma vantagem.
Recursos
Artigos
Glossário de Ferramentas
Referências de outros cursos correlatos
Avaliação
-
Projeto em equipe com até 3 membros [70%]
- Caráter puramente acadêmico e educacional. O projeto vai tratar de diversos aspectos do desenvolvimento de uma aplicação, serviço ou solução de apoio ao paradigma DevOps no ciclo de vida de software.
- O projeto é constituído da solução e todos os artefatos que a compõem (i.e. código fonte, imagens, arquivos de configuração, scripts, documentações de apoio, entre outras), um relatório técnico final contendo a contextualização, escopo, tomadas de decisão, documentação da arquitetura da solução, projeto de implantação, etc.
- A apresentação oral do projeto também conta como uma parte da avaliação do mesmo, todos os membros do time devem estar presentes.
- Observações:
- Entrega fora do prazo: redutor de 1 ponto por dia de atraso.
- Atraso máximo: 1 (uma) semana. Após esse prazo, será dada nota zero para a respectiva atividade de avaliação.
- Trabalhos com referências bibliográficas inconsistentes terão um redutor no conteúdo técnico.
- Trabalhos “CTRL-C + CTRL-V” terão nota zero (vale tanto para cópia de colegas, como para trabalhos copiados da internet).
-
Exercício Escolar Teórico Individual e/ou Atividades Práticas Individuais [30%]
- Exercício com questões objetivas
- Como atividade de recuperação é proposta a aplicação de um Exercício Escolar abordando os temas apresentados e discutidos em classe.
Plano de aulas
Open Source Agenda is not affiliated with "If1004" Project. README Source:
IF1004/if1004