AWS Documentation (7) (NEW)

Download as pdf or txt
Download as pdf or txt
You are on page 1of 54

INDUSTRIAL TRAINING REPORT

ON
DEVOPS &
AMAZON WEB SERVICE (AWS)
AT
SV GLOBAL SERVICES INDIA PRIVATE
LIMITED
SUBMITTED IN PARTIAL FULFILLMENT OF THE
REQUIREMENT FOR THE AWARD OF DIPLOMA
IN
COMPUTER SCIENCE ENGINEERING
By
N MYTHILI (22266-CS-001)
G NAVEENA (22266-CS-002)
MUSKAN BEGUM (22266-CS-017)
P VENKATESH (22266-CS-026)
THATIPARTHI SAHITHI (22266-CS-049)
MAKTUMKARI NIKHIL (22266-CS-050)
THALLA KARTHIK GOUD (22266-CS-022)
Under the Guidance Of
Mrs. ANEES SULTANA
Head of the department, CSE Dept

JAYAPRAKASH NARAYAN COLLEGE OF


ENGINEERING
(Approved by AICTE, Affiliated to SBTET, Hyderabad) Dharmapur,
Mahabubnagar -509001, Telangana State India.

1|Page
JAYAPRAKSH NARAYAN COLLEGE OF ENGINEERING
DEPARTMENT OF
COMPUTER SCIENCE AND ENGINEERING

CERTIFICATE
This is to certify that the project entitled “INDUSTRIAL
TRAINING REPORT” has been carried out by
N MYTHILI (22266-CS-001)
G NAVEENA (22266-CS-002)
MUSKAN BEGUM (22266-CS-017)
P VENKATESH (22266-CS-026)
THATIPARTHI SAHITHI (22266-CS-049)
MAKTUMKARI NIKHIL (22266-CS-050)
THALLA KARTHIK GOUD (22266-CS-022)

In partial fulfilment for the award of DIPLOMA IN COMPUTER


SCIENCE ENGINEERING to the STATE BOARD OF TECHNICAL
EDUCATION AND TRAINING, Hyderabad at 2nd SHIFT Jayaprakash Narayan
College Of Engineering, Mahabubnagar during the Academic year
2024

HEAD OF THE DEPARTMENT PROJECT GUIDE


Mrs. Swathi Mrs . ANEES Sultana
(Professor) (Lecturer)
Dept. of Computer Science Dept. of Computer Science
Engineering Engineering
JAYAPRAKASH NARAYAN JAYAPRAKASH NARAYAN
COLLEGE OF ENGINEERING COLLEGE OF ENGINEERING
Mahabubnagar Mahabubnagar

INTERNAL EXAMINAR EXTERNAL EXAMINAR

2|Page
ACKNOWLEDGEMENT

My Sincere Thanks to MR. DONIKENA RAJESH [B.tech, M.Tech, MBA,


PGDBM], Director of SV GLOBAL SERVICES INDIA PVT LTD, for his
guidance and support in all the areas of Work Environment.

My sincere thanks to MRS.Swathi, Head of the Department, Computer


Science Engineering, Jayaprakash Narayan college of engineering & all the
faculty of the Department for the encouragement and guidance provided.

I would like to express our thankfulness to MRS. Anees Sultana, for her
constant motivation and valuable help through the report writing.

I am also thankful and fortunate enough to get constant encouragement,


support and guidance from all the lecturers MR. T. NITESH, who helped us
successfully complete out Industrial Training

We the Undersigned declare that the Project Report entitled


“INDUSTRIAL TRAINING REPORT” written and submitted by us in an
original work done under the guidance of Mr. T. NITESH. The matter here
in is not reproduced from any other source.

N MYTHILI (22266-CS-001)
G NAVEENA (22266-CS-002)
MUSKAN BEGUM (22266-CS-017)
P VENKATESH (22266-CS-026)
THATIPARTHI SAHITHI (22266-CS-049)
MAKTUMKARI NIKHIL (22266-CS-050)
THALLA KARTHIK GOUD (22266-CS-022)

3|Page
4|Page
5|Page
6|Page
CONTENTS
1. INTRODUCTION

1.1 INTRODUCTION ABOUT INDUSTRY


TRAINING
1.2 INTRODUCTION ABOUT COMPANY

2. AWS (AMAZON WEB SERVICE)

2.1 AWS (AMAZON WEB SERVICES)


2.2 INTRODUCTION TO AWS
2.3 LINUX COMMANDS
2.4 WEB HOSTING
2.5 LINUX FLAVOURS
2.6 WEB HOSTING
2.7 INTRODUCTION TO IAM
2.8 POLICIES
2.9 MFA
2.10 R-53
2.11 PC

7|Page
3.DEVOPS

3.1 INTRODUCTION TO DEVOPS


3.2 GIT AND GITHUB
3.3 JENKINS
3.4 DOCKER
3.5 SDLC
3.6 WATERFALL MODEL
3.7 AGILE METHOD
3.8 SCRUM
3.9 KANBAN
3.10 SCRUMBAN

4. PROJECT

4.1 WEB HOSTING


4.2 SUBNETTING
4.3 LOAD BALANCER.

8|Page
CHAPTER 1:

INTRODUCTION

1.1 INTRODUCTION TO INDUSTRIAL


TRAINING:
In today’s world, merely having a degree is no guarantee
of employment, nor is it a reliable indicator of the
individual’s competence in a job. Rather, graduates must have
current and relevant knowledge, practical experience, soft
skills and a positive attitude to allow them to be competitive
in the job market. They must possess the necessary
knowledge and skills before they go out into the working
world. In line with this, the Industrial Training component of
the undergraduate program constitutes a vital component in
the drive to strengthen the key competencies required to
improve the graduates’ ability to work.
Industrial Training refers to a program which aims to provide
supervised practical training within a specified timeframe.
This training can be carried out either in government
organizations or in the private sector.
The main aim of the Industrial Training program is to produce
graduates who are ready to face the working world. The
program also aims to produce the knowledgeable, skilled and
experienced graduates, demanded by employers, who are able
to apply the knowledge acquired at university to the working
world. The Industrial Training program provides
opportunities for exposure to the working World, which will
make graduates more aware of the hopes and expectations

9|Page
that industry has of them. The program will also equip
students with real work experience. Placing students in
industry also increases their chances of employment after
graduation, as there is a strong possibility that they will be
offered a job in the same place where they do their training.
Apart from this, the training experience will further solidify
the on-campus learning process and activities, while also
providing students with relevant work experience.

1.2 Introduction about company

SV GLOBAL SERVICES OPC PVT LTD

ABOUT US

SV GLOBAL SERVICES- SVGS is Incorporated in 2016 is known for


its integrated curriculum with equal importance to academics,
employable skills.
SVGS Institute of Technology is located at Hyderabad, Telangana &
Vizg, Andhra Pradesh, India. The institution was started in 2016 by
the BMS Education Services, headed by Mr. Donikena Rajesh. The

10 | P a g e
Institute has Six UG courses Training along with Seven PG Courses
Training. The Institute is affiliated by AICTE.
SVGS conducting training programs for various software fields &
provides certificate for both individuals and organizations. We have
built a strong reputation to provide an excellent services to
individuals with a team of fully qualified professionals.SV GLOBAL
SERVICES designs and develops stateof-the-art combat training
solutions for the training. We’re serving to All Technical Students
with Quality Education.
(ISO-9001:2015) company IEEE Certified
in Robotics

Our Vision
Promote Academic Excellence, Research, Innovation And
Entrepreneurial Skills To Produce Graduates With Human Values And
Leadership Qualities To Serve The Nation.
Our mission
To Enrich the knowledge of graduate engineers for global requirements
by promoting quality education though innovative pedagogical
practices

Code of conduct
Confidentiality:

We give great preference to confidentiality. Any information shared


with us during any assignment remains confidential and is not
disclosed to any third party. We ensure that both the parties are
immediately informed of any conflict of interests or the slightest
possibility of the same between clients.

Communication:

11 | P a g e
We maintain transparency in our communication both with client and
candidates. Information to client is provided clearly if we find a
particular assignment is within our capabilities/focus or not.
Agreement is made about the professional fees for the executive search
with the client prior to the commencement of the project.

Quality:
Quality plays a crucial role in the services we provide. We never
encourage unsolicited profiles nor send them to client from our end.
From the date of joining, for one year we provide any openings to the
candidate provided if the client requests us for outplacement of the
candidate always we represent our client during salary negotiations, but
being fair with the candidate at the same time

CHAPTER 3:

AWS (amazon web services)


3.1 Introduction to AWS:

In 2006, Amazon Web Services (AWS) began offering


IT infrastructure services to businesses as web services—now
commonly known as cloud computing. One of the key
benefits of cloud computing is the opportunity to replace
upfront capital infrastructure expenses with low variable costs
that scale with your business. With the cloud, businesses no
longer need to plan for and procure servers and other IT
infrastructure weeks or months in advance. Instead, they can
instantly spin up hundreds or thousands of servers in minutes
and deliver results faster.

12 | P a g e
What are the services provided by AWS?
• Each type of service in this “What is AWS” blog, is
categorized under a domain, the few domains which are
widely used are:
• Compute Storage
• Database
• Migration.
• Network and Content Delivery Management Tool

13 | P a g e
Steps to create an AWS account:-

• Open the Amazon Web Services home page.


• Choose Create an AWS account.
Note:
If you signed in to AWS recently, that option might not
be there. Instead, choose Sign in to the Console. Then, if
Create a new AWS account still isn't visible, first choose
Sign in to a different account, and then choose Create a
new AWS account.
• Enter your account information, and then choose Verify
email address. This will send a verification code to your
specified email address.

Important:
Because of the critical nature of the AWS account
root user of the account, we strongly recommend that
you use an email address that can be accessed by a
group, rather than only an individual. That way, if the
person who signed up for the AWS account leaves the
company, the AWS account can still be used because the
email address is still accessible.
• If you lose access to the email address associated with
the AWS account, then you can't recover access to the
account if you ever lose the password.
Enter your verification code, and then choose Verify.

14 | P a g e
• Enter a strong password for your root user, confirm it,
and then choose Continue. AWS requires that your
password meet the following conditions:
• It must have a minimum of 8 characters and a maximum
of 128 characters.
• It must include a minimum of three of the following mix
of character types: uppercase, lowercase, numbers, and,
‘! @ # $ % ^ & * () <> [] {} | _+-=’ symbols.
• It must not be identical to your AWS account name or
email address.

• Choose Business or Personal. Personal accounts and


business accounts have the same features and functions.

• Enter your company or personal information.


Important:
For business AWS accounts, it's a best practice to
enter:
• A company phone number rather than a number for a
personal phone.
• An e-mail address with a domain name that belongs to
the company or organization that will be using the
account.
• Configuring the account's Using the AWS account root
user with an individual email address or a personal
phone number can make your account insecure.

15 | P a g e
Read and accept the AWS Customer Agreement. Be sure
that you read and understand the terms of the AWS
Customer Agreement.
• Choose Continue. At this point, you'll receive an email
message to confirm that your AWS account is ready to
use. You can sign in to your new account by using the
email address and password you provided during sign
up. However, you can't use any AWS services until you
finish activating your account.
• Enter the information about your payment method, and
then choose Verify and Continue. If you want to use a
different billing address for your AWS billing
information, choose Use a new address.
• You can't proceed with the sign-up process until you add
a valid payment method.
• Enter your country or region code from the list, and then
enter a phone number where you can be reached in the
next few minutes.
• Enter the code displayed in the CAPTCHA, and then
submit.
• When the automated system contacts you, enter the PIN
you receive and then submit.
• Select one of the available AWS Support plans. For a
description of the available Support plans and their
benefits, see Compare AWS Support plans.
• Choose complete sign up. A confirmation page appears
that indicates that your account is being activated.

16 | P a g e
• Check your email and spam folder for an email message
that confirms your account was activated. Activation
usually takes a few minutes but can sometimes take up
to 24 hours.
After you receive the activation message, you have full
access to all AWS services.

3.2 Linux commands in AWS:

1. ls – shows the list of files.


2. Cd filename – to open or move the folders.
3. mkdir filename - to create a folder.
4. touch filename - to create a file.
5. vi filename - to create a file & open a file.
6. I - used for inserting.
7. Save file - press escape colon (:) WQ.
8. cat filename - to know the content.
9. Nano - it is a command used to open the file.
10. LATR - shows the hidden files.
11. LL - shows the list of files briefly.
12. Pwd – Pwd (present working directory) shows the path
of current working directory.
13. Touch filename - used to create the no. of files in same
folder.
14. RM filename - delete the file.
15. MV old file to new file - to remove the file.
16. CP one file to another file - To copy the content in one
file to another file.
17. Cat filename - enter
18. Cd - goes to previous folder.
19. Cd ~ - which directly goes to home

17 | P a g e
20. YUM - play store in AWS.
21. YUM update – to update.
22. YUM install git – to install the git.
23. Service app name start – to start a services.

24. History - to know the history.


25. Clear - will clear the screen.
26. Bash - used to refresh.

18 | P a g e
3.3 Yum software :

Yum is a software package management utility used in many


popular Linux distributions, including fedora and centos. Yum is
a front-end for the RPM package manager, meaning that it
manages packages in the .rpm file format.
“yum” is an acronym that stands for yellowdog updates modified.
A package is usually a software application but the term can also
encompass other items such as documentation, source code, and
extra levels for games. Packages management is a term used to
describe the processes of adding, removing, and updating
software on a computer.

3.3 Linux flavours:


Amazon Linux
CentOS
Debian
Kali
Red Hat
SUSA
Ubuntu

3.4 Web hosting:


A web hosting service is a type of internet hosting service
that hosts websites for clients i.e. it offers the facilities required
for them to create and maintain a site and makes it accessible on
the World Wide Web (www). Companies providing web hosting
services are sometimes called web hosts.

Start hosting a web site in 5 steps:

19 | P a g e
Educate yourself
Choose a provider
Pick your plan
Enter your domain
Choose your package
3.6 Introduction to IAM:
AWS Identity and Access Management (IAM) is a web
service that helps to securely control access to AWS resources.
With IAM, we can centrally manage permissions that control
which AWS resources users can access. It creates for individuals
within an AWS account to have controlled access. Assigned
specific permissions and policies. It provides principle of teats
privilege. It follows the principle of granting least privileges.

3.7 Policies:
A policy is an object in AWS that, when associated with an
entity or resource, defines their permissions. AWS evaluates these
policies when a principal, such as a user, makes a request.
Permissions in the policies determine whether the request is
allowed or denied. Most policies are stored in AWS as JSON
documents.

3.8 MFA:
AWS multi-factor authentication (MFA) is an AWS Identity
and Access Management (IAM) best practice that requires a second
authentication factor in addition to user name and password sign-
in credentials. You can enable MFA at the AWS account level for
root and IAM users you have created in your account.

3.9 CIDR blocks:

20 | P a g e
Classless inter domain routing (CIDR) is an IP address allocation
method that improves data routing efficiency on the internet.
Every machine, server, and end-user device that connects to the
internet has a unique number, called an IP address, associated
with it. Devices find and communicate with one another by using
these IP address. Organizations use CIDR to allocate IP addresses
flexibly and efficiently in their networks.

3.10 R-53:
Amazon Route 53, part of the Amazon Web Services (AWS)
cloud computing platform from Amazon.com normally referred
to as AWS Route 53, is a highly available, scalable Domain Name
System (DNS) service. The AWS Route 53 DNS service connects
user requests to ELB load balancers, Amazon EC2 instances,
Amazon S3 buckets, and other infrastructure running on AWS.

3.11 VPC:

• VPC stands for Virtual Private Cloud.


• Amazon Virtual Private Cloud (Amazon VPC) provides a
logically isolated area of the AWS cloud where you can launch
AWS resources in a virtual network that you define.

21 | P a g e
• It can complete control over the virtual networking environment,
including a selection of the IP address range, the creation of
subnets, and configuration of route tables and network gateways.
• It can easily customize the network configuration of the Amazon

Virtual Private Cloud. For example, you can create a public


facing Subnet for web servers that can access to the internet and
can also place your backend system such as databases or
application servers to a private-facing subnet.

• It can provide multiple layers of security, including security


groups and network access control lists, to help control access to
Amazon EC2 instances in each subnet.

22 | P a g e
CHAPTER 4:
DevOps
4.1 Introduction to DevOps:

● DevOps is an amalgamation of "development" and "operations",


represents a transformative approach to software development and

23 | P a g e
IT operations. It emphasizes collaboration, communication, and
integration between traditionally soloed teams, aiming to
streamline the software delivery process and improve overall
organizational performance.

● In today's fast-paced digital landscape. DevOps has emerged as a


cornerstone of modern software development practices,
empowering teams to innovate faster, respond to market changes
more effectively, and drive business success.

● DevOps goes beyond continuous integration and continuous


delivery to enable near-instantaneous deployment of products and
services in the cloud.

● DevOps can be best explained as people working together to


conceive, build and deliver secure software at top speed.

24 | P a g e
CI-CD Pipeline:
• A continuous integration and continuous deployment
(CI/CD) pipeline is a series of steps that must be
performed in order to deliver a new version of software.
CI/CD pipelines are a practice focused on improving
software delivery throughout the software development
life cycle via automation.

• By automating CI/CD throughout development, testing,


production, and monitoring phases of the software
development lifecycle, organizations are able to
develop higher quality code, faster and more securely.
Although it’s possible to manually execute each of the
steps of a CI/CD pipeline, the true value of CI/CD
pipelines is realized through automation.

CI (continuous integration):
• Continuous integration is the practice of integrating all
your code changes into the main branch of a shared
source code repository early and often, automatically
testing each change when you commit or merge them,
and automatically kicking off a build. With continuous
25 |
Page
integration, errors and security issues can be identified
and fixed more easily, and much earlier in the
development process.
• By merging changes frequently and triggering
automatic testing and validation processes, you
minimize the possibility of code conflict, even with
multiple developers working on the same application. A
secondary advantage is that you don't have to wait long
for answers and can, if necessary, fix bugs and security
issues while the topic is still fresh in your mind.
• Common code validation processes start with a static
code analysis that verifies the quality of the code. Once
the code passes the static tests, automated CI routines
package and compile the code for further automated
testing. CI processes should have a version control
system that tracks changes so you know the version of
the code used.

CD (continuous delivery):
• Continuous delivery is a software development practice
that works in conjunction with CI to automate the
infrastructure provisioning and application release
process.
• Once code has been tested and built as part of the CI
process, CD takes over during the final stages to ensure
it's packaged with everything it needs to deploy to any
environment at any time. CD can cover everything from

26 |
Page
provisioning the infrastructure to deploying the
application to the testing or production environment.
• With CD, the software is built so that it can be deployed
to production at any time. Then you can trigger the
deployments manually or move to continuous
deployment, where deployments are automated as well.

4.2 GIT and GitHub:

• Git is the most popular distributed version control


system. Git is commonly used for both open source and
commercial software development, with significant
benefits for individuals, teams and businesses.

• Git lets developers see the entire timeline of their


changes, decisions, and progression of any project in
one place. From the moment they access the history of
a project, the developer has all the context they need to
understand it and start contributing.
• Developers work in every time zone. With a DVCS like
Git, collaboration can happen any time while
maintaining source code integrity. Using branches,
developers can safely propose changes to production
code.

27 |
Page
• GitHub hosts Git repositories and provides developers
with tools to ship better code through command line
features, issues (threaded discussions), pull requests,
code review, or the use of a collection of free and for-

28 |
Page
purchase apps in the GitHub Marketplace. With collaboration
layers like the GitHub flow, a
community of 100 million developers, and an ecosystem with
hundreds of integrations, GitHub changes the way software is
built.
• GitHub builds collaboration directly into the development
process. Work is organized into repositories where developers can
outline requirements or direction and set expectations for team
members. Then, using the GitHub flow, developers simply create
a branch to work on updates, commit changes to save them, open
a pull request to propose and discuss changes, and merge pull
requests once everyone is on the same page. For more
information, see "GitHub flow."

4.3 Jenkins:
• Jenkins is an open source continuous integration/continuous
delivery and deployment (CI/CD) automation software DevOps
tool written in the Java programming language. It is used to
implement CI/CD workflows, called pipelines.
• Pipelines automate testing and reporting on isolated changes in a
larger code base in real time and facilitates the integration of
disparate branches of the code into a main branch. They also
rapidly detect defects in a code base, build the software, automate
testing of their builds, prepare the code base for deployment
(delivery), and ultimately deploy code to

29 | P a g e
• Containers and virtual machines, as well as bare metal and cloud
servers. There are several commercial versions of Jenkins. This
definition only describes the upstream Open Source project.

4.4 Docker:

• Docker is an open platform for developing, shipping, and running


applications. Docker enables you to separate your applications
from your infrastructure so you can deliver software quickly. With
Docker, you can manage your infrastructure in the same ways you
manage your applications. By taking advantage of Docker's
methodologies for shipping, testing, and deploying code, you can
significantly reduce the delay between writing code and running it
in production.

• Docker streamlines the development lifecycle by allowing


developers to work in standardized environments using local
containers which provide your applications and services.
Containers are great for continuous integration and continuous
delivery (CI/CD) workflows.
Docker containers that run on Docker Engine:

• Standard: Docker created the industry standard for containers, so


they could be portable anywhere

30 | P a g e
• Lightweight: Containers share the machine’s OS system kernel
and therefore do not require an OS per application, driving higher
server efficiencies and reducing server and licensing costs
• Secure: Applications are safer in containers and Docker provides
the strongest default isolation capabilities in the industry

4.5 SDLC (software development life cycle):

• Software development life cycle (SDLC) is a structured process


that is used to design, develop, and test good-quality software.
SDLC, or software development life cycle, is a methodology that
defines the entire procedure of software development step-bystep.

• The goal of the SDLC life cycle model is to deliver high-quality,


maintainable software that meets the user’s requirements. SDLC
in software engineering models outlines the plan for each stage so
that each stage of the software development model can perform

31 | P a g e
its task efficiently to deliver the software at a low cost within a
given time frame that meets users requirements

• SDLC specifies the task(s) to be performed at various stages by a


software engineer or developer. It ensures that the end product is
able to meet the customer’s expectations and fits within the
overall budget. Hence, it’s vital for a software developer to have
prior knowledge of this software development process. SDLC is a
collection of these six stages, and the stages of SDLC are as
follows:
Planning:

• The planning phase typically includes tasks like costbenefit


analysis, scheduling, resource estimation, and allocation. The
development team collects requirements from several
stakeholders such as customers, internal and external experts, and
managers to create a software requirement specification
document.
• The document sets expectations and defines common goals that
aid in project planning. The team estimates costs, creates a
schedule, and has a detailed plan to achieve their goals.

Designing:

• In the design phase, software engineers analyse requirements and


identify the best solutions to create the software. For example,
they may consider integrating pre-existing modules, make
technology choices, and identify development tools. They will

32 | P a g e
look at how to best integrate the new software into any existing IT
infrastructure the organization may have.

Development:

• In the development phase, the development team codes the


product. They analyse the requirements to identify smaller coding
tasks they can do daily to achieve the final result.

Testing:

• The development team combines automation and manual testing


to check the software for bugs. Quality analysis includes testing
the software for errors and checking if it meets customer
requirements. Because many teams immediately test the code they
write, the testing phase often runs parallel to the development
phase.

Pre-production (UAT):

• When teams develop software, they code and test on a different


copy of the software than the one that the users have access to.
The software that customers use is called production, while other
copies are said to be in the build environment, or testing
environment.
• Having separate build and production environments ensures that
customers can continue to use the software even while it is being
changed or upgraded. The deployment phase includes several
tasks to move the latest build copy to the production environment,
such as packaging, environment configuration, and installation.
Production:

33 | P a g e
• In the production phase, among other tasks, the team fixes bugs,
resolves customer issues, and manages software changes. In
addition, the team monitors overall system performance, security,
and user experience to identify new ways to improve the existing
software.

4.6 Waterfall model:


The Waterfall Model is a linear application development model
that uses rigid phases: When one phase ends, the next begins.
Steps occur in sequence, and, if unmodified, the model does not
allow developers to go back to previous steps.


The Waterfall model is the earliest SDLC approach that was used
for software development. The waterfall Model illustrates the
software development process in a linear sequential flow. This
means that any phase in the development process begins only if
the previous phase is complete. In this waterfall model, the phases
do not overlap.

34 | P a g e
Drawbacks of Waterfall model:

• However, the waterfall model has drawbacks, including its


inflexibility and lack of revision

• Opportunities. Some specific concerns include the following:

• Design flaws, when discovered, often mean starting over

• It doesn’t incorporate mid-process feedback from users or clients


and makes changes based on results

• Delaying the testing until the end of development is common

• There’s no consideration for error correction

• The model doesn’t accommodate changes, scope adjustments, and


updates well

• Work on different phases doesn’t overlap, which reduces the


efficiency

• Projects don’t produce a working product until later stages

• Not an ideal model to use for complex and high-risk projects

4.7 Agile Methodology:

35 | P a g e
• Agile methodology is a project management framework that
breaks projects down into several dynamic phases, commonly
known as sprints.

• The Agile framework is an iterative methodology. After every


sprint, teams reflect and look back to see if there
was anything that could be improved so they can adjust their
strategy for the next sprint.

• There's a reason why they call it the agile methodology. One of


the main benefits of using agile processes in software
development is the ability to shift strategies quickly, without
disrupting the flow of a project.

• Because phases in the traditional waterfall method flow into one


another, shifting strategies is challenging and can disrupt the rest
of the project roadmap. Since software development is a much
more adaptable field, project managing rapid changes in the
traditional sense can be challenging. This is part of the reason
why agile project management is favoured in software
development.

36 | P a g e
The 12 agile principles:

• The four values of Agile are the pillars of agile methodology.


From those values, the team developed 12 principles.
• If the four values of Agile are the weight-bearing pillars of a
house, then these 12 principles are the rooms you can build within
that house. These principles can be easily adapted to fit the needs
of your team. The 12 principles used in Agile methodology are:

37 | P a g e
38 | P a g e
4.8 Scrum:

• Scrum is a management framework that teams use to


selforganize and work towards a common goal. It
describes a set of meetings, tools, and roles for
efficient project delivery. Much like a sports team
practicing for a big match, Scrum practices allow
teams to self-manage, learn from experience, and
adapt to change. Software teams use Scrum to solve
complex problems cost effectively and sustainably.

Scrum Events:
• Scrum events or Scrum ceremonies are a set of
sequential meetings that Scrum Teams perform
regularly. Some Scrum events include the following:
Sprint Planning
• In this event, the team estimates the work to be
completed in the next Sprint. Members define Sprint

39 | P a g e
Goals that are specific, measurable, and attainable.
At the end of the planning meeting, every Scrum
member knows how each Increment can be
delivered in the Sprint.
Sprint
• A Sprint is the actual time period when the Scrum
Team works together to finish an Increment. Two
weeks is the typical length for a Sprint but can vary
depending on the needs of the project and the team.
The more complex the work and the more
unknowns, the shorter the Sprint should be.
Daily Scrum or stand-up
• A Daily Scrum is a short meeting in which team
members check in and plan for the day. They report
on work completed and voice any challenges in
meeting Sprint Goals. It is called a stand-up because
it aims to keep the meeting as short as practical—
like when everybody is standing.

Sprint Review
• At the end of the Sprint, the team gets together for an
informal session to review the work completed and
Showcase it to stakeholders. The Product Owner
might also rework the Product Backlog based on the
current Sprint.

40 | P a g e
Sprint Retrospective
• The team comes together to document and discuss
what worked and what didn’t work during the Sprint.
Ideas generated are used to improve future Sprints.
What is a Scrum master?
• A Scrum master is a facilitator for an Agile
development team. They are responsible for
managing the exchange of information between team
members. Scrum is a project management
framework that enables a team to communicate and
self-organize to make changes quickly, in
accordance with Agile principles.
• Although the scrum analogy was first applied to
manufacturing in a paper by Hirotaka Takeuchi and
Ikujiro Nonaka, the approach is often used in Agile
software development and other types of Agile
project management. The term comes from the sport
rugby, where opposing teams huddle together during
a scrum to
• restart the game. In product development, team
members huddle together each morning for a daily
stand-up meeting where they review progress and
essentially restart the project.
Roles, responsibilities of a Scrum master:

• Although the title of Scrum master sounds powerful,


this position is not the project leader and is not held
accountable for project outcomes; this responsibility

41 | P a g e
is given to the team as a whole. Although the official
Scrum Guide no longer refers to the Scrum master as
a servant leader as it once did, their purpose does
serve the team through the Scrum process, creating a
framework in which every team member can do their
best work to meet a common goal.
• An ideal Agile team has the team -- not one
individual -- manage its process. However, the
Scrum master position evolved to take responsibility,
while keeping the process as team-oriented as
possible.

4.9 Kanban:
• A Kanban board is one of the tools that can be used to
implement Kanban to manage work at a personal or
organizational level.

42 | P a g e
• Kanban boards visually depict work at various stages of a
process using cards to represent work items and columns to
represent each stage of the process. Cards are moved from left
to right to show progress and to help coordinate teams
performing the work. A Kanban board may be divided into
horizontal "swim lanes" representing different kinds of work or
different teams performing the work.

• Kanban boards can be used for knowledge work or


manufacturing processes.
• Simple boards have columns for "waiting", "in progress", and
"completed" or "to-do", "doing", and "done". Complex Kanban
boards can be created that subdivide "in progress" work into
multiple columns to visualise the flow of work across a whole
value stream map.
• According to the Project Management Institute, a Kanban
board is a "visualization tool that shows work
in progress to help identify bottlenecks and over commitments,
thereby allowing the team to optimize the workflow."

4.10 Scrumban:

43 | P a g e
• Scrumban is a project management methodology that combines
two common Agile

• Strategies: Scrum and Kanban. Scrumban was initially


developed to help teams transition from Scrum to Kanban, or
vice versa. If teams have experience with one strategy over
another, this technique can help them gradually cross over to the
other methodology.

• While Scrumban was initially intended to help teams transition,


some may find that this combination of the two strategies works
the best for their team. Scrumban is best used by a team that
already knows some facets of Scrum or Kanban. The experience
they have will give them some familiarity when they start using
the Scrumban methodology.

• There’s no team hierarchy in Scrumban. This means that every


person on the development team has the same opportunity as
others to make decisions and choices. This also means that there
is no clear leader for the group—rather, the team is entirely
selfmanaged.

CHAPTER 5:
PROJECT
5.1 Web hosting
Web hosting: A web hosting service is a type of
Internet hosting service that hosts websites for clients, i.e. it
offers the facilities required for them to create and maintain a

44 | P a g e
site and makes it accessible on the World Wide Web. Companies
providing web hosting services are sometimes called web hosts.
Typically, web hosting requires the following:
• one or more servers to act as the host(s) for the sites; servers
may be physical or virtual
• colocation for the server, providing physical space, electricity,
and Internet connectivity
• Domain Name System configuration to define name for the sites
and point them to the hosting server

• a web server running on the host;


• for each site hosted on the server:
o space on the server to hold the files making up the site o site-

specific configuration o often, a database

• Software and credentials allowing the client to access these,


enabling them to create, configure, and modify the site.
• Email connectivity allowing the host and site to send email to
the client.

How to launch a web hosting instance:


Step 1: Log in into your AWS account.

45 | P a g e
Step 2: Click on EC2
Step 3: You will reach the EC2 dashboard.

Step 4: Click on instance.


Step 5: Create an instance

Step 6: After we create an instance, the instance must pass 2


instance checks. After the instance checks pass, connect into the
created instance.

46 | P a g e
Step 7: After connecting into the instance we write the
commands into this space.
• Sudo su: to change a global server to local server.
• yum install httpd: it installs the httpd service.
• cd /var/www/html/: this is created into server.
• vi index.html: opens a Nano file
• In the Nano file we enter our code and after we write the code
into the Nano file we exit the file.
• Cat index.html: it displays the code we wrote in the Nano file.
• Service httpd start: the httpd service is started. We can stop the
service by “service httpd stop”

47 | P a g e
After we started the httpd we copy the public IP address

Step 8: we copy the public IP address


Step 9: now we enter the copied IP address into the web or chrome. Here we
enter the IP address into the chrome/google.

48 | P a g e
Step 10: Now search the IP address.

Step 11: Now we got our entered code into the server.
We can only enter into our server by the specific IP address.

5.2 Sub netting:


A subnetwork, or subnet, is a logical subdivision of an IP
network. The practice of dividing a network into two or more
networks is called sub netting.

49 | P a g e
Computers that belong to the same subnet are addressed with an
identical group of its most-significant bits of their IP addresses.
This results in the logical division of an IP address into two
fields: the network number or routing prefix, and the rest field
or host identifier. The rest field is an identifier for a specific host
or network interface.
The routing prefix may be expressed as the first address of a
network, written in Classless Inter-Domain Routing (CIDR)
notation, followed by a slash character (/), and ending with the
bit-length of the prefix. For example, 198.51.100.0/24 is the
prefix of the Internet Protocol version 4 network starting at the
given address, having 24 bits allocated for the network prefix,
and the remaining 8 bits reserved for host addressing. Addresses
in the range 198.51.100.0 to 198.51.100.255
Belong to this network, with 198.51.100.255 as the subnet
broadcast address. The IPv6 address specification 2001:db8: /32
is a large address block with 296 addresses, having a 32-bit
routing prefix.

How to add sub netting to our instance:


Step 1: Go to security groups

Step 2: click on the current working instance.


Step 3: go to a VPC URL and click on it.
Step 4: we will find a ‘edit inbound rules’ click on it.

50 | P a g e
Step 5: Now delete the HTTPS and SSH except HTTP.

Step 6: click on CIDR block and enter any IP address. Here we


have entered a Phone IP address.
Step 7: Now save the rules.

Step 8: we have assigned an IP address to the instance and now


the instance can be only visible to the person who we assigned
the IP address in the current IP address

51 | P a g e
• If other person try to get into this server he will not get the site or
server will not be visible to them. Only the host and the person
whose IP address is added to the rules can open the instance.

Step 9: now we enter the public IP address of our instance into


our phone (the phone IP address which we assigned in sub
netting) and we get the result…

This is how the sub netting works.

5.3 Load balancer:


In computing, load balancing is the process of distributing a set
of tasks over a set of resources (computing units), with the aim
of making their overall processing more efficient. Load
balancing can optimize response time and avoid unevenly
overloading some compute nodes while other compute nodes
are left idle.
Load balancing is the subject of research in the field of parallel
computers. Two main approaches exist: static algorithms, which

52 | P a g e
do not take into account the state of the different machines, and
dynamic algorithms, which are usually more general and more
efficient but require exchanges of information between the
different computing units, at the risk of a loss of efficiency.

How to add load balancer to our instance:


Step 1: click on load balancer

Step 2: click on ‘create classic load balancer

Step 3: Enter your load balancer name.

53 | P a g e
Step 4: select zone. At least 3 zones.

Step 5: select the instance protocol as HTTP.


Step 6: Now click on ‘Create Load balancer’.

Now we have successfully attached a load balancer to our


Instance.

54 | P a g e

You might also like