SlideShare uma empresa Scribd logo
1 de 35
Baixar para ler offline
The state of the art of development
methodologies in the IT Industry
Cutting Edge
Andrea Tino (Software Development Engineer)
Our journey
The agenda for today
An introduction to DevOps to
understand what they are and
why you need to start
adopting it inside your
organization.
What? We’ll look at where we came
from to understand why
DevOps today arised in the
Industry. Then, we‘ll talk
about DevOps in more details.
How?
We ask ourselves why we have
DevOps today. The question
we will try to answer is: “Why is
DevOps a thing today?”.
Why?
In your business! You will see
DevOps spans across the
entirity of your organization.
Where?
As soon as possible :) Changes
take time, but the sooner you
think about it the better.
When?
Be a startup or an
experienced business: no
matter what, this is for you!
Who?
How did we get here?
What happened in the previous episodes...
~780cycles:~442cyclesago ~442cycles:~208cycles ago present : 50+cycles further
1 cycle=1sprint=~2wks
In the past 30 years software has
exponentially spread out in the world
and our lives. The way we make
software started in a way and rapidly
changed. Let’s have a look at the past
to understand the present and
unleash the future.
Long story
made short
We used to build software
in a very monolithic way.
This proved to be
unsustaninable.
Jurassic We basically became
Agile and started
adopting better
methodologies.
Pleistocene We start adopting
continuous everything
and DevOps is our reality
now.
Gen
Alpha?
SaaB: Software as a Building
Customer delivers
requirements to the
Architect.
1
Architect makes the design
and delivers blueprints to
the Engineer.
2
Engineer checks
feasibility and delivers
construction schemes
to Build Team.
3
Build Team makes it
happen.
4
When software started
becoming a thing,
engineers and
organizations wondered
about how the
Dev
model
development model had
to be structured.
Structural Engineering
seemed to be an industry
resembling ours, thus we
adopted Waterfall
(Royce) thinking it could
satisfy our needs.
Indeed it did so, but not in
the long run: things
changed quickly.
Software was built like a house:
through a sequence of
forward-only steps/phases.
Waterfall
Software was meant to be used for
specific requirements supposed
not to change in the short term: the
business had slow dynamics.
Business
model
The New Methodology
Developers
Customer
High interaction
As customers started coming
back to developers with more
and more changing
requirements, it was obvious
that Waterfall was making
things slow and tedious.
Since 1970, different
paradigms started emerging
by promoting and enforcing
lightweight processes: ASD,
Dev
model
RAD (1991), UP, DSDM(1994),
Scrum (1995), XP (1996) and
more.
The Agile Manifesto was
published later in 2001,
generalizing those new
trending methods focused
on: customer interaction
and continuously changing
software.
Software is now developed
according to (almost all) the 12
principles in the Agile Manifesto.
Agile
process
Requirements change often and
software has to keep up in an really
dynamic environment where
services are highly connected.
Business
model
over Processes and
tools
Individuals and
Interactions
over comprehensive
documentation
Working Software
over contract negotiation
Customer Collaboration
over following a plan
Responding to Change
The 12 Principles of the Agile Methodology
Our highest priority is to
satisfy the customer
through early and
continuous delivery of
valuable software.
1 Welcome changing
requirements, even late in
development. Agile
processes harness change
for the customer's
competitive advantage.
2 Deliver working software
frequently, from a couple
of weeks to a couple of
months, with a preference
to the shorter timescale.
3 Business people and
developers must work
together daily throughout
the project.
4
Build projects around
motivated individuals.
Give them the
environment and support
they need, and trust them
to get the job done.
5 The most efficient and
effective method of
conveying information to
and within a development
team is face-to-face
conversation.
6 Working software is the
primary measure of
progress.
7 Agile processes promote
sustainable development.
The sponsors, developers,
and users should be able
to maintain a constant
pace indefinitely.
8
Continuous attention to
technical excellence and
good design enhances
agility.
9 Simplicity --the art of
maximizing the amount of
work not done-- is
essential.
10
The best architectures,
requirements, and
designs emerge from
self-organizing teams.
11 At regular intervals, the
team reflects on how to
become more effective,
then tunes and adjusts its
behavior accordingly.
12
DES
IGN DEV
ELOPTE
ST
REQ
UIRE
Customer
UX Designer
Tester
Developer
TOWARDS AGILE
D
ESIGN
Customer
UX Designer
Tester
Developer
DE
VELOP
TESTRE
QUIRE
As Agile methodologies
started being applied in
the Industry, the
approach to developing
software changed and
Engineering Teams
applied different
Changing
model &
mindset
organizational models.
Before, Teams were
divided according to
development scope:
design, development,
testing, etc. This seloed
configuration
contributed in slowing
down activities and
caused delays when
responding to change.
Now, Teams tend towards
a more unified model
allowing reactions to new
requirements to be
quicker in order to follow
a more dynamical
business model.
Now: DevOps
This is how we got here
Development Operations Quality Assurance
DevOps
Consider the
transformation that
teams had to take in
place when adopting
Agile methodologies.
What happened in
Engineering teams, is
now attempted across
the entire
organization, not just
Engineering!
Seloed departments
in the organization like
Development and
Operations are now
merged together.
The
modern
transition
OpsDev
dynamic
business innov-
ate
scale
up micro
services
DevOps is a transition
to a different mindset
in general. Its need is
related to the way
business has evolved
today.
Things change often
and the market
demands more
innovation.
Organizations must
keep their products
competitive, and to
respond well, they
need to scale up.
One for
all, and
all for
one
This means adopting
a micro-services
architecture which is
perfectly handled
when DevOps is
implemented across
different Teams.
DevOps
Definition
noun
The practice of operations and development engineers
participating together in the entire service lifecycle, from design
through the development process to production support.
somewhere in the Internet
By implementing DevOps,
it is possible to achieve 6
key benefits inside an
organization.
6
Benefits
In order to successfully
implement DevOps, 6
practices can be
implemented.
6
Practices
Benefits of DevOps
By adopting the most
common
methodologies in
DevOps, it is possible
to react quickly to
change and effectively
keep up with markets
and demanding
customers.
Speed DevOps takes
advantage of
Continuous
Integration and
Continuous Delivery,
which are well known
and effective practices
to keep software
updated and always
available to customers.
Rapid
delivery
Monitoring and
keeping track of your
applications in the
cloud can help you
detect issues before
they can surface to
customers. Processing
feedback from your
solutions is an
important approach.
Reliabil-
ity
DevOps takes
advantage of
micro-services
oriented architectures
in order to ensure that
solutions in the Cloud
can be scaled up or
down according to
necessities in your
business.
Scaling DevOps’s main
objective is to remove
barriers between two
teams classicaly seen
as seloed:
Development and
Operations. These
methodologies can
boost collaboration in
all organizations.
Collab-
oration
Many common
practices today allow
security to be handled
at different levels
thanks to IaC and PaC,
which allow
organizations to
achieve greater control
over their resources.
Security
PLAN
DEVELOP
TEST
PACKAGE
RELEASE
CONFIG/DEPLOY
MONITOR
The build contains all tests ready to be
executed. They are run and results
reported. If green, can move on.
EngineeringTeamsareresponsible
forpreparingthecodechangesfor
implementingnewfeatures.
Lightweight planning defines what
goals are to be reached in the current
iteration, what features to build.
Thecodeispreparedtobe
shipped.Inthisphase,code
signingmightbeapplied.
Packages are published
and delivered to the
customer.
Theproductismadereadyfordeployment
inordertobeexecuted.Thiscanhappen
automaticallyorbymanualprocess.
Telemetry and usage data is
collected to be evaluated in
next iteration.
This is the most famous
image that one can find
on the Internet when
searching for DevOps!
It highlights the two
involved departments
(development and
operations) and how the
different activities are
shared across them.
Furthermore, the
infinity-shaped flow
remarks how the
different tasks are
carried on by the two
Teams together, where
barriers are removed:
work and expertise is
also shared.
The toolchain
Practices in DevOps
CI CD MS
MC2IaC
Implement these practices first
Focus on these practices later
DevOps includes 6 important practices:
6 practices
Continuous Integration
Automate builds and tests
by employing release
pipelines.
Continuous Delivery
Automate publishing, and
in some case, deployment
to production, of builds.
Microservices
Change the architecture of
your application to
optimize/enable scale-up.
Infrastructure as Code
Codify your infrastructure
so it becomes part of your
automation.
Communication &
Collaboration
Enhance cooperation in
your organization across
different departments.
Monitoring
Collect live data from your
application while users run
their business on it.
Continuous Integration
Definition
noun
The process of automating the build and testing of code every
time a team member commits changes to version control.
Sam Guckenheimer
(Microsoft Visual Studio Cloud Services)
CI encourages developers to share their code
and unit tests by merging their changes into
a shared version control repository after
every small task completion.
Key
benefits
Continuous Integration
Commit
A change (feature or bug
fix) is submitted to the
repository for merge
into the codebase.
Run tests
Tests are run against the
generated build. If one
or more tests fail, the
merge job is aborted.
Integrate
When all tests are green,
the change can actually
been integrated into the
main codebase.
Git is the most common tool for storing
and sharing code. CI tools are built on top
of version control systems in order to
automate the process of merging changes
in a safe and controlled way.
CI tools
A key of CI is
ensuring that small
changes are
committed in the
reporitory. This
makes easier to spot
bugs and fix them.
Commit
often
Use Git or other
source control
systems to keep
your codebase
shared across team
members. Every
change is tracked
and reversable.
Source
control
CI is the practice of automating building,
testing and integrating code into the
codebase.
What
Source Control
CI is based on following Agile
methodologies. Whatever your Agile flavor
is (XP, Scrum, Crystal, etc.), keep it and try
to improve it.
Work
Agile
Use a Source Control (like Git) to share the
code across the departments of your
organization. This will enable you to gain 2
very important achievements:
Share
code
Collaboration: developers can easily
work together while still in isolation.
Branching: Thanks to branches, you
can handle releases very well.
Commit often
Do not pile up stuff and commit large amount of code
changes. Instead, commit small changes.
What
It’s not because we like the feeling of committing stuff...
(well certainly some of us do). It’s more for the
following points:
Why
Risk of regressions: The smaller a change is, the
lower the risk to introduce regressions in the
codebase.
Bug fixing: If a commit introduces a regression, it
is easier to identify that commit. Also, the
regression can be caught up earlier and
addressed faster.
CI architecture
CONTINUOUS INTEGRATION
SOURCE CONTROL
Commit
A change (feature or bug
fix) is submitted to the
repository for merge
into the codebase.
Test
Tests are run against the
generated build. If one
or more tests fail, the
merge job is aborted.
Build
Tests are run against the
generated build. If one
or more tests fail, the
merge job is aborted.
CI is built on top of Source Control systems.
Typically, systems like Git will allow
developers to hook up to certain events, like
commits.
By using the Source Control’s API, it is
possible to react to these events and trigger
the build and publish process.
Stacked
CI systems are built to create a chain of
operations which typically involve the most
common steps: code is committed, then
tested and, if tests are green, finally built.
Build
chain
All generated builds are typically saved in a
secure location so they can later be picked
up for deployment. Typically, a cloud
storage is used.
Build
bucket
Don’t re-invent the wheel
Today there are many companies
which have created cloud solutions
for offering integrated CI tools.
They all can interface with the
Many
options
most common source controls (like
Git) and do provide, out of the box,
many tools for collaboration.
So no need to implement CI on
your own, even if your
requirements are very special,
think twice before playing solo :)
By using one of the
many CIs available on
the Internet today, an
organization can
avoid spending so
many resources
building and
maintaining such an
infrastructure. All of
these services have
pros and cons, so pick
the best one for your
needs and scale and
have fun by
automating your
build system.
If your application has
special requirements,
be aware that almost
all of the solutions
available today
provide high levels of
customization via rich
API you can use.
Continuous Delivery & Deployment
Commit
A change (feature or bug
fix) is submitted to the
repository for merge
into the codebase.
Run tests
Tests are run against the
generated build. If one
or more tests fail, the
merge job is aborted.
Integrate
When all tests are green,
the change can actually
been integrated into the
main codebase.
Build
The final bits to be
deployed are compiled
and executables are
generated.
Publish
The build is ready to be
installed. The bits are
published in a location
or depoyed in PPE.
Thanks to CD, it is possible to alwyays
have builds at one’s disposal. With
good tests in place, ideally, every
produced build is shippable.
Builds always
available
CD should be considered as an extension of CI.
The pipeline is expanded with a few more
steps at the end where the release process is
also automated after every commit.
What
Continuous Delivery
Definition
noun
The process to build, test and release from a build to a
pre-production environment.
Sam Guckenheimer
(Microsoft Visual Studio Cloud Services)
Without Continuous Delivery, software release cycles
were previously a bottleneck for application and
operation teams. Manual processes led to unreliable
releases that produced delays and errors.
Improved
process
CD architecture
SOURCE CONTROL
CONTINUOUS INTEGRATION
CONTINUOUS DELIVERY
CD is built on top of CI. As soon as CI is
over, a new build is available. The build is
published.
Nothing happens to Production
environments, if the build is picked-up for
release, the process of approving it is fully
manual.
On top
Commit
A change (feature or bug
fix) is submitted to the
repository for merge
into the codebase.
Test
Tests are run against the
generated build. If one
or more tests fail, the
merge job is aborted.
Build
Tests are run against the
generated build. If one
or more tests fail, the
merge job is aborted.
Stage to PPE
Build is deployed into a
pre-production environ-
ment and published for
download.
In order to test the
product E2E, it is useful to
automate the deployment
into a non-production
environment acting as a
safe playground.
Pre
production
PS1T2
Build
A new change is pushed
into the pipeline and the
updated version is built.
Stage to PPE
The build is staged to
PPE into another
separate environment
for E2E testing.
Swap slots
Traffic is redirected to
the new slot leaving the
previous one idle.
Stage to slot
A slot is created to
validate the environ-
ment and run a
warm-up test.
PT1
Build
The first iteration gets
built and executables
are available after
running tests.
Stage to PPE
Bits are deployed into a
test environment for E2E
testing.
Stage to PROD
After validating the
build, bits are deployed
into a newly created slot
in production.
Approval definition
Pipelines can include
deployment stages. Those
can be guarded by manual
approval locks which pause
the pipeline.
Release pipeline
AWS gives developers the
ability to define a task
pipeline with customizable
stages to cover the different
steps for building software.
Slot swapping
Thanks to slots, it is possible
to test a slot before turning it
into production by just
redirecting the production
traffic.
Deployment slots
Microsoft Azure has
introduced staging slots in
order to facilitate the
delivery of new versions of
your application.
Continuous Deployment
Definition
noun
The process to build, test, configure and deploy from a build to a
production environment.
Sam Guckenheimer
(Microsoft Visual Studio Cloud Services)
Though similar, very similar, the definitions of
Continuous Delivery and Continuous Deployment
do actually differs from the very last step. They are
two different practices!
Attention
CDp architecture
SOURCE CONTROL
CONTINUOUS INTEGRATION
CONTINUOUS DELIVERY
CONTINUOUS DEPLOYMENT
CDp is the last step in the release pipeline.
If present, it is built on top of CD.
The foundamental point is that the
process is fully automated. As soon as the
build is emitted and passes all tests,
customers will have immediate access to
it in their Production environments.
Final
stage
Commit
A change (feature or bug
fix) is submitted to the
repository for merge
into the codebase.
Test
Tests are run against the
generated build. If one
or more tests fail, the
merge job is aborted.
Build
Tests are run against the
generated build. If one
or more tests fail, the
merge job is aborted.
Stage to PPE
Build is deployed into a
pre-production environ-
ment and published for
download.
Stage to PROD
Build is deployed
directly to production
into the customer’s live
environment.
Warning
Continuous Delivery
Continuous Deployment
Always remember that
the following holds:
Commit
A change (feature or bug
fix) is submitted to the
repository for merge
into the codebase.
Test
Tests are run against the
generated build. If one
or more tests fail, the
merge job is aborted.
Build
Tests are run against the
generated build. If one
or more tests fail, the
merge job is aborted.
Stage to PPE
Build is deployed into a
pre-production environ-
ment and published for
download.
Stage to PROD
Build is deployed
directly to production
into the customer’s live
environment.
Cont. Integration Cont.
Delivery
Deployment
Continuous Delivery
The deployment must wait a
manual approval process to
grant permission.
Continuous Deployment
As soon as the build is
available, the release
definition deploys it to
Production.
Automatically
triggered as
build is over.The way the
deployment is
triggered is the key
point which
differentiates the two
practices.
In CD, deployment to
DevOps
Continuum
production is done
manually over
permission granting.
In CDp this happens
automatically and the
buid goes straight
into Production!
Fast deployment rollback
Everything can go wrong, if it does, a
process for rolling back a deployment to
the last stable build must be in place.
E2E automation
Having E2E tests is important so that
high critical user scenarios are tested.
Code coverage
Good testing is a must. Ensuring all code
paths are also covered is important to
have a good guarantee the product is
high-severity bug-free.
Continuous Deployment is a risky practice
because builds get deployed straight into
production.
An organization must be prepared to
make this step, and some key
requirements can help you understand
whether you are ready to implement CDp:
Be aware
It takes time
Cont. Delivery
Builds are published
and automatically
deployed to PPE.
Cont. Deployment
Customers receive new
deployments
automatically after
every commit.
Cont. Integration
Builds automatically
generated after every
commit.
Agile development
Engineering Teams
work with Agile
methodologies.
Think about it, CDp is cool
but is also pretty scary!
Deploying automatically to
the customer means that
every uncaught bug is
going straight to
production!
Given this high risk, CDp is
a practice that not many
can achieve and should
implement.
The point is, if you wanna
get there, be aware that
this last step in the
continuum takes long time
and much effort.
You
gotta
be
ready
Microservices
Client svc
Service responsible for
facing the user’s
requests and redirect
them to the back-end.
Business Logic
Services running the
different parts of the
application’s logic
Security svc
Service responsible for
taking care of
security-related
operations.
Data svc
Service responsible for
feeding data to
requestors and hosting
one or more databases.
Authentication
Service responsible for
taking care of
authentication-related
requests.
An architectural pattern that
applications should follow. The
different parts of the logic are
separated and hosted in
isolated processes residing in
different services.
What
One word: Scalability. By using
MS architectures, it is possible
to easily scale up or down an
entire application in the cloud.
Why
Diagram showing
the architecture of
a possible
application divided
into its main
components. Parts
communicate via
the HTTP protocol.
Example
Monitoring
Analyze
Developers analyze
results in next iteration
and take action accord-
ing to feedback.
Collect
All feedback from
application is collected
and assembled thanks
to predefined queries.
Log data
Your application and
your code has to be
instrumented to emit
usage informartion.
20%
35%
10%
7%7%
10
20
30 30 40
The ability to collect usage data from your
application and react on it as part of the ordinary
development process.
It is a way to get feedback from your users
without bothering them asking for it.
What
The Team must
ensure to have
telemetry
analysis and
action as part of
its development
process.
Process
feedback
Logging telemetry is
good, but you must
ensure you log
enough information
and, at the same
time, you don’t log
too much.
Careful
For many reasons. Catching issues before they
surface, improving the user experience,
improving the service and its components.
Why
Application Telemetry
Service Monitoring
There are different ways to ask for
feedback from your customers. One is
asking them, but we know it can be
bothersome for users to answer online
questions.
So we have instead our application tell
us about the user experience and how
the application is performing.
Data from
your
application
Today’s cloud systems allow
organizations to deploy solutions fast.
They also provide monitoring tools
out of the box with nice and cool
dashboards to check the state of your
services and notifications to get
alerted when something’s wrong.
Service
health
check
Why should I be so
concerned about
Telemetry?
Q
“You don’t go to the
Cloud without some
good Telemetry. It would
basically be suicide!”
A
A manager I heard in office the year we were
launching our solution to the Cloud
Commit
A change (feature or bug
fix) is submitted to the
repository for merge
into the codebase.
Emit telemetry
The product emits telemetry
as users work on it. Services
are responsible for storing
telemetry data in the cloud.
Collect telemetry
Periodically, as part of the development
process, Teams collect telemetry and
process the results by aggregating data
and producing actionable output.
Act on telemetry
Basing on results from telemetry,
the next iteration of the product
will contain bug fixes or features
which improve the product.
Test
Tests are run against the
generated build. If one
or more tests fail, the
merge job is aborted.
Build
Tests are run against the
generated build. If one
or more tests fail, the
merge job is aborted.
Stage to PPE
Build is deployed into a
pre-production environ-
ment and published for
download.
Stage to PROD
Build is deployed
directly to production
into the customer’s live
environment.
Customer provides its feedback in a passive way! Thanks
to telemetry, it is possible to log user’s activity.
Feedback
The product undergoes development, testing and
deployment. In this phase, the direction is from Teams
to the customer.
Development
The End
Thank you
This work is licensed under a
Creative Commons
Attribution-NonCommercial-NoDerivatives
4.0 International License
Cover: Wave edges of IT
This work includes artworks
designed by Freepik.com.
October 2018
v1.4
Keywords
#methodologies #devops
#agile #techtalk #microsoft #it
#technology #software
#engineering #development
Presentation info
Duration: 30 mins.
Background: Technical
Audience: Developers and
operations
This work includes artworks
designed by Shutterstock.com.
Andrea Tino
Software Development Engineer II
Twitter:
E-Mail:
@_atino
andrea.tino@microsoft.com
Seminar on Development Methodologies October 2018, hosted by:

Mais conteúdo relacionado

Mais procurados

Salesforce Agile Rollout 2007
Salesforce Agile Rollout 2007Salesforce Agile Rollout 2007
Salesforce Agile Rollout 2007cfry
 
DevOps Transition Strategies
DevOps Transition StrategiesDevOps Transition Strategies
DevOps Transition StrategiesAlec Lazarescu
 
DevOps: Benefits & Future Trends
DevOps: Benefits & Future TrendsDevOps: Benefits & Future Trends
DevOps: Benefits & Future Trends9 series
 
10 differences between SAFe and LeSS
10 differences between SAFe and LeSS10 differences between SAFe and LeSS
10 differences between SAFe and LeSSStanislaw Matczak
 
DevOps Introduction
DevOps IntroductionDevOps Introduction
DevOps IntroductionRobert Sell
 
DevOps in 5 minutes
DevOps in 5 minutesDevOps in 5 minutes
DevOps in 5 minutesJolyon Brown
 
DevOps - an Agile Perspective (at Scale)
DevOps - an Agile Perspective (at Scale)DevOps - an Agile Perspective (at Scale)
DevOps - an Agile Perspective (at Scale)Brad Appleton
 
A Gentle Introduction To Agile
A Gentle Introduction To AgileA Gentle Introduction To Agile
A Gentle Introduction To AgileMichael Sahota
 
Devops online training ppt
Devops online training pptDevops online training ppt
Devops online training pptKhalidQureshi31
 
Understanding DevOps in simpler way with Continuous Delivery
Understanding DevOps in simpler way with Continuous DeliveryUnderstanding DevOps in simpler way with Continuous Delivery
Understanding DevOps in simpler way with Continuous DeliverySwapnil Jain
 
What business benefits from DevOps 2014
What business benefits from DevOps 2014What business benefits from DevOps 2014
What business benefits from DevOps 2014Erno Aapa
 
Five Mistakes Beginner Devops Professionals Make
Five Mistakes Beginner Devops Professionals MakeFive Mistakes Beginner Devops Professionals Make
Five Mistakes Beginner Devops Professionals MakeRock Interview
 
Devops & Agility - Build the Culture, Get the Tools, Win the Day - Dundee Tec...
Devops & Agility - Build the Culture, Get the Tools, Win the Day - Dundee Tec...Devops & Agility - Build the Culture, Get the Tools, Win the Day - Dundee Tec...
Devops & Agility - Build the Culture, Get the Tools, Win the Day - Dundee Tec...David Walker
 
DevOps Certification
DevOps CertificationDevOps Certification
DevOps CertificationAakash Yadav
 

Mais procurados (20)

Lean vs scrum
Lean vs scrumLean vs scrum
Lean vs scrum
 
Salesforce Agile Rollout 2007
Salesforce Agile Rollout 2007Salesforce Agile Rollout 2007
Salesforce Agile Rollout 2007
 
DevOps Transition Strategies
DevOps Transition StrategiesDevOps Transition Strategies
DevOps Transition Strategies
 
DevOps: Benefits & Future Trends
DevOps: Benefits & Future TrendsDevOps: Benefits & Future Trends
DevOps: Benefits & Future Trends
 
Education
EducationEducation
Education
 
10 differences between SAFe and LeSS
10 differences between SAFe and LeSS10 differences between SAFe and LeSS
10 differences between SAFe and LeSS
 
DevOps Introduction
DevOps IntroductionDevOps Introduction
DevOps Introduction
 
DevOps in 5 minutes
DevOps in 5 minutesDevOps in 5 minutes
DevOps in 5 minutes
 
DevOps - an Agile Perspective (at Scale)
DevOps - an Agile Perspective (at Scale)DevOps - an Agile Perspective (at Scale)
DevOps - an Agile Perspective (at Scale)
 
A Gentle Introduction To Agile
A Gentle Introduction To AgileA Gentle Introduction To Agile
A Gentle Introduction To Agile
 
DevOps introduction
DevOps introductionDevOps introduction
DevOps introduction
 
Devops1
Devops1Devops1
Devops1
 
Devops online training ppt
Devops online training pptDevops online training ppt
Devops online training ppt
 
Understanding DevOps in simpler way with Continuous Delivery
Understanding DevOps in simpler way with Continuous DeliveryUnderstanding DevOps in simpler way with Continuous Delivery
Understanding DevOps in simpler way with Continuous Delivery
 
What business benefits from DevOps 2014
What business benefits from DevOps 2014What business benefits from DevOps 2014
What business benefits from DevOps 2014
 
DevOps beyond the Tools
DevOps beyond the ToolsDevOps beyond the Tools
DevOps beyond the Tools
 
Five Mistakes Beginner Devops Professionals Make
Five Mistakes Beginner Devops Professionals MakeFive Mistakes Beginner Devops Professionals Make
Five Mistakes Beginner Devops Professionals Make
 
Devops & Agility - Build the Culture, Get the Tools, Win the Day - Dundee Tec...
Devops & Agility - Build the Culture, Get the Tools, Win the Day - Dundee Tec...Devops & Agility - Build the Culture, Get the Tools, Win the Day - Dundee Tec...
Devops & Agility - Build the Culture, Get the Tools, Win the Day - Dundee Tec...
 
DevOps
DevOpsDevOps
DevOps
 
DevOps Certification
DevOps CertificationDevOps Certification
DevOps Certification
 

Semelhante a Cutting Edge on Development Methodologies in IT

What Are The Top 5 Trending Technologies In DevOps?.pdf
What Are The Top 5 Trending Technologies In DevOps?.pdfWhat Are The Top 5 Trending Technologies In DevOps?.pdf
What Are The Top 5 Trending Technologies In DevOps?.pdfSmith Daniel
 
Enterprise DevOps- Importance and Key Benefits You Need to Know
Enterprise DevOps- Importance and Key Benefits You Need to KnowEnterprise DevOps- Importance and Key Benefits You Need to Know
Enterprise DevOps- Importance and Key Benefits You Need to KnowSilver Touch Technologies
 
What is DevOps All You Need To Know.pdf
What is DevOps All You Need To Know.pdfWhat is DevOps All You Need To Know.pdf
What is DevOps All You Need To Know.pdfCerebrum Infotech
 
Devops ppt copy
Devops ppt   copyDevops ppt   copy
Devops ppt copysaigowsi
 
Why you need DevOps Consulting Services?
Why you need DevOps Consulting Services?Why you need DevOps Consulting Services?
Why you need DevOps Consulting Services?TkXel
 
DevOps trends to look out for in 2022.pdf
DevOps trends to look out for in 2022.pdfDevOps trends to look out for in 2022.pdf
DevOps trends to look out for in 2022.pdfEnov8
 
Best Practices for a Successful DevOps Transformation.pdf
Best Practices for a Successful DevOps Transformation.pdfBest Practices for a Successful DevOps Transformation.pdf
Best Practices for a Successful DevOps Transformation.pdfpCloudy
 
The Role of DevOps Consulting in Modern Software Development
The Role of DevOps Consulting in Modern Software DevelopmentThe Role of DevOps Consulting in Modern Software Development
The Role of DevOps Consulting in Modern Software Developmentriyak40
 
Devops interview-questions-PDF
Devops interview-questions-PDFDevops interview-questions-PDF
Devops interview-questions-PDFMayank Kumar
 
DevOps: an efficient operating model
DevOps: an efficient operating modelDevOps: an efficient operating model
DevOps: an efficient operating model2i Testing
 
Why is dev ops essential for fintech development
Why is dev ops essential for fintech developmentWhy is dev ops essential for fintech development
Why is dev ops essential for fintech developmentnimbleappgenie
 
Why is dev ops essential for fintech development
Why is dev ops essential for fintech developmentWhy is dev ops essential for fintech development
Why is dev ops essential for fintech developmentnimbleappgenie
 
DevOps Model: What is DevOps and Its Benefits
DevOps Model: What is DevOps and Its BenefitsDevOps Model: What is DevOps and Its Benefits
DevOps Model: What is DevOps and Its BenefitsDashTechnologiesInc
 
Introduction to DevOps slides-converted (1).pptx
Introduction to DevOps slides-converted (1).pptxIntroduction to DevOps slides-converted (1).pptx
Introduction to DevOps slides-converted (1).pptxaasssss1
 
Le cloudvupardesexperts 9pov-curationparloicsimon-clubclouddespartenaires
Le cloudvupardesexperts 9pov-curationparloicsimon-clubclouddespartenairesLe cloudvupardesexperts 9pov-curationparloicsimon-clubclouddespartenaires
Le cloudvupardesexperts 9pov-curationparloicsimon-clubclouddespartenairesClub Alliances
 
A Comprehensive Guide To DevOps Services And Solutions
A Comprehensive Guide To DevOps Services And SolutionsA Comprehensive Guide To DevOps Services And Solutions
A Comprehensive Guide To DevOps Services And SolutionsEnov8
 

Semelhante a Cutting Edge on Development Methodologies in IT (20)

What Are The Top 5 Trending Technologies In DevOps?.pdf
What Are The Top 5 Trending Technologies In DevOps?.pdfWhat Are The Top 5 Trending Technologies In DevOps?.pdf
What Are The Top 5 Trending Technologies In DevOps?.pdf
 
Enterprise DevOps- Importance and Key Benefits You Need to Know
Enterprise DevOps- Importance and Key Benefits You Need to KnowEnterprise DevOps- Importance and Key Benefits You Need to Know
Enterprise DevOps- Importance and Key Benefits You Need to Know
 
Full-Stack Agile - What is DevOps?
Full-Stack Agile - What is DevOps?Full-Stack Agile - What is DevOps?
Full-Stack Agile - What is DevOps?
 
What is DevOps All You Need To Know.pdf
What is DevOps All You Need To Know.pdfWhat is DevOps All You Need To Know.pdf
What is DevOps All You Need To Know.pdf
 
Devops ppt copy
Devops ppt   copyDevops ppt   copy
Devops ppt copy
 
Why you need DevOps Consulting Services?
Why you need DevOps Consulting Services?Why you need DevOps Consulting Services?
Why you need DevOps Consulting Services?
 
DevOps trends to look out for in 2022.pdf
DevOps trends to look out for in 2022.pdfDevOps trends to look out for in 2022.pdf
DevOps trends to look out for in 2022.pdf
 
The Pivotal Role of DevOps in the IT Industry.docx
The Pivotal Role of DevOps in the IT Industry.docxThe Pivotal Role of DevOps in the IT Industry.docx
The Pivotal Role of DevOps in the IT Industry.docx
 
Best Practices for a Successful DevOps Transformation.pdf
Best Practices for a Successful DevOps Transformation.pdfBest Practices for a Successful DevOps Transformation.pdf
Best Practices for a Successful DevOps Transformation.pdf
 
The Role of DevOps Consulting in Modern Software Development
The Role of DevOps Consulting in Modern Software DevelopmentThe Role of DevOps Consulting in Modern Software Development
The Role of DevOps Consulting in Modern Software Development
 
Devops interview-questions-PDF
Devops interview-questions-PDFDevops interview-questions-PDF
Devops interview-questions-PDF
 
DevOps: an efficient operating model
DevOps: an efficient operating modelDevOps: an efficient operating model
DevOps: an efficient operating model
 
6 Resons To Implememnt DevOps In Your Business
6 Resons To Implememnt DevOps In Your Business6 Resons To Implememnt DevOps In Your Business
6 Resons To Implememnt DevOps In Your Business
 
Whitepaper: DevOps - Happiest Minds
Whitepaper: DevOps - Happiest MindsWhitepaper: DevOps - Happiest Minds
Whitepaper: DevOps - Happiest Minds
 
Why is dev ops essential for fintech development
Why is dev ops essential for fintech developmentWhy is dev ops essential for fintech development
Why is dev ops essential for fintech development
 
Why is dev ops essential for fintech development
Why is dev ops essential for fintech developmentWhy is dev ops essential for fintech development
Why is dev ops essential for fintech development
 
DevOps Model: What is DevOps and Its Benefits
DevOps Model: What is DevOps and Its BenefitsDevOps Model: What is DevOps and Its Benefits
DevOps Model: What is DevOps and Its Benefits
 
Introduction to DevOps slides-converted (1).pptx
Introduction to DevOps slides-converted (1).pptxIntroduction to DevOps slides-converted (1).pptx
Introduction to DevOps slides-converted (1).pptx
 
Le cloudvupardesexperts 9pov-curationparloicsimon-clubclouddespartenaires
Le cloudvupardesexperts 9pov-curationparloicsimon-clubclouddespartenairesLe cloudvupardesexperts 9pov-curationparloicsimon-clubclouddespartenaires
Le cloudvupardesexperts 9pov-curationparloicsimon-clubclouddespartenaires
 
A Comprehensive Guide To DevOps Services And Solutions
A Comprehensive Guide To DevOps Services And SolutionsA Comprehensive Guide To DevOps Services And Solutions
A Comprehensive Guide To DevOps Services And Solutions
 

Mais de Andrea Tino

Development & GDPR (v2)
Development & GDPR (v2)Development & GDPR (v2)
Development & GDPR (v2)Andrea Tino
 
Development & GDPR
Development & GDPRDevelopment & GDPR
Development & GDPRAndrea Tino
 
Modern Trends in UI Decoupling Design
Modern Trends in UI Decoupling DesignModern Trends in UI Decoupling Design
Modern Trends in UI Decoupling DesignAndrea Tino
 
Javascript cheatsheet
Javascript cheatsheetJavascript cheatsheet
Javascript cheatsheetAndrea Tino
 
Workshop on Cryptography - Frequency Analysis (basic)
Workshop on Cryptography - Frequency Analysis (basic)Workshop on Cryptography - Frequency Analysis (basic)
Workshop on Cryptography - Frequency Analysis (basic)Andrea Tino
 
Master Thesis - A Distributed Algorithm for Stateless Load Balancing
Master Thesis - A Distributed Algorithm for Stateless Load BalancingMaster Thesis - A Distributed Algorithm for Stateless Load Balancing
Master Thesis - A Distributed Algorithm for Stateless Load BalancingAndrea Tino
 
Modern web applications
Modern web applicationsModern web applications
Modern web applicationsAndrea Tino
 
Visual Studio Tools for Cordova
Visual Studio Tools for CordovaVisual Studio Tools for Cordova
Visual Studio Tools for CordovaAndrea Tino
 
The World of Stylesheet Languages
The World of Stylesheet LanguagesThe World of Stylesheet Languages
The World of Stylesheet LanguagesAndrea Tino
 
How to Develop Cross-Platform Apps
How to Develop Cross-Platform AppsHow to Develop Cross-Platform Apps
How to Develop Cross-Platform AppsAndrea Tino
 
The Asynchronous Pattern (for beginners)
The Asynchronous Pattern (for beginners)The Asynchronous Pattern (for beginners)
The Asynchronous Pattern (for beginners)Andrea Tino
 
Designing an effective hybrid apps automation framework
Designing an effective hybrid apps automation frameworkDesigning an effective hybrid apps automation framework
Designing an effective hybrid apps automation frameworkAndrea Tino
 
7 tips for more effective morning SCRUM
7 tips for more effective morning SCRUM7 tips for more effective morning SCRUM
7 tips for more effective morning SCRUMAndrea Tino
 
Powerful tools for building web solutions
Powerful tools for building web solutionsPowerful tools for building web solutions
Powerful tools for building web solutionsAndrea Tino
 
Creating a compiler for your own language
Creating a compiler for your own languageCreating a compiler for your own language
Creating a compiler for your own languageAndrea Tino
 
Stateless load balancing - Early results
Stateless load balancing - Early resultsStateless load balancing - Early results
Stateless load balancing - Early resultsAndrea Tino
 
Stateless load balancing - Research overview
Stateless load balancing - Research overviewStateless load balancing - Research overview
Stateless load balancing - Research overviewAndrea Tino
 
タオルミーナに旅行しましょう
タオルミーナに旅行しましょうタオルミーナに旅行しましょう
タオルミーナに旅行しましょうAndrea Tino
 
シラクサ市に旅行しましょう
シラクサ市に旅行しましょうシラクサ市に旅行しましょう
シラクサ市に旅行しましょうAndrea Tino
 
A DHT Chord-like mannered overlay-network to store and retrieve data
A DHT Chord-like mannered overlay-network to store and retrieve dataA DHT Chord-like mannered overlay-network to store and retrieve data
A DHT Chord-like mannered overlay-network to store and retrieve dataAndrea Tino
 

Mais de Andrea Tino (20)

Development & GDPR (v2)
Development & GDPR (v2)Development & GDPR (v2)
Development & GDPR (v2)
 
Development & GDPR
Development & GDPRDevelopment & GDPR
Development & GDPR
 
Modern Trends in UI Decoupling Design
Modern Trends in UI Decoupling DesignModern Trends in UI Decoupling Design
Modern Trends in UI Decoupling Design
 
Javascript cheatsheet
Javascript cheatsheetJavascript cheatsheet
Javascript cheatsheet
 
Workshop on Cryptography - Frequency Analysis (basic)
Workshop on Cryptography - Frequency Analysis (basic)Workshop on Cryptography - Frequency Analysis (basic)
Workshop on Cryptography - Frequency Analysis (basic)
 
Master Thesis - A Distributed Algorithm for Stateless Load Balancing
Master Thesis - A Distributed Algorithm for Stateless Load BalancingMaster Thesis - A Distributed Algorithm for Stateless Load Balancing
Master Thesis - A Distributed Algorithm for Stateless Load Balancing
 
Modern web applications
Modern web applicationsModern web applications
Modern web applications
 
Visual Studio Tools for Cordova
Visual Studio Tools for CordovaVisual Studio Tools for Cordova
Visual Studio Tools for Cordova
 
The World of Stylesheet Languages
The World of Stylesheet LanguagesThe World of Stylesheet Languages
The World of Stylesheet Languages
 
How to Develop Cross-Platform Apps
How to Develop Cross-Platform AppsHow to Develop Cross-Platform Apps
How to Develop Cross-Platform Apps
 
The Asynchronous Pattern (for beginners)
The Asynchronous Pattern (for beginners)The Asynchronous Pattern (for beginners)
The Asynchronous Pattern (for beginners)
 
Designing an effective hybrid apps automation framework
Designing an effective hybrid apps automation frameworkDesigning an effective hybrid apps automation framework
Designing an effective hybrid apps automation framework
 
7 tips for more effective morning SCRUM
7 tips for more effective morning SCRUM7 tips for more effective morning SCRUM
7 tips for more effective morning SCRUM
 
Powerful tools for building web solutions
Powerful tools for building web solutionsPowerful tools for building web solutions
Powerful tools for building web solutions
 
Creating a compiler for your own language
Creating a compiler for your own languageCreating a compiler for your own language
Creating a compiler for your own language
 
Stateless load balancing - Early results
Stateless load balancing - Early resultsStateless load balancing - Early results
Stateless load balancing - Early results
 
Stateless load balancing - Research overview
Stateless load balancing - Research overviewStateless load balancing - Research overview
Stateless load balancing - Research overview
 
タオルミーナに旅行しましょう
タオルミーナに旅行しましょうタオルミーナに旅行しましょう
タオルミーナに旅行しましょう
 
シラクサ市に旅行しましょう
シラクサ市に旅行しましょうシラクサ市に旅行しましょう
シラクサ市に旅行しましょう
 
A DHT Chord-like mannered overlay-network to store and retrieve data
A DHT Chord-like mannered overlay-network to store and retrieve dataA DHT Chord-like mannered overlay-network to store and retrieve data
A DHT Chord-like mannered overlay-network to store and retrieve data
 

Último

TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 

Último (20)

TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 

Cutting Edge on Development Methodologies in IT

  • 1. The state of the art of development methodologies in the IT Industry Cutting Edge Andrea Tino (Software Development Engineer)
  • 2. Our journey The agenda for today An introduction to DevOps to understand what they are and why you need to start adopting it inside your organization. What? We’ll look at where we came from to understand why DevOps today arised in the Industry. Then, we‘ll talk about DevOps in more details. How? We ask ourselves why we have DevOps today. The question we will try to answer is: “Why is DevOps a thing today?”. Why? In your business! You will see DevOps spans across the entirity of your organization. Where? As soon as possible :) Changes take time, but the sooner you think about it the better. When? Be a startup or an experienced business: no matter what, this is for you! Who?
  • 3. How did we get here? What happened in the previous episodes... ~780cycles:~442cyclesago ~442cycles:~208cycles ago present : 50+cycles further 1 cycle=1sprint=~2wks In the past 30 years software has exponentially spread out in the world and our lives. The way we make software started in a way and rapidly changed. Let’s have a look at the past to understand the present and unleash the future. Long story made short We used to build software in a very monolithic way. This proved to be unsustaninable. Jurassic We basically became Agile and started adopting better methodologies. Pleistocene We start adopting continuous everything and DevOps is our reality now. Gen Alpha?
  • 4. SaaB: Software as a Building Customer delivers requirements to the Architect. 1 Architect makes the design and delivers blueprints to the Engineer. 2 Engineer checks feasibility and delivers construction schemes to Build Team. 3 Build Team makes it happen. 4 When software started becoming a thing, engineers and organizations wondered about how the Dev model development model had to be structured. Structural Engineering seemed to be an industry resembling ours, thus we adopted Waterfall (Royce) thinking it could satisfy our needs. Indeed it did so, but not in the long run: things changed quickly. Software was built like a house: through a sequence of forward-only steps/phases. Waterfall Software was meant to be used for specific requirements supposed not to change in the short term: the business had slow dynamics. Business model
  • 5. The New Methodology Developers Customer High interaction As customers started coming back to developers with more and more changing requirements, it was obvious that Waterfall was making things slow and tedious. Since 1970, different paradigms started emerging by promoting and enforcing lightweight processes: ASD, Dev model RAD (1991), UP, DSDM(1994), Scrum (1995), XP (1996) and more. The Agile Manifesto was published later in 2001, generalizing those new trending methods focused on: customer interaction and continuously changing software. Software is now developed according to (almost all) the 12 principles in the Agile Manifesto. Agile process Requirements change often and software has to keep up in an really dynamic environment where services are highly connected. Business model over Processes and tools Individuals and Interactions over comprehensive documentation Working Software over contract negotiation Customer Collaboration over following a plan Responding to Change
  • 6. The 12 Principles of the Agile Methodology Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. 1 Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. 2 Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. 3 Business people and developers must work together daily throughout the project. 4 Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. 5 The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. 6 Working software is the primary measure of progress. 7 Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. 8 Continuous attention to technical excellence and good design enhances agility. 9 Simplicity --the art of maximizing the amount of work not done-- is essential. 10 The best architectures, requirements, and designs emerge from self-organizing teams. 11 At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly. 12
  • 7. DES IGN DEV ELOPTE ST REQ UIRE Customer UX Designer Tester Developer TOWARDS AGILE D ESIGN Customer UX Designer Tester Developer DE VELOP TESTRE QUIRE As Agile methodologies started being applied in the Industry, the approach to developing software changed and Engineering Teams applied different Changing model & mindset organizational models. Before, Teams were divided according to development scope: design, development, testing, etc. This seloed configuration contributed in slowing down activities and caused delays when responding to change. Now, Teams tend towards a more unified model allowing reactions to new requirements to be quicker in order to follow a more dynamical business model.
  • 8. Now: DevOps This is how we got here Development Operations Quality Assurance DevOps Consider the transformation that teams had to take in place when adopting Agile methodologies. What happened in Engineering teams, is now attempted across the entire organization, not just Engineering! Seloed departments in the organization like Development and Operations are now merged together. The modern transition
  • 9. OpsDev dynamic business innov- ate scale up micro services DevOps is a transition to a different mindset in general. Its need is related to the way business has evolved today. Things change often and the market demands more innovation. Organizations must keep their products competitive, and to respond well, they need to scale up. One for all, and all for one This means adopting a micro-services architecture which is perfectly handled when DevOps is implemented across different Teams.
  • 10. DevOps Definition noun The practice of operations and development engineers participating together in the entire service lifecycle, from design through the development process to production support. somewhere in the Internet By implementing DevOps, it is possible to achieve 6 key benefits inside an organization. 6 Benefits In order to successfully implement DevOps, 6 practices can be implemented. 6 Practices
  • 11. Benefits of DevOps By adopting the most common methodologies in DevOps, it is possible to react quickly to change and effectively keep up with markets and demanding customers. Speed DevOps takes advantage of Continuous Integration and Continuous Delivery, which are well known and effective practices to keep software updated and always available to customers. Rapid delivery Monitoring and keeping track of your applications in the cloud can help you detect issues before they can surface to customers. Processing feedback from your solutions is an important approach. Reliabil- ity DevOps takes advantage of micro-services oriented architectures in order to ensure that solutions in the Cloud can be scaled up or down according to necessities in your business. Scaling DevOps’s main objective is to remove barriers between two teams classicaly seen as seloed: Development and Operations. These methodologies can boost collaboration in all organizations. Collab- oration Many common practices today allow security to be handled at different levels thanks to IaC and PaC, which allow organizations to achieve greater control over their resources. Security
  • 12. PLAN DEVELOP TEST PACKAGE RELEASE CONFIG/DEPLOY MONITOR The build contains all tests ready to be executed. They are run and results reported. If green, can move on. EngineeringTeamsareresponsible forpreparingthecodechangesfor implementingnewfeatures. Lightweight planning defines what goals are to be reached in the current iteration, what features to build. Thecodeispreparedtobe shipped.Inthisphase,code signingmightbeapplied. Packages are published and delivered to the customer. Theproductismadereadyfordeployment inordertobeexecuted.Thiscanhappen automaticallyorbymanualprocess. Telemetry and usage data is collected to be evaluated in next iteration. This is the most famous image that one can find on the Internet when searching for DevOps! It highlights the two involved departments (development and operations) and how the different activities are shared across them. Furthermore, the infinity-shaped flow remarks how the different tasks are carried on by the two Teams together, where barriers are removed: work and expertise is also shared. The toolchain
  • 13. Practices in DevOps CI CD MS MC2IaC Implement these practices first Focus on these practices later DevOps includes 6 important practices: 6 practices Continuous Integration Automate builds and tests by employing release pipelines. Continuous Delivery Automate publishing, and in some case, deployment to production, of builds. Microservices Change the architecture of your application to optimize/enable scale-up. Infrastructure as Code Codify your infrastructure so it becomes part of your automation. Communication & Collaboration Enhance cooperation in your organization across different departments. Monitoring Collect live data from your application while users run their business on it.
  • 14. Continuous Integration Definition noun The process of automating the build and testing of code every time a team member commits changes to version control. Sam Guckenheimer (Microsoft Visual Studio Cloud Services) CI encourages developers to share their code and unit tests by merging their changes into a shared version control repository after every small task completion. Key benefits
  • 15. Continuous Integration Commit A change (feature or bug fix) is submitted to the repository for merge into the codebase. Run tests Tests are run against the generated build. If one or more tests fail, the merge job is aborted. Integrate When all tests are green, the change can actually been integrated into the main codebase. Git is the most common tool for storing and sharing code. CI tools are built on top of version control systems in order to automate the process of merging changes in a safe and controlled way. CI tools A key of CI is ensuring that small changes are committed in the reporitory. This makes easier to spot bugs and fix them. Commit often Use Git or other source control systems to keep your codebase shared across team members. Every change is tracked and reversable. Source control CI is the practice of automating building, testing and integrating code into the codebase. What
  • 16. Source Control CI is based on following Agile methodologies. Whatever your Agile flavor is (XP, Scrum, Crystal, etc.), keep it and try to improve it. Work Agile Use a Source Control (like Git) to share the code across the departments of your organization. This will enable you to gain 2 very important achievements: Share code Collaboration: developers can easily work together while still in isolation. Branching: Thanks to branches, you can handle releases very well.
  • 17. Commit often Do not pile up stuff and commit large amount of code changes. Instead, commit small changes. What It’s not because we like the feeling of committing stuff... (well certainly some of us do). It’s more for the following points: Why Risk of regressions: The smaller a change is, the lower the risk to introduce regressions in the codebase. Bug fixing: If a commit introduces a regression, it is easier to identify that commit. Also, the regression can be caught up earlier and addressed faster.
  • 18. CI architecture CONTINUOUS INTEGRATION SOURCE CONTROL Commit A change (feature or bug fix) is submitted to the repository for merge into the codebase. Test Tests are run against the generated build. If one or more tests fail, the merge job is aborted. Build Tests are run against the generated build. If one or more tests fail, the merge job is aborted. CI is built on top of Source Control systems. Typically, systems like Git will allow developers to hook up to certain events, like commits. By using the Source Control’s API, it is possible to react to these events and trigger the build and publish process. Stacked CI systems are built to create a chain of operations which typically involve the most common steps: code is committed, then tested and, if tests are green, finally built. Build chain All generated builds are typically saved in a secure location so they can later be picked up for deployment. Typically, a cloud storage is used. Build bucket
  • 19. Don’t re-invent the wheel Today there are many companies which have created cloud solutions for offering integrated CI tools. They all can interface with the Many options most common source controls (like Git) and do provide, out of the box, many tools for collaboration. So no need to implement CI on your own, even if your requirements are very special, think twice before playing solo :) By using one of the many CIs available on the Internet today, an organization can avoid spending so many resources building and maintaining such an infrastructure. All of these services have pros and cons, so pick the best one for your needs and scale and have fun by automating your build system. If your application has special requirements, be aware that almost all of the solutions available today provide high levels of customization via rich API you can use.
  • 20. Continuous Delivery & Deployment Commit A change (feature or bug fix) is submitted to the repository for merge into the codebase. Run tests Tests are run against the generated build. If one or more tests fail, the merge job is aborted. Integrate When all tests are green, the change can actually been integrated into the main codebase. Build The final bits to be deployed are compiled and executables are generated. Publish The build is ready to be installed. The bits are published in a location or depoyed in PPE. Thanks to CD, it is possible to alwyays have builds at one’s disposal. With good tests in place, ideally, every produced build is shippable. Builds always available CD should be considered as an extension of CI. The pipeline is expanded with a few more steps at the end where the release process is also automated after every commit. What
  • 21. Continuous Delivery Definition noun The process to build, test and release from a build to a pre-production environment. Sam Guckenheimer (Microsoft Visual Studio Cloud Services) Without Continuous Delivery, software release cycles were previously a bottleneck for application and operation teams. Manual processes led to unreliable releases that produced delays and errors. Improved process
  • 22. CD architecture SOURCE CONTROL CONTINUOUS INTEGRATION CONTINUOUS DELIVERY CD is built on top of CI. As soon as CI is over, a new build is available. The build is published. Nothing happens to Production environments, if the build is picked-up for release, the process of approving it is fully manual. On top Commit A change (feature or bug fix) is submitted to the repository for merge into the codebase. Test Tests are run against the generated build. If one or more tests fail, the merge job is aborted. Build Tests are run against the generated build. If one or more tests fail, the merge job is aborted. Stage to PPE Build is deployed into a pre-production environ- ment and published for download. In order to test the product E2E, it is useful to automate the deployment into a non-production environment acting as a safe playground. Pre production
  • 23. PS1T2 Build A new change is pushed into the pipeline and the updated version is built. Stage to PPE The build is staged to PPE into another separate environment for E2E testing. Swap slots Traffic is redirected to the new slot leaving the previous one idle. Stage to slot A slot is created to validate the environ- ment and run a warm-up test. PT1 Build The first iteration gets built and executables are available after running tests. Stage to PPE Bits are deployed into a test environment for E2E testing. Stage to PROD After validating the build, bits are deployed into a newly created slot in production. Approval definition Pipelines can include deployment stages. Those can be guarded by manual approval locks which pause the pipeline. Release pipeline AWS gives developers the ability to define a task pipeline with customizable stages to cover the different steps for building software. Slot swapping Thanks to slots, it is possible to test a slot before turning it into production by just redirecting the production traffic. Deployment slots Microsoft Azure has introduced staging slots in order to facilitate the delivery of new versions of your application.
  • 24. Continuous Deployment Definition noun The process to build, test, configure and deploy from a build to a production environment. Sam Guckenheimer (Microsoft Visual Studio Cloud Services) Though similar, very similar, the definitions of Continuous Delivery and Continuous Deployment do actually differs from the very last step. They are two different practices! Attention
  • 25. CDp architecture SOURCE CONTROL CONTINUOUS INTEGRATION CONTINUOUS DELIVERY CONTINUOUS DEPLOYMENT CDp is the last step in the release pipeline. If present, it is built on top of CD. The foundamental point is that the process is fully automated. As soon as the build is emitted and passes all tests, customers will have immediate access to it in their Production environments. Final stage Commit A change (feature or bug fix) is submitted to the repository for merge into the codebase. Test Tests are run against the generated build. If one or more tests fail, the merge job is aborted. Build Tests are run against the generated build. If one or more tests fail, the merge job is aborted. Stage to PPE Build is deployed into a pre-production environ- ment and published for download. Stage to PROD Build is deployed directly to production into the customer’s live environment.
  • 26. Warning Continuous Delivery Continuous Deployment Always remember that the following holds:
  • 27. Commit A change (feature or bug fix) is submitted to the repository for merge into the codebase. Test Tests are run against the generated build. If one or more tests fail, the merge job is aborted. Build Tests are run against the generated build. If one or more tests fail, the merge job is aborted. Stage to PPE Build is deployed into a pre-production environ- ment and published for download. Stage to PROD Build is deployed directly to production into the customer’s live environment. Cont. Integration Cont. Delivery Deployment Continuous Delivery The deployment must wait a manual approval process to grant permission. Continuous Deployment As soon as the build is available, the release definition deploys it to Production. Automatically triggered as build is over.The way the deployment is triggered is the key point which differentiates the two practices. In CD, deployment to DevOps Continuum production is done manually over permission granting. In CDp this happens automatically and the buid goes straight into Production!
  • 28. Fast deployment rollback Everything can go wrong, if it does, a process for rolling back a deployment to the last stable build must be in place. E2E automation Having E2E tests is important so that high critical user scenarios are tested. Code coverage Good testing is a must. Ensuring all code paths are also covered is important to have a good guarantee the product is high-severity bug-free. Continuous Deployment is a risky practice because builds get deployed straight into production. An organization must be prepared to make this step, and some key requirements can help you understand whether you are ready to implement CDp: Be aware
  • 29. It takes time Cont. Delivery Builds are published and automatically deployed to PPE. Cont. Deployment Customers receive new deployments automatically after every commit. Cont. Integration Builds automatically generated after every commit. Agile development Engineering Teams work with Agile methodologies. Think about it, CDp is cool but is also pretty scary! Deploying automatically to the customer means that every uncaught bug is going straight to production! Given this high risk, CDp is a practice that not many can achieve and should implement. The point is, if you wanna get there, be aware that this last step in the continuum takes long time and much effort. You gotta be ready
  • 30. Microservices Client svc Service responsible for facing the user’s requests and redirect them to the back-end. Business Logic Services running the different parts of the application’s logic Security svc Service responsible for taking care of security-related operations. Data svc Service responsible for feeding data to requestors and hosting one or more databases. Authentication Service responsible for taking care of authentication-related requests. An architectural pattern that applications should follow. The different parts of the logic are separated and hosted in isolated processes residing in different services. What One word: Scalability. By using MS architectures, it is possible to easily scale up or down an entire application in the cloud. Why Diagram showing the architecture of a possible application divided into its main components. Parts communicate via the HTTP protocol. Example
  • 31. Monitoring Analyze Developers analyze results in next iteration and take action accord- ing to feedback. Collect All feedback from application is collected and assembled thanks to predefined queries. Log data Your application and your code has to be instrumented to emit usage informartion. 20% 35% 10% 7%7% 10 20 30 30 40 The ability to collect usage data from your application and react on it as part of the ordinary development process. It is a way to get feedback from your users without bothering them asking for it. What The Team must ensure to have telemetry analysis and action as part of its development process. Process feedback Logging telemetry is good, but you must ensure you log enough information and, at the same time, you don’t log too much. Careful For many reasons. Catching issues before they surface, improving the user experience, improving the service and its components. Why
  • 32. Application Telemetry Service Monitoring There are different ways to ask for feedback from your customers. One is asking them, but we know it can be bothersome for users to answer online questions. So we have instead our application tell us about the user experience and how the application is performing. Data from your application Today’s cloud systems allow organizations to deploy solutions fast. They also provide monitoring tools out of the box with nice and cool dashboards to check the state of your services and notifications to get alerted when something’s wrong. Service health check
  • 33. Why should I be so concerned about Telemetry? Q “You don’t go to the Cloud without some good Telemetry. It would basically be suicide!” A A manager I heard in office the year we were launching our solution to the Cloud
  • 34. Commit A change (feature or bug fix) is submitted to the repository for merge into the codebase. Emit telemetry The product emits telemetry as users work on it. Services are responsible for storing telemetry data in the cloud. Collect telemetry Periodically, as part of the development process, Teams collect telemetry and process the results by aggregating data and producing actionable output. Act on telemetry Basing on results from telemetry, the next iteration of the product will contain bug fixes or features which improve the product. Test Tests are run against the generated build. If one or more tests fail, the merge job is aborted. Build Tests are run against the generated build. If one or more tests fail, the merge job is aborted. Stage to PPE Build is deployed into a pre-production environ- ment and published for download. Stage to PROD Build is deployed directly to production into the customer’s live environment. Customer provides its feedback in a passive way! Thanks to telemetry, it is possible to log user’s activity. Feedback The product undergoes development, testing and deployment. In this phase, the direction is from Teams to the customer. Development
  • 35. The End Thank you This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License Cover: Wave edges of IT This work includes artworks designed by Freepik.com. October 2018 v1.4 Keywords #methodologies #devops #agile #techtalk #microsoft #it #technology #software #engineering #development Presentation info Duration: 30 mins. Background: Technical Audience: Developers and operations This work includes artworks designed by Shutterstock.com. Andrea Tino Software Development Engineer II Twitter: E-Mail: @_atino andrea.tino@microsoft.com Seminar on Development Methodologies October 2018, hosted by: