DevOps EN
DevOps EN
Implementation Guide
Whitepaper
Aa
Dev Ops
Today’s market calls for the development and release of software
functionalities to become increasingly agile.
2
Reasons for getting started in the DevOps world
______
«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
· Shared responsibility
5
Getting started
6
Get on it!
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.
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.
9
DevOps in the GeneXus world
10
Basic recommendations
for doing DevOps with GeneXus
Make sure that the entire DevOps team has knowledge about testing processes.
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
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.
13
Find out how GeneXus can do the
same for your company.
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