0% found this document useful (0 votes)
29 views15 pages

DevOps EN

Uploaded by

Haitam Souissi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
29 views15 pages

DevOps EN

Uploaded by

Haitam Souissi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 15

DevOps:

Implementation Guide

Whitepaper

Aa

Dev Ops
Today’s market calls for the development and release of software
functionalities to become increasingly agile.

To fulfill such requirement with an ongoing delivery of value, pro-


cesses –in addition to tools and working methods– must be sub-
jected to assessment and changes by means of a method, per-
taining to software engineering, called DevOps.

The name, invented by Belgian-born technology consultant and


programmer Patrick Debois, is a combination of the terms “de-
velopment” and “operations” that summarizes the benefits of
dismantling, with the implementation of agile tools and process-
es, the barriers that exist between development and operations
teams.

In 2009, the word gained significance worldwide with the launch-


ing of an event known as Devopsdays which was organized by
Debois), that had widespread effects on social networks and cap-
tured the attention of the industry’s major players like IBM.

Below is a detailed description of the changes required in orga-


nizations willing to implement a DevOps culture, including the
processes and tools to be used for ensuring the delivery of an
enhanced product.

2
Reasons for getting started in the DevOps world

Technology companies are aware of the increasing automation; and


significance of having agile and ongoing
releases of their products in the market. computer security.
However, they face difficulties in finding
the best way to solve situations such as: DevOps is the working method for solv-
ing many of the aspects mentioned
the barriers existing between dif- above.
ferent work teams;
With a group of specific practices, this
the smoothness of internal cooper- methodology brings a novel way of
ation; thinking and approaching situations in
order to reduce barriers between peo-
the best use of resources available; ple, while improving automation of pro-
cesses throughout the value chain.
streamlining the production of ap-
plications;

reducing time of failure in services;

______
«DevOps focuses on principles, practices, and results. For a
shift towards DevOps, it is of the essence to ensure that teams
are well prepared, in addition to understanding everything
that surrounds that culture, and adjust processes accordingly
bearing in mind actual needs, to end up with the installation
of the technology that aids in implementing these practices»
DevOps Consultant, Genry Leiva at the Doing DevOps with GeneXus webinar that also included Software Engi-
neer Enrique Almeida.

3
During an interview by Devopslatam, De-
bois affirmed that the key to team inte- the key to team
gration is understanding problems that
integration is
colleagues from other areas might en-
counter. “Sometimes, we think that oth- understanding
ers bring their problems on us and con-
sider them opponents, but it’s not so. We
problems that
must be comprehensive and capable of colleagues from
discussing ways to make things work out
better. Understanding your own problems other areas might
and the problems of other is the first step encounter.
to take. Afterwards you can start align-
ing the business and improve processes,
and there small victories will be noticed.
It’s important to build a chain with such
achievements, to be aware of what will be
in your hands or what will start to happen.”

4
Initial recommendations

· Be patient · Collaboration

It’s important to understand that it’s not Meetings are a good integration method
possible and you should not change ev- for individuals to become aligned once
erything from the start. they all know what everyone else is work-
ing on. This makes project planning and
preparation easier.
· Define an iterative and incremental
process
· Empathy
It’s convenient to start with small and
scarcely ambitious objectives with the Diverse opinions can lead to disagree-
idea of assessing results to start improv- ment and conflict, and the best way to
ing. solve those situations is for the parties to
talk in order to comprehend all arguments
and determine if it’s possible to reach a
· No need to undo current development solution for the various teams. In the end,
processes it’s a matter of being empathic and work-
ing together.
DevOps practices may be implemented
alongside the work that is done within the
organization. · Think about the system

It’s important to have a global vision of


· No silos everything happening. It’s not about ev-
eryone fixing their own part. Because sys-
Teams doing work separately and inde- tems are complex, they must be consid-
pendently should be avoided. ered globally.

· Shared responsibility

A sense of group responsibility must be


fostered towards maintaining the product
and building new projects.

5
Getting started

Companies might encounter difficulties Carry out training and workshops,


in adopting the DevOps culture. To get a including those not detected in Stage 1
clearer idea on how to get started, con- but appearing in this stage.
sider the following basic method in the
implementation of DevOps projects: Implement all tasks necessary for
the MVP.
Stage 1 | General analysis
Provide feedback to the staff in-
Evaluate the organization’s maturi- volved.
ty model.
Stage 3 | Review of results and plans
Create a proposal for process ad- for following project
justments, including the metrics to be
measured. Analyze results in accordance with
the scope proposed.
Develop a training plan for the
teams. Provide feedback on the adoption
of these practices and the results ob-
Review the tools available in the or- tained.
ganization, and their scope and limita-
tions, since the objective is actually not Plan the next practice to be included.
adding new technology but rather mak-
ing the most of the resources at hand.

Stage 2 | Work plan

Define a work team with members


from different areas. This group will be-
gin the evangelization process and the
changes in paradigm for the organiza-
tion.

Create a Minimum Viable Product


(MVP) and an action plan. At this point,
the first practices to be implemented
should be defined, regardless of wheth-
er it is a small project or a project in a
specific development area.

6
Get on it!

1. Teams Tips for organizing teams:

In many companies, it’s common for teams Think big. DevOps teams are made up not
to work separately from one another, so, uni- only by people from the development and
fication is one of the main changes required. operations areas, but also from testing, de-
sign, and IT security, among others. Such
“Unified teams are possible regardless of mergers give way to names like:
whether they work at the same location or
not. In either case, the teams must be avail- DesignOps
able to work jointly and while connected as Integration of the design team with the de-
a sort of tribe,” explained GeneXus Techni- velopment team.
cal Support Manager Silvia Keymetlian.
DevSecOps
The dictionary of the Royal Spanish Acad- Integration of the computer security, deve-
emy defines Tribe as a group whose mem- lopment and operations team.
bers share customs they have in common.
In the tech industry, tribes are organized Testing. It’s ideal do testing at all stages in
teams with 5 to 100 members (and most the project. It should be borne in mind that
ideally not more than 100), who work in a some methodologies are based on test-dri-
connected way towards a common interest. ven development to start developing from
tests.

Pair programming. This common and


effective practice consists of developing
the system in pairs (both code and tests).
This is also useful for revising code.

7
2. Processes Analysis. With the app in production, an
analysis must be carried out with the pur-
Architecture. To determine the type of pose of learning and assessing ways to
architecture that should be used, it’s nec- improve the code.
essary to consider the pros and cons im-
plied in each option. We mentioned that “It’s important to understand the code’s
markets call for quicker software releases, behavior during production. Despite the
so, working with monolithic architec- numerous tests done on the app, it is pos-
tures is not ideal in such cases. sible that a traffic peak was never reached,
so this information could be obtained
“When you need to make changes in a during the production stage,” added Sil-
functionality or move a field on a screen, via.
then the whole system must be released
and that could prove problematic. It may Metrics. Measurement results will indicate
also happen that another part of the ap- the aspects to be adjusted in the plan.
plication is still not ready when it’s time to Some of the variables to measure are:
release those changes, so, for example,
those whose part is ready must wait for the term implied for delivery of the
the rest of the team. This causes chaot- changes;
ic and conflictive cycles that are not at all
agile. Therefore, application architectures he frequency of deployment;
now tend to be modularized, making the
system and the architecture as discon- the time required to restore the ser-
nected as possible,” said Keymetlian. vice in the event of a failure. At this point,
you must act quickly overcome problems
Infrastructure. “The cloud is the most and immediately release the fix, which
used resource these days. A good advice must go along all steps in the pipeline;
for managing the infrastructure is to write
a script with all the requirements for build- failure rate; and
ing the server and then execute it every
time that such environment must be cre- work satisfaction.
ated. This helps avoid human errors and
guarantees that the configuration is done Tests. Tests should be carried out through-
in the same way. out the process. Automated tests will aid
Once the system’s architecture has been towards the ongoing delivery of products,
defined, it is necessary to consider things including speed and quality. In the case of
that must be done daily to achieve an agile failures, then that information will be avail-
process, in addition to turning automatic able before the app goes to production.
as many tasks as possible to make things
flow towards the agile delivery we seek.”

8
3. Automation The following are some of the tasks that
should be automated in order to define a
When the processes are already defined, pipeline:
all possible tasks must be automated so Code
that everything flows and agile deliveries Build
are achieved. Test
Integrate
Automation transfers to computers all the Deploy
repetitive tasks that don’t call for human Release
thinking and this enables the team to fo-
cus on problems that come up and their Continuous Integration. It consists of
possible solutions. Automations help en- automated integration and continuous
sure that not a single step is missed. validation. For example, the code must
be tested individually first; and then, if
it works well, it may be integrated in the
whole system. This method reduces the
probability of errors and minimizes possi-
ble conflicts.

Continuous Delivery. It’s important that


automation range from implementation
all the way to production cutover and the
preparation of the release.

Continuous delivery is achieved by auto-


Automation transfers mating the different stages of the devel-
opment process, which leads to a pack-
to computers all the
age with everything necessary for the app
repetitive tasks that to go into production. The only thing done
manually at this stage is copying the pack-
don’t call for human age, with just one click, to the server where
thinking and this the application will be made available.

enables the team to DevOps. This stage is reached when the


focus on problems process includes the app’s operation and
monitoring. This generates the feedback
that come up and their information for the plan, as well as the ac-
tions to be taken.
possible solutions.

9
DevOps in the GeneXus world

Many organizations –like Microsoft, Ama- GeneXus


zon and Google– have used DevOps for
increased agility and for enhancing the
has included
release of their applications. GeneXus DevOps in the
has also joined this idea by making chan-
ges in working methods and in its relea- different stages
ses, seeking to provide higher value to of testing, static
the solutions created by the community.
code checking,
GeneXus has included DevOps in the
deployment
different stages of testing, static code
checking, deployment tasks, and the tasks, and the
monitoring of apps in production, among
others.
monitoring of apps
in production,
DevOps is capable of covering more
parts of the app’s extended development among others.
cycle, and it’s applicable to both large
development teams and small groups of
developers.

In line with the premise of automating


everything liable of being automated, Ge-
neXus has available a wide range of tools
that allow constructions, deployments,
API checks, performance checks, unit
tests, integration tests, and much more.

Having a single reference Repository mi-


nimizes manual errors and leads to an
optimal level of traceability capable of
identifying, from the version installed to
the fixes and data of changes made, as
well as unwanted changes.

10
Basic recommendations
for doing DevOps with GeneXus

Use GeneXus™ Server, the Software Configuration Management tool to work


with GeneXus that also enables the unification of all automation tasks associat-
ed with DevOps.

Make sure that the entire DevOps team has knowledge about testing processes.

Automate tests from the beginning of the development process.

Carry out functional tests.

Boost agility, automation, security, testing and monitoring by using tools such
as GeneXus Server, GXtest, Modules, Log API, Deployment Units, MS Build, Jen-
kins, and Docker Containers.

11
GeneXus tools for DevOps

The following are the tools offered by Import of external designs


GeneXus for automating the entire For scenarios requiring fully customized ex-
DevOps process: periences for a very particular reality, the
functionality of importing external designs
GeneXus™ Server from Sketch and Figma has been enhanced
The product that automates the integration to allow designers to work in their favorite
of knowledge while improving teamwork ca- tool and reduce friction to get from the de-
pabilities and with no additional integration sign to a pixel-perfect implementation.
costs (enables the inclusion, in the project,
of managers or the client involved for them GXtest
to supervise the system’s development). GXtest is a product developed to design,
automate and execute functional tests in
This tool offers the possibility to create and web and mobile applications developed
monitor Continuous Integration Pipelines with GeneXus. The best part of it is that
that allow for the overall integration and GXtest users need no programming knowl-
automation of the Continuous Integration edge, because GXtest is intuitive and very
process. easy to use.

GeneXus™ Server stores complete infor- Containers


mation on changes (when and why they GeneXus offers the option to deploy in
were made) in a historical log that aids in Containers and in other environments like
understanding the evolution of objects, IBM, Amazon, Google, Azure, SAP, Dockers,
and in identifying changes that could have and Kubernetes, to help make the app’s
caused a specific error, with the possibility deployment much faster and without the
of a quick solution to it. installation complications of installing a
server. All this is programmable and au-
Modules tomatable, and thus easy to include in the
Modules constitute the first thing that is DevOps process.
found when building Knowledge Bases
(KB). They help organize so developers
may know which modules they must work
on. Later, this functionality allows them the
flexibility to pack and distribute the mod-
ules, making architecture changes easier,
when necessary, by shifting from a mono-
lithic system to other options.

12
Deployment Units SSO GAM
This is a deployment made from the infor- SSO GAM enables the use of a single user
mation contained in an object. Even when login between two different web apps (this
having only one Knowledge Base (KB), avoids a new request for login every time).
this functionality facilitates the creation of
other deployment units for when the time
comes to migrate from a Monolithic Archi-
tecture to a Micro Services Architecture. It
is possible to have Deployment UNIT for
batch processes, for mobile services, for
the frontend, and for the backend.

Log API
Allows the user to monitor the application
by recording (on the Log files) one or sever-
al of the processes that are running.

With this, information is obtained regarding


the app’s behavior, which in turn provides
feedback information for the plan, allowing
for everything to flows permanently.

13
Find out how GeneXus can do the
same for your company.

[email protected]

14
MONTEVIDEO - URUGUAY Av. Italia 6201- Edif. Los Pinos, P1 (598) 2601 2082
CIUDAD DE MÉXICO - MÉXICO Hegel N° 221, Piso 2, Polanco V Secc. (52) 55 5255 4733
MIAMI - USA 8950 SW 74th Ct, Suite 1406 (1) 201 603 2022
SÃO PAULO - BRASIL Rua Samuel Morse 120 Conj. 141 (55) 11 4858 0300
TOKYO - JAPAN 2-27-3, Nishi-Gotanda (81) 3 6303 9381
Shinagawa-ku, Tokyo, 141-0031 (81) 3 6303 9980

15

You might also like