Getting Started with Kubernetes Third Edition

Total Page:16

File Type:pdf, Size:1020Kb

Getting Started with Kubernetes Third Edition Getting Started with Kubernetes Third Edition Extend your containerization strategy by orchestrating and managing large-scale container deployments Jonathan Baier Jesse White BIRMINGHAM - MUMBAI Getting Started with Kubernetes Third Edition Copyright © 2018 Packt Publishing All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews. Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the authors, nor Packt Publishing or its dealers and distributors, will be held liable for any damages caused or alleged to have been caused directly or indirectly by this book. Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information. Commissioning Editor: Vijin Boricha Acquisition Editor: Rahul Nair Content Development Editor: Sharon Raj Technical Editor: Komal Karne Copy Editor: Safis Editing Project Coordinator: Drashti Panchal Proofreader: Safis Editing Indexer: Mariammal Chettiyar Graphics: Tom Scaria Production Coordinator: Shantanu Zagade First published: December 2015 Second edition: May 2017 Third edition: October 2018 Production reference: 2061118 Published by Packt Publishing Ltd. Livery Place 35 Livery Street Birmingham B3 2PB, UK. ISBN 978-1-78899-472-9 www.packtpub.com Dedicated to my loving and talented wife, Kaitlyn. Thank you for your support while writing this book, and for all the good work you do in this world. - Jesse White mapt.io Mapt is an online digital library that gives you full access to over 5,000 books and videos, as well as industry leading tools to help you plan your personal development and advance your career. For more information, please visit our website. Why subscribe? Spend less time learning and more time coding with practical eBooks and Videos from over 4,000 industry professionals Improve your learning with Skill Plans built especially for you Get a free eBook or video every month Mapt is fully searchable Copy and paste, print, and bookmark content Packt.com Did you know that Packt offers eBook versions of every book published, with PDF and ePub files available? You can upgrade to the eBook version at www.packt.com and as a print book customer, you are entitled to a discount on the eBook copy. Get in touch with us at [email protected] for more details. At www.packt.com, you can also read a collection of free technical articles, sign up for a range of free newsletters, and receive exclusive discounts and offers on Packt books and eBooks. Contributors About the authors Jonathan Baier is an emerging technology leader living in Brooklyn, New York. He has had a passion for technology since an early age. When he was 14 years old, he was so interested in the family computer (an IBM PCjr) that he pored over the several hundred pages of BASIC and DOS manuals. Then, he taught himself to code a very poorly-written version of Tic-Tac-Toe. During his teenage years, he started a computer support business. Throughout his life, he has dabbled in entrepreneurship. He currently works as Senior Vice President of Cloud Engineering and Operations for Moody's corporation in New York. I'd like to thank my wonderful wife, Tomoko, and my playful son, Nikko. You both gave me incredible support and motivation during the writing process for both editions of this book. Your smiles move mountains I could not on my own. You are my True North and guiding light in the storm. I'd also like to thank my co-author, Jesse, for all the hard work in updating and adding new chapters to this edition. You not only made this edition possible, but also took the book to the next level! Jesse White is a 15-year veteran and technology leader in New York City's very own Silicon Alley, where he is a pillar of the vibrant engineering ecosystem. As founder of DockerNYC and an active participant in the open source community, you can find Jesse at a number of leading industry events, including DockerCon and VelocityConf, giving talks and workshops. About the reviewer Jakub Pavlik is a co-founder, former CTO, and chief architect of TCP Cloud (acquired by Mirantis in 2016). Jakub and his team worked for several years on the IaaS cloud platform based on the OpenStack-Salt, Kubernetes, and Open Contrail projects, which they deployed and operated for global service providers. Leveraging his skills in architecture, implementation, and operation, his TCP Cloud team was acquired by #1 pure play OpenStack company Mirantis. Currently a director of engineering, together with other skilled professionals, Jakub builds and operates a new generation of edge-computing platforms at Volterra Inc. He is also an enthusiast of Linux OS, ice hockey (with Pepa), and films, and loves his wife, Hanulka. Packt is searching for authors like you If you're interested in becoming an author for Packt, please visit authors.packtpub.com and apply today. We have worked with thousands of developers and tech professionals, just like you, to help them share their insight with the global tech community. You can make a general application, apply for a specific hot topic that we are recruiting an author for, or submit your own idea. Table of Contents Preface 1 Chapter 1: Introduction to Kubernetes 7 Technical requirements 8 A brief overview of containers 8 What is a container? 9 cgroups 10 Namespaces 11 Union filesystems 13 Why are containers so cool? 15 The advantages of Continuous Integration/Continuous Deployment 17 Resource utilization 18 Microservices and orchestration 19 Future challenges 19 Our first clusters 20 Running Kubernetes on GCE 21 Kubernetes UI 32 Grafana 36 Command line 37 Services running on the master 38 Services running on the minions 41 Tearing down a cluster 44 Working with other providers 44 CLI setup 45 IAM setup 45 Cluster state storage 47 Creating your cluster 47 Other modes 53 Resetting the cluster 54 Investigating other deployment automation 54 Local alternatives 55 Starting from scratch 56 Cluster setup 56 Installing Kubernetes components (kubelet and kubeadm) 58 Setting up a master 59 Joining nodes 61 Networking 61 Joining the cluster 62 Summary 63 Questions 63 Table of Contents Further reading 64 Chapter 2: Building a Foundation with Core Kubernetes Constructs 65 Technical requirements 65 The Kubernetes system 65 Nucleus 66 Application layer 68 Governance layer 69 Interface layer 69 Ecosystem 69 The architecture 70 The Master 70 Cluster state 71 Cluster nodes 73 Master 75 Nodes (formerly minions) 76 Core constructs 79 Pods 80 Pod example 80 Labels 82 The container's afterlife 83 Services 83 Replication controllers and replica sets 86 Our first Kubernetes application 86 More on labels 93 Replica sets 96 Health checks 97 TCP checks 102 Life cycle hooks or graceful shutdown 103 Application scheduling 105 Scheduling example 105 Summary 109 Questions 109 Further reading 110 Chapter 3: Working with Networking, Load Balancers, and Ingress 111 Technical requirements 111 Container networking 112 The Docker approach 112 Docker default networks 112 Docker user-defined networks 113 The Kubernetes approach 114 Networking options 115 Networking comparisons 116 Weave 116 Flannel 117 Project Calico 117 [ ii ] Table of Contents Canal 117 Kube-router 117 Balanced design 118 Advanced services 119 External services 120 Internal services 121 Custom load balancing 123 Cross-node proxy 125 Custom ports 126 Multiple ports 127 Ingress 128 Types of ingress 129 Migrations, multicluster, and more 135 Custom addressing 137 Service discovery 138 DNS 139 Multitenancy 140 Limits 142 A note on resource usage 146 Summary 146 Questions 146 Further reading 147 Chapter 4: Implementing Reliable Container-Native Applications 148 Technical requirements 148 How Kubernetes manages state 149 Deployments 149 Deployment use cases 149 Scaling 151 Updates and rollouts 152 History and rollbacks 156 Autoscaling 158 Jobs 161 Other types of jobs 163 Parallel jobs 163 Scheduled jobs 164 DaemonSets 164 Node selection 166 Summary 169 Questions 169 Chapter 5: Exploring Kubernetes Storage Concepts 170 Technical requirements 171 Persistent storage 171 Temporary disks 172 [ iii ] Table of Contents Cloud volumes 173 GCE Persistent Disks 173 AWS Elastic Block Store 179 Other storage options 180 PersistentVolumes and Storage Classes 180 Dynamic volume provisioning 182 StatefulSets 183 A stateful example 184 Summary 190 Questions 191 Further reading 191 Chapter 6: Application Updates, Gradual Rollouts, and Autoscaling 192 Technical requirements 193 Example setup 193 Scaling up 194 Smooth updates 195 Testing, releases, and cutovers 198 Application autoscaling 202 Scaling a cluster 204 Autoscaling 204 Scaling up the cluster on GCE 205 Scaling up the cluster on AWS 209 Scaling manually 211 Managing applications 211 Getting started with Helm 212 Summary 215 Questions 216 Further reading 216 Chapter 7: Designing for Continuous Integration and Delivery 217 Technical requirements 217 Integrating Kubernetes with a continuous delivery pipeline 218 gulp.js 218 Prerequisites 218 gulp.js build example 219 The Kubernetes plugin for Jenkins 222 Prerequisites 222 Installing
Recommended publications
  • Migration System for Zoe Microservices
    Computer Science Department BACHELOR THESIS Migration system for Zoe microservices Author: Rafael Medina García Supervisor: David Expósito Singh Madrid, June 2016 Copyright ©2016. Rafael Medina García This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/4.0/. Esta obra está sujeta a la licencia Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional de Creative Commons. Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-nc-sa/4.0/. i Título: Migration system for Zoe microservices Autor: Rafael Medina García Tutor: David Expósito Singh EL TRIBUNAL Presidente: José Manuel Sánchez Pena Secretario: Pedro Peris López Vocal: María Paula de Toledo Heras Realizado el acto de defensa y lectura del Trabajo Fin de Grado el día 7 de julio de 2016 en Leganés, en la Escuela Politécnica Superior de la Universidad Carlos III de Madrid, acuerda otorgarle la CALIFICACIÓN de: VOCAL SECRETARIO PRESIDENTE ii Agradecimientos Agradezco: A mis padres y hermano, por vuestro apoyo, siempre; a Dorito-senpai y sus increíbles amigos: Jaime y Nacho; a Adrián, por esas interminables tardes trabajando en el despacho; al Grupo de Usuarios de Linux de la Universidad Carlos III de Madrid, verdaderamente habéis hecho que aproveche mi tiempo en la universidad; a David Expósito. iv "Ryuu ga waga teki wo kurau" Hanzo Shimada vi Abstract The Zoe virtual assistant developed by the Linux User Group from Carlos III University is a project that aims to automate various tedious tasks of the association.
    [Show full text]
  • Christian Grothoff
    Curriculum Vitae Christian Grothoff February 19, 2021 Contents 1 General Information2 1.1 Contact..............................2 1.2 Brief Biography..........................2 1.3 Education and Employment History..............2 1.4 Honors and Awards.......................3 1.5 Professional Associations.....................3 2 Research3 2.1 Publications............................3 2.2 Software Systems......................... 12 2.3 Talks and Panels......................... 14 2.4 Funding.............................. 18 3 Teaching 21 3.1 Teaching at the University of Denver.............. 21 3.2 Teaching at Technische Universit¨atM¨unchen......... 21 3.3 Teaching at BFH......................... 21 3.4 Theses supervision........................ 22 1 Christian Grothoff 2 1 General Information 1.1 Contact Bern University of Applied Sciences [email protected] Room N.474 http://grothoff.org/christian/ H¨oheweg 80 Phone (priv): +41-786926894 CH-2502 Biel-Bienne Phone (work): +41-323216488 Born February 28, 1977 in Germany. Citizen of Germany. 1.2 Brief Biography Christian Grothoff is a professor for computer network security at the Bern University of Applied Sciences, researching future Internet architectures. His research interests include compilers, programming languages, software engineering, networking, security and privacy. Previously, he was on the faculty of the Technische Universit¨atM¨unchen leading an Emmy-Noether research group in the area of computer net- works. He earned his PhD in computer science from UCLA, an M.S. in computer science from Purdue University, and both a Diplom II in mathe- matics and the first Staatsexamen in chemistry from the Bergische Univer- sit¨atGesamthochschule (BUGH) Wuppertal. 1.3 Education and Employment History 1996{2000 Diplom II (≈ M.S) in mathematics at BUGH Wuppertal 1996{2001 1.
    [Show full text]
  • Linux Day 2014
    INFORMAZIONE PUBBLICITARIA “Linux Day 2014”: Confartigianato sostiene l’evento Appuntamento all’Istituto Alberghetti di Imola sabato 25 ottobre Anche quest’anno Confartigianato anche nella maggior parte dei tele- Assimprese di Imola e Bologna foni cellulari e dei tablet, e in modo sostiene il “Linux Day”, in pro- meno visibile in quasi tutti i gramma sabato 25 ottobre a Imola, momenti della nostra vita, in quan- nell’aula Verde dell’Iis “Francesco to è il sistema operativo delle auto- Alberghetti”. L’evento imolese, che mobili, dei navigatori satellitari, si svolge in contemporanea in oltre delle televisioni e di moltissimi 100 diverse città a livello nazionale, elettrodomestici. è organizzato da “ImoLUG – Imola Il suo sviluppo è sostenuto da & Faenza Linux User Group” e sarà un’associazione senza fini di lucro, l’occasione per fare il punto sul la “Linux Foundation”. I “LUG”, tema dell’open source (software gruppi di persone che osservano e con codice sorgente aperto) e su diffondono i principi del software altri argomenti di informatica. Il libero, organizzano ogni anno. tema di quest’anno è “Libertà digi- tale”. L’ingresso è gratuito e aperto Programma della giornata a tutti. Mattina “Il Linux Day esiste dal 2001 e il 09:00 - “GNU/GPL v2 vs. v3” nostro intento principale resta a cura di Riccardo Corrado sempre lo stesso, avvicinare le per- 10:00 - “BackBox: WiFi Libero? sone all’informatica e ridurre il Il direttivo dell’ImoLUG, da sinistra: Riccardo Dal Fiume, Amilcare Renzi, Segretario Ti spio!” a cura di Andrea digital divide – spiega Stefano Riccardo De Luna, Paride Balestri, Stefano Ballardini.
    [Show full text]
  • Coleman-Coding-Freedom.Pdf
    Coding Freedom !" Coding Freedom THE ETHICS AND AESTHETICS OF HACKING !" E. GABRIELLA COLEMAN PRINCETON UNIVERSITY PRESS PRINCETON AND OXFORD Copyright © 2013 by Princeton University Press Creative Commons Attribution- NonCommercial- NoDerivs CC BY- NC- ND Requests for permission to modify material from this work should be sent to Permissions, Princeton University Press Published by Princeton University Press, 41 William Street, Princeton, New Jersey 08540 In the United Kingdom: Princeton University Press, 6 Oxford Street, Woodstock, Oxfordshire OX20 1TW press.princeton.edu All Rights Reserved At the time of writing of this book, the references to Internet Web sites (URLs) were accurate. Neither the author nor Princeton University Press is responsible for URLs that may have expired or changed since the manuscript was prepared. Library of Congress Cataloging-in-Publication Data Coleman, E. Gabriella, 1973– Coding freedom : the ethics and aesthetics of hacking / E. Gabriella Coleman. p. cm. Includes bibliographical references and index. ISBN 978-0-691-14460-3 (hbk. : alk. paper)—ISBN 978-0-691-14461-0 (pbk. : alk. paper) 1. Computer hackers. 2. Computer programmers. 3. Computer programming—Moral and ethical aspects. 4. Computer programming—Social aspects. 5. Intellectual freedom. I. Title. HD8039.D37C65 2012 174’.90051--dc23 2012031422 British Library Cataloging- in- Publication Data is available This book has been composed in Sabon Printed on acid- free paper. ∞ Printed in the United States of America 1 3 5 7 9 10 8 6 4 2 This book is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE !" We must be free not because we claim freedom, but because we practice it.
    [Show full text]
  • Opening Remarks
    Opening Remarks • We'll get through most of the text • We'll skip chapters 6 & 7 - vi and emacs editors • You learn an editor when you use it, not by reading a book • I'll show you nano, a simple editor • nano is good enough for our purposes • For work in this course you will need to use a text editor Opening Remarks • You can use any text editor that runs on Unix/Linux -- not Notepad or MS Word • I won't cover chapter 9 - TC shell • We'll use the bash shell in this course • bash has more features than the TC shell, and it is the default shell in most Linux installations • Modern installers are very good - almost idiot proof Opening Remarks • The Boston Linux User Group has periodic Installfests at MIT • To learn more about this user group, go to blu.org • Work for the course will be done on a Linux machine running Ubuntu • We will only use the Windows machines in the Lab to connect to the Linux network • Please feel free to bring a laptop to this class, which you can use instead of the Windows machine for class exercises Connecting to the Linux Machine from Home • You can connect to the Linux machine we'll use in this class from home • To do this, you'll need an Internet connection and an ssh client • An SSH client uses the SSH protocol to connect to a remote Unix/Linux machine • An SSH client allows you to use one machine to give you a command line on another machine that runs Unix/Linux • If you have a Mac at home, open Terminal and run ssh [email protected] Connecting to the Linux Machine from Home • The SSH client I
    [Show full text]
  • Linux User Group HOWTO Linux User Group HOWTO Table of Contents Linux User Group HOWTO
    Linux User Group HOWTO Linux User Group HOWTO Table of Contents Linux User Group HOWTO..............................................................................................................................1 Rick Moen...............................................................................................................................................1 1. Introduction..........................................................................................................................................1 2. What is a GNU/Linux user group?......................................................................................................1 3. What LUGs exist?................................................................................................................................1 4. What does a LUG do?..........................................................................................................................1 5. LUG activities......................................................................................................................................1 6. Practical suggestions............................................................................................................................1 7. Legal and political issues.....................................................................................................................2 8. About this document............................................................................................................................2 1. Introduction..........................................................................................................................................2
    [Show full text]
  • Linux Journal
    Open Science Travel Laptop Auto-Download Means Open Source Tips Linux Journal Since 1994: The original magazine of the Linux community PHOTOGRAPHY AND FOSS +DEEP DIVE: High Performance Computing ISSUE 293 | DECEMBER 2018 www.linuxjournal.com DECEMBER 2018 CONTENTS ISSUE 293 78 DEEP DIVE: High-Performance Computing 79 Linux and Supercomputers by Bryan Lunduke As we sit here, in the year Two Thousand and Eighteen (better known as “the future, where the robots live”), our beloved Linux is the undisputed king of supercomputing. Of the top 500 supercomputers in the world, approximately zero of them don’t run Linux (give or take...zero). 90 Data in a Flash, Part I: the Evolution of Disk Storage and an Introduction to NVMe by Petros Koutoupis NVMe drives have paved the way for computing at stellar speeds, but the technology didn’t suddenly appear overnight. It was through an evolutionary process that we now rely on the very performant SSD for our primary storage tier. 106 Data in a Flash, Part II: Using NVMe Drives and Creating an NVMe over Fabrics Network by Petros Koutoupis By design, NVMe drives are intended to provide local access to the machines they are plugged in to; however, the NVMe over Fabric specification seeks to address this very limitation by enabling remote network access to that same device. 2 | December 2018 | http://www.linuxjournal.com CONTENTS 6 The High-Performance Computing Issue by Bryan Lunduke 10 From the Editor—Doc Searls How Can We Bring FOSS to the Virtual World? 16 Letters UPFRONT 24 Auto-Download Linux Journal Each Month by Mitch Frazier 29 FOSS Project Spotlight: Appaserver by Tim Riley 35 Patreon and Linux Journal 36 Using Linux for Logic by Joey Bernard 44 Lessons in Vendor Lock-in: Messaging by Kyle Rankin 49 Reality 2.0: a Linux Journal Podcast 50 News Briefs COLUMNS 52 Kyle Rankin’s Hack and / Travel Laptop Tips in Practice 56 Reuven M.
    [Show full text]
  • Professional Linux Programming.Pdf
    01_776130 ffirs.qxp 2/2/07 10:13 PM Page iii Professional Linux® Programming Jon Masters Richard Blum 01_776130 ffirs.qxp 2/2/07 10:13 PM Page ii 01_776130 ffirs.qxp 2/2/07 10:13 PM Page i Professional Linux® Programming 01_776130 ffirs.qxp 2/2/07 10:13 PM Page ii 01_776130 ffirs.qxp 2/2/07 10:13 PM Page iii Professional Linux® Programming Jon Masters Richard Blum 01_776130 ffirs.qxp 2/2/07 10:13 PM Page iv Professional Linux® Programming Published by Wiley Publishing, Inc. 10475 Crosspoint Boulevard Indianapolis, IN 46256 www.wiley.com Copyright © 2007 by Wiley Publishing, Inc., Indianapolis, Indiana Published simultaneously in Canada Manufactured in the United States of America 10 9 8 7 6 5 4 3 2 1 Library of Congress Cataloging-in-Publication Data: Masters, Jon, 1981- Professional Linux programming / Jon Masters, Richard Blum. p. cm. Includes index. ISBN: 978-0-471-77613-0 (paper/website) 1. Linux. 2. Operating systems (Computers) I. Blum, Richard, 1962- II. Title. QA76.76.O63M37153 2007 005.4’32—dc22 2006102202 No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, scanning or otherwise, except as permitted under Sections 107 or 108 of the 1976 United States Copyright Act, without either the prior written permission of the Publisher, or authorization through payment of the appropriate per-copy fee to the Copyright Clearance Center, 222 Rosewood Drive, Danvers, MA 01923, (978) 750-8400, fax (978) 646-8600.
    [Show full text]
  • Appendix: Graphics Software Took
    Appendix: Graphics Software Took Appendix Objectives: • Provide a comprehensive list of graphics software tools. • Categorize graphics tools according to their applications. Many tools come with multiple functions. We put a primary category name behind a tool name in the alphabetic index, and put a tool name into multiple categories in the categorized index according to its functions. A.I. Graphics Tools Listed by Categories We have no intention of rating any of the tools. Many tools in the same category are not necessarily of the same quality or at the same capacity level. For example, a software tool may be just a simple function of another powerful package, but it may be free. Low4evel Graphics Libraries 1. DirectX/DirectSD - - 248 2. GKS-3D - - - 278 3. Mesa 342 4. Microsystem 3D Graphic Tools 346 5. OpenGL 370 6. OpenGL For Java (GL4Java; Maps OpenGL and GLU APIs to Java) 281 7. PHIGS 383 8. QuickDraw3D 398 9. XGL - 497 138 Appendix: Graphics Software Toois Visualization Tools 1. 3D Grapher (Illustrates and solves mathematical equations in 2D and 3D) 160 2. 3D Studio VIZ (Architectural and industrial designs and concepts) 167 3. 3DField (Elevation data visualization) 171 4. 3DVIEWNIX (Image, volume, soft tissue display, kinematic analysis) 173 5. Amira (Medicine, biology, chemistry, physics, or engineering data) 193 6. Analyze (MRI, CT, PET, and SPECT) 197 7. AVS (Comprehensive suite of data visualization and analysis) 211 8. Blueberry (Virtual landscape and terrain from real map data) 221 9. Dice (Data organization, runtime visualization, and graphical user interface tools) 247 10. Enliten (Views, analyzes, and manipulates complex visualization scenarios) 260 11.
    [Show full text]
  • GNU/Linux: Filosofia Del Software Libero Ed Open Source
    belluno.linux.it GNU/Linux: filosofia del software libero ed open source Breve storia e filosofia dei sistemi operativi liberi. Edizione 2009 BLUG – Belluno Linux User Group http://belluno.linux.it/ Massimo Masson Edizione 2009 Pagina 1 belluno.linux.it Cos'è GNU/Linux ? ● GNU/Linux è un insieme di programmi LIBERI che consentono di far funzionare un calcolatore elettronico – L'hardware (“ferramenta”) ha bisogno del software (“intelligenza”) – L'uomo interagisce con il software per utilizzare il calcolatore ● Linux e' prima di tutto un sistema operativo – Il sistema operativo interagisce con l'hardware e lo rende utilizzabile – Grazie al sistema operativo vengono eseguiti vari programmi, utili per l'utente finale ● Ormai ci si riferisce spesso a Linux come l'insieme dei programmi che girano grazie al sistema operativo. Massimo Masson Edizione 2009 Pagina 2 belluno.linux.it E i “LUG” cosa sono? ● LUG = Linux User Group – > gruppi di utenti (GNU)Linux ● Tali utenti sono normalmente appassionati di Linux ma soprattutto condividono la filosofia del SOFTWARE LIBERO ● I LUG sono molto diffusi sul territorio, è facile trovarne uno o più per ciascuna provincia ● Lo spirito che muove gli appassionati che si incontrano è fondato nello scambio libero di idee e conoscenze – Se io ho una moneta e tu hai una moneta, quando le scambiamo avremo entrambi una moneta. Se io ho un'idea e tu hai un'idea, quando le scambiamo avremo entrambi due idee Massimo Masson Edizione 2009 Pagina 3 belluno.linux.it Internet ● Internet (la rete) si è dimostrata fondamentale
    [Show full text]
  • User-Driven Development for Bespoke Software
    User-Driven Development for Bespoke Software Tryggvi Björgvinsson Dissertation submitted in partial fulfillment of a Philosophiae Doctor degree in Software Engineering Supervisor Dr. Helgi Þorbergsson, University of Iceland Doctoral Committee Dr. Helgi Þorbergsson, University of Iceland Dr. Helmut Neukirchen, University of Iceland Dr. Mathias Klang, University of Gothenburg Opponents Dr. Pekka Abrahamsson, Free University of Bozen-Bolzano Dr. Finn Kensing, University of Copenhagen Faculty of Industrial Engineering, Mechanical Engineering and Computer Science School of Engineering and Natural Sciences University of Iceland Reykjavik, January 2013 User-Driven Development for Bespoke Software Dissertation submitted in partial fulfillment of a Philosophiae Doctor degree in Software Engineering Copyright 2013 Tryggvi Björgvinsson This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/. Faculty of Industrial Engineering, Mechanical Engineering and Computer Science School of Engineering and Natural Sciences University of Iceland Hjarðarhagi 2--6 107 Reykjavík Iceland Telephone: 525 4700 Bibliographic information: Tryggvi Björgvinsson, 2013, User-Driven Development for Bespoke Software, PhD dissertation, Faculty of Industrial Engineering, Mechanical Engineering and Computer Science, University of Iceland. ISBN 978-9935-9069-6-0 Printing: Háskólaprent Reykjavik, Iceland, January 2013 To my mother, Björk Tryggvadóttir, and father, Björgvin Magnússon. Without your support I would never have gotten this far. Abstract Software engineering as a discipline has for the last few decades tried to tackle the problem of software project failures. A software engineer's arsenal consists of various methods and tech- niques applicable to the plethora of different software projects.
    [Show full text]
  • Free Software Project Management HOWTO
    Free Software Project Management HOWTO Benjamin "Mako" Hill [email protected] Revision History Revision v0.3.2 15 April 2002 Revised by: bch Revision v0.3.1 18 June 2001 Revised by: bch Revision v0.3 5 May 2001 Revised by: bch Revision v0.2.1 10 April 2001 Revised by: bch Revision v0.2 8 April 2001 Revised by: bch Revision v0.01 27 March 2001 Revised by: bch Initial Release This HOWTO is designed for people with experience in programming and some skills in managing a software project but who are new to the world of free software. This document is meant to act as a guide to the non−technical aspects of free software project management and was written to be a crash course in the people skills that aren't taught to commercial coders but that can make or break a free software project. Free Software Project Management HOWTO Table of Contents 1. Introduction.....................................................................................................................................................1 1.1. Copyright Information......................................................................................................................1 1.2. Disclaimer.........................................................................................................................................1 1.3. New Versions....................................................................................................................................2 1.4. Credits...............................................................................................................................................2
    [Show full text]