info-I 399 midterm
containers
"Containerized applications" A container is a standard unit of software that packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another. A container image is a lightweight, standalone, executable package of software that includes everything needed to run an application: code, runtime, system tools, system libraries and settings.
mounting the same volume when running other containers
$ docker run -it --volumes-from container1name --name containername imagename
How to find docker volumes that are active:
$ docker volume ls
delete volume
$ docker volumne rm <volumeName>
PMO: directing
-high control over project management -might assign a PM
Project Charter
-A business case is developed from an analysis of internal needs and external influences (how do we need this business need while operating in our current environment) -This business case is "fleshed out" with additional detail: top level requirements high level milestones best economic case for the project to succeed what resources will be required for success
Public Cloud
All hardware, software, and other supporting infrastructure is owned and managed by the cloud provider. Amazon AWS, Google Cloud, Microsoft Azure
Team size
-Jess Bezos famous 2-pizza team size rule -# of communication links = n(n-1)/2 -larger team sizes lead to overconfidence -relational loss (perception of not being able to count on support, problem in larger teams since members dont know each as well)
Project Management Team: What does the PM do
-PM generally coordinatesall project activities -In a smaller organization or project environment the PM may be the ONLY management team member and fulfil all management roles -In larger project environments the PM may have oneor more other members to help in a specific set of management role(s)
Why is scope management important?
-only 62% of projects met the original scopre -poor estimates in the planning phases and changes in scopre mid project were reported as top 2 reason for delays -You need to define so the cost or time the project will take can be estimated
Problems with Scope
-ambiguity (leads to unnecessary work and confusion) -Incomplete definition (cost overruns, needs to be complete!)
Project Stakeholders
-anyone who may impact the project and be impacted by the project -impacts can be positive or negative based on their points of view -can be an individual, group, or organization
high-level requirment types
-business requirements (stakeholder needs) -technical requirements (how to fulfill stakeholderneeds from a technical perspective
PMI phases of PM
-conception and initiation -definition and planning -launch or execution -performance and control -project close
Difference between images and containers
-containers are an instance of the image running anapp and each image can have multiple containers running an instance of it -containers last for a very short time, and are unable to change
Dockerfile
-contains all of the commands used to build images (and their respective layers) locally
Scope of project affected by:
-cost -schedule -quality -planning -procurement
cloud computing benefits
-cost -speed -global scale -productivity -performance -reliability -sustainability
What can you do with cloud computing?
-create new apps and services -store,back up, and recover data -host websites and blogs -stream audio and video -deliver software on demand -analyze data for patterns and make predictions
development or implementation for SDLC phase
-creating the system
Project Characteristics
-defined start and end not ongoing operations but may be turned over to operations after completion -both process and result are unique -initiated due to some triggering purpose -successful projects create new vaue that is demonstrated in the business case
Stakeholders involvement in collecting requirements
-discover needs and translation of needs into the requirements -must be carefully documented
Images
-docker images contain layers -Image layers contain all functionality required by containers
Cloud Characteristics
-elasticity: scalable up or down quickly based on demand -metered: pay only for what you use -self-service: reduced need for specialized IT staff
enterprise management
-enterprise managers use a single virtualization management layer
Project management office
-faciitate project work within organizations, helps project teams succeed by providing information on best practices and standards that help comply with the organizations needs and direct and flow project work strategically -may assign PMs to projects -serves as a resource for project teams
Open container initiative
-founded in june 2015 -lightweight governing council -standardize: format and runtime -vendor and platform neutral
Project Management team: what does the team do
-handles communication with stakeholders and with the actual project team that is doing the work -manages project scope, budget, schedule, risk, and quality -collects and catalogs project artifacts (project plans, documents and reports, policies and templates, meeting agendas, and diagrams and visualizations)
how to gather requirements
-interviews -observations -research -surveys -prototype
Stakeholder management
-key to project success -PM's must work to effectively engage stakeholders in the best interests of the project (convince stakeholders of the projects value to them and turn them into champions) -categorizing stakeholders in terms of common context, interest, or attitudes can help -**Anyone who believes your project will affect their interests can make themselves a stakeholder and will need managing
PMO: supporting
-low control they supply best practices, training, templates, etc -project information reporsitory after completion
What does Project Manager do?
-manage project requirements -address stakeholder needs -maintain communication -balance resource constraints
testing for SDLC phase
-minimizing errors/bugs -ensuring requirments are met
PMO: controlling
-moderate control -required compliance to methodologies/frameworks/goverance
Cloud computing: SPEED
-most cloud computing services are provided self service and on demand, so even vast amounts of computing resources can be provisioned in minutes, typically with just a few mouse clicks, giving businesses a lot of flexibility and taking the pressure off capacity planning
Features of *nix
-multiuser system -multitasking -building-block style applications
containers cont
-newer than virtualizations but not as mature as hypervisors -less overhead
Project charter: what happens when the sponsor signs off on it?
-project is officially initiated -PM can start bringing on resources to work on the project -Sponsor continues to be a champion for the project (ensures resources are allocated and usually has final approval on baselin completion and milestones)
The salience model: Urgency
-refers to the degree of effort the stakeholder is expectedto expend in creating or defending its 'stake' in the project
Firewalls
-restricts traffic to and from specified ports -Routers work very well at this most basic level ex: EC2 instances are not allowed to access any traffic on any ports
SDLC (Systems Development Life Cycle)
-second process used to manage the development of the IT artifact
Outside roles for the project team
-sellers, vendors, and contractors (procurement, outsourcings, and finished product implementation) -user and customer representatives may liaise with the project team and may be utilized to validate project results
PM authority for team
-some roles dont report to PM directly (database admin may assist on the project but report to their own functional lead and matrix organizations) -The structure of the organization will strongly impact the PM's ability to obtain and direct resources. Persuasion may be key to obtaining resources Project Sponsor may be able to assist
functional requirements
-specifies the software functionality that must be built -often grouped around features
Who is in the project team
-technical staff -non-technical staff -administrative support -supporting experts who help develop and execute project plans (may only contribute for a part of the project, may be full-time or as needed, etc)
Part-time project teams
-temporary portions of project -have other responsibilites than project -functional managers maintain control of resources -often found in Functionala organizations where members are usually doing ongoing non-project work
IaaS (Infrastructure as a Service)
-the most basic category of cloud computing services -your rent IT infrastructure froma cloud proivder on a pay-as-you-go basis: servers and virtual machines, storage, networks, and operating systems replace or augment in-house IT infrastructure ex: leasing a car
Cloud risks
-trust in the cloud provider -data issues: backups, loss, security, access -lock-in: lossof customization -unkown cost scenarios
Docker volumes
-used on docker to have persistent data -specifically designed directory in the container -initialized when container is created (not deleted when container is stopped) -volumes are independently updated -can be shared across containers
Copy-On-Write (COW)
-when containers need to change one of its files, it uses COW -A cop of the file be o be changed is copied from the image to the container r/w layer
Why does geolocation matter?
-working on a geographically distrubted team can be good because: 24 hr development cycle access to experts can have members near global suppliers/customers -virtual approach to work -cultural differences must be addressed -time issues (zones) -local conditions and standards -language barriers
Portfolio
-works to maximize value across all programs and projects -helps align projects and programs with top-level organizational objectives -standardive polices, procedures, resource allocations
Project Charter: who is involved
-written by the project sponsor but sometimes a project manager is brought in during the charter creation process (pm can be a valuable resource in putting together the charter and gives the PM valuable insight)
Linking containers
//Set up a server using redis $ docker run -d --name redis1 redis //Set up a client to connect using the redis tools $ docker run -it --link redis1:redis --name client1 redis sh //connect from the client to the server # redis-cli -h redis
Common ports
20 - FTP 21 - FTP 22 - SSL 23 - TELNET 25 - SMPT 53 - DNS 80 - HTTP 110 - POP3 443 - HTTPS
optimal team size
6-7 (bezos) many teamwork experts say the ideal is 5 and never above 10 8-9 people break into subteams US navy seals say 4 is optimal for combat missions
Requirements Traceability Matrix
A grid that links product requirements from their origin to the deliverables that satisfy them. identifies responsible stakeholder
private cloud
A private cloud refers to cloud computing resources used exclusively by a single business or organization.
hypervisor (cloud)
AKA Virtual Machine Monitor (VMM) A hypervisor or virtual machine monitor (VMM) is computer software, firmware or hardware that creates and runs virtual machines. A computer on which a hypervisor runs one or more virtual machines is called a host machine. Each virtual machine is called a guest machine.
Dedicated Project Teams
All or a majority of the team works full-time on a project May be co-located or use virtual communication tools Team members typically report to the PM Clear lines of authority exist Usually seen in Projectized organizations where projects are common and many may be ongoing at once.
docker push
After creating a Docker Hub account you can then push your image to a repository: docker login docker push username/repository
Stakeholder identification
Begins early in the project One of 2 initiating processes Continues throughout the project Must understand the relative influence of stakeholders!
System Development Life Cycle (SDLC)
Classic Waterfall Spiral New Waterfall Prototyping Build it and Fix it Staged Delivery Evolutionary Delivery Design to Schedule Design to Tool Buy off the shelf (COTS)
cloud computing: RELIABILITY
Cloud computing makes data backup, disaster recovery, and business continuity easier and less expensive, because data can be mirrored at multiple redundant sites on the cloud provider's network.
cloud computing: SUSTAINABILITY
Cloud computing makes software upgrades easier as your data is already stored in the cloud.
working with cloud computing
Cloud computing services all work a little differently, depending on the provider. Many provide a friendly, browser-based dashboard that makes it easier for IT professionals and developers to order resources and manage their accounts. Some cloud computing services are also designed to work with REST APIs and a command-line interface (CLI)
PaaS (Platform as a Service)
Cloud computing services that supply an on-demand environment for developing, testing, delivering, and managing software applications. PaaS is designed to make it easier for developers to quickly create web or mobile apps, without worrying about setting up or managing the underlying infrastructure of servers, storage, network, and databases needed for development. Pay only for the resources used Operates ON TOP of Iaas AWS Elastic Beanstalk, Azure App Service, Google App Engine, Heroku ex: using a taxi
Major SDLC phases
Concept/Preliminary Analysis requirements design development or implementation testing deploy
Project Sponsor
Could be in the project management office or an individual sponsor (manager, director, c-level) must be able to commit resources and funding to the project (have control and authority) signs off onthe Project Charter
Negative attitude stakeholders: trip wire
Insignificant, passive, blocker. Low power, low interest, negative attitude. They need to be understood so you can 'watch your step' and avoid 'tripping up'.
SaaS (Software as a Service)
Delivering software applications over the Internet, on demand and typically on a subscription basis. Cloud providers host and manage the software application and underlying infrastructure, and handle any maintenance, like software upgrades and security patching. Users connect to the application over the Internet, usually with a web browser on their phone, tablet, or PC. Gmail, Box, Netflix, etc Salesforce.com: Over $8 billion in 2017 EX: using a bus
design for SDLC phase
Describes desired features and operations in detail. User interface Processes Information architecture
Hosting on AWS
EC2
virtual hardware
Each VM is allocated: Virtual CPUs Virtual memory Virtual disk/HDD Single file Virtual Network Overcommitment issues Optimization techniques: Shared resources, swap files, etc Resource consumption rarely is maxed out
Issues with virtualization
Each VM requires own OS and related baggage Duplicated OS resources! Larger attack surface Extra licenses? Admin time for Maintenance Patching Updating
Cache on AWS
Elasticache
virtual machine
Encapsulated operating systems running on top of the virtualization layer/hypervisor Composed of the application(s) running and a COMPLETE running copy of the OS Can be started/stopped/copied/migrated Hardware independent! Portable
hypervisor types: type 2
Loaded as an app on top of another OS Vmware Fusion or Workstation Parallels Oracle VM More limited than Type 1 as host OS takes resources
concept/preliminary analysis for SDLC phase
Gathering information to help understand the big picture Find out the organization's objectives and the nature and scope of the problem under study. Propose solutions You can also study what competitors are doing Stakeholder interviews Describe the costs and benefits of the solutions
requirements for SDLC phase
Gathering pertinent information that translates project goals into specific, actionable or measurable parameters Determine: Features Restrictions Platform/technologies User interaction needs
complexitis of virtualization
Greater demand on resources More monitoring required More competition for storage Potential for higher latency Troubleshooting complexities
Networking: Ports
How do we manage communication when we have multiple applications accessing the network at the same time? Email File transfer Web surfing Gaming Answer: 65,536 virtual connection points in memory for both TCP and UDP These virtual connection points are called ports
hypervisor types: type 1
Loaded directly onto the hardware Replaces traditional OS ESXi HYPER-V
AWS: S3
Internet accessible storage via http/https Audio, video, images, backup, etc Great for web assets! Unlimited bucket size Up to 5TB per object Priced on storage and transfer out Not a file system - its a bucket! Don't map it 99.999999% durability
Virtualization for cloud
In computing, virtualization refers to the act of creating a virtual (rather than actual) version of something, including virtual computer hardware platforms, storage devices, and computer network resources. Almost 20 years old!
positive attitude stakeholders: Saviour
Influential, active, backer. Powerful, high interest, positive attitude. They need to be paid attention to; you should do whatever necessary to keep them on your side.
Negative attitude stakeholders: terrorist
Influential, active, blocker. Powerful, high interest, negative attitude. They need to be engaged in order to disengage. You should be prepared to 'clean-up after them'.
positive attitude stakeholders: sleeping giant
Influential, passive, backer. Powerful, low interest, positive attitude. They need to be engaged in order to awaken them.
Negative attitude stakeholders: Time Bomb
Influential, passive, blocker. Powerful, low interest, negative attitude. They need to be understood so they can be 'defused before the bomb goes off'.
types of cloud services
Infrastructure as a Service (IaaS) Platform as a Service (PaaS) Software as a Service (SaaS)
Process groups for PM
Initiation: "Authorize the work" Planning: "Plan the Work" Executing: "Work the Plan" Monitoring and Controlling: "Control the Plan" Closing: "End the Work"
positive attitude stakeholders: friend
Insignificant, active, backer. Low power, high interest, positive attitude. They should be used as a confidant or sounding board.
Negative attitude stakeholders: irritant
Insignificant, active, blocker. Low power, high interest, negative attitude. They need to be engaged so that they stop 'eating away' and then be 'put back in their box'.
positive attitude stakeholedrs: acquaintance
Insignificant, passive, backer. Low power, low interest, positive attitude. They need to be kept informed and communicated with on a 'transmit only' basis.
PMO functions
Maintain standards and practices Curates tools and templates Archives project documents and artifacts Develops KPIs and metrics Define governance policies Coordinate overall resources Establish deliverables Measure aggregate performance of projects
How does a PM do things?
Many different methodologies of Project Management exist: Traditional (Waterfall) AgilePM Process-Based methodologies PMI/PMBOK ... Every organization will have it's own style/process for PM!
Agile Development
Many organizations have moved away from these traditional methodologies for a variety of reasons and embraced Agile methodologies such as Scrum. As of 2011 the US Government requires use of agile methodologies for all DoD projects
the pmi approach to pm
Methodologically neutral You can use any SDLC to do the work! Identifies the 5 process groups that constitute the life cycle of any project.
cloud computing: PRODUCTIVITY
On-site datacenters typically require a lot of "racking and stacking"—hardware set up, software patching, and other time-consuming IT management chores. Cloud computing removes the need for many of these tasks, so IT teams can spend time on achieving more important business goals.
Stakeholder needs
One of the jobs of a PM is to balance the needs and demands of the project with the expectations of the various stakeholders It is impossible to meet each and every stakeholder demand! Dropping a desired feature due to cost/time constraints Some stakeholders may not want a new system and resist change Failure in this balancing act can lead to: Delays Cost increases Unanticipated issues Project cuts/cancellation
Docker commit
One way to save an image of a container where you have made some changes is use the docker commit command docker commit containerid repository For example: docker commit container1 mhottell/webserver
Securing resources as a PM
PM's must often exercise "soft power" to get resources. Despite having the authority to do so, PMs should be careful not to step on toes. Securing resources is directly entwined with stakeholder management!
PM vs SDLC
Project Management is used to manage the entire project from inception/start to closeout/end.
Relational Data on AWS
RDS
Web assets on AWS
S3
types of virtualization (cloud)
Server Storage Network Desktop I/O Application
Project Management Plan
Serves as the central guide to project management Builds on foundation of the Project Charter Most comprehensive guide to how a project should unfold and what it should accomplish Plan contents will vary depending on project complexity and focus Provides detail related to process execution and project life cycle considerations Describes how decisions will be made and issues will be resolved
Project Schedulers
Specialize in developing, communicating, and maintaining project schedules
PMI knowledge groups
The 10 Knowledge Groups combined contain 49 processes that help manage your project Each process is highly interactive with other processes in and outside of their knowledge area
Project Management
The application of knowledge, skills, tools, and techniques to project activities to meet project requirements
cloud computing: PERFORMANCE
The biggest cloud computing services run on a worldwide network of secure datacenters, which are regularly upgraded to the latest generation of fast and efficient computing hardware. This offers several benefits over a single corporate datacenter, including reduced network latency for applications and greater economies of scale.
Ports
The physical input/output interfaces to the networking hardware
Benefits of Virtualization
Time and money saved Lowering datacenter and administrative costs Improving availability Improving data protection and disaster recovery Reducing energy consumption Increasing business agility
Project Integration Management
Unifies a project by bringing together disparate processes Consolidates issues by bringing them to the table to be considered as a whole Balancing constraints Integrates decision making Communicates all of the different pieces of the project to all parties
top public cloud providers
amazon aws microsoft azure google cloud
Project coordinators
assist the PM in some specific duties
What is arguably the most important part of project management?
collecting requirements and planning -the process of determining, documenting, and managing stakeholders needs and requirements to meet project objectives
Project scope management
detailed set of deliverables or features of a project. These deliverables are derived from a project's requirements.
Cloud computing: COST
eliminates the capital expense of buying hardware and software and setting up and running on-site datacenters -server racks -round-the-clock electricity for power and cooling -IT experts for managing the infrastructure
Image layers
first layer is called the base image: -usually the image that gives us the app environment (web server, linux or windows shell, etc) Each layer represents a change or addition to that layer: -adding more images for functionality -configuration commands -moving in app files -etc Images can be downloaded and run or built locally images and layers are named by their digest (usually SHA256 hash) -format is algorithm:hex
What is a program?
grouping of projects that are related in some fashion -the project are grouped in order to take advantage of more efficient management and shared resources -focus on interrelated projects -finds optimal strategy for accomplishing several projects
nonfunctional requirements
how easy software is to use, how quickly it executes, how reliable it is, etc
top cloud computing providers
microsoft Azure amazon aws IBM salesforce SAP
Project charter: internal projects
might define how the projectwill affect the exectuvie ream (recipient), final users, operations)
Runtime volume mounting
mounting a volume when we run a container: $ docker run -it -v /datavol --name containername imagename /datavol is the name of the volume's directory in the container filesystem /host is the directory on the host you want to mount
deploy for SDLC phase
moving the system into production
Cloud Computing
on-demand delivery of computing services over the internet ("the cloud") -servers, storage, databases, networking, software, analytics, and more "an approach to computing that leverages the efficient pooling of an on-demand, self-managed, virtual infrastructure"
Docker
open source, apache license 2.0 github.com/docker written in Go
relative path
path relative to current working directory
types of cloud deployments
public private hybrid
The salience model: legitimacy
refers to whether the stakeholder is in actuality a stakeholder or not. (not supported by the PMI and attitude missing)
docker commit
save an image of a container where you have made some changes: docker commit containerid [mhottell/webserver]
Cloud computing: GLOBAL SCALE
the benefitsof cloud computing services include the ability to scale elastically. Meaning, delivering the right amount of IT resources, right when its needed and from the right geographic locaation. For example more or less computing power, storage, badnwdith
UNIX
written in C