Clemente Biondo, Engineering Ingegneria Informatica -
When the COVID 19 pandemic started, Engineering Ingegneria Informatica Group (1.25 billion euros of revenues, 65 offices around the world, 12.000 employees) was forced to put their digital transformation to the test in order to maintain operational continuity. In this session, Clemente Biondo, the Tech Lead of the Information Systems Department, will share how his company is reacting to this unforeseeable scenario and how Docker-driven digital transformation had paved the path for work to continue remotely. Clemente will discuss learnings moving from colocated teams, manual approaches, email based-business processes, and a monolithic application to a mature DevOps culture characterized by a distributed autonomous workforce and a continuous deployment process that deploys backward-compatible Docker containerized microservices into hybrid multi cloud datacenters an average of twice a day with zero-downtime. He will detail how they use Docker to unify dev, test and production environments, and as an efficient and automated mechanism for deploying applications. Lastly, Clemente shares how, in our darkest hour, he and others are working to shine their brightest light.
Dev Dives: Streamline document processing with UiPath Studio Web
COVID-19 in Italy: How Docker is Helping the Biggest Italian IT Company Continue Business Operations
1. Docker Helping the Biggest Italian IT
Company Continue Business Operations
During the COVIDー19 Pandemic
DOCKERCON 2020
2. Tech Lead / Master Solution Architect at Engineering Ingegneria
Informatica
20 years of expertise in
• Architecture of large-scale distributed systems
• Technical Leadership
• Project Integration
DOCKERCON 2020
A little bit about myself
8. ▪ Engineering developed his Digital
Workplace over the last three years
▪ It fully operates on cloud
▪ serves 12,000 professionals in more than
60 locations worldwide
▪ As part of our Digital Transformation offer, we
manage 250,000 remote workplaces for our 400
clients
DOCKERCON 2020
Engineering Digital
Workplace
7 | 46
9. A DevOps workplace - Docker
Before Docker work remotely meant:
▪ constant use of one or more VPNs
▪ remotely connect to the test/prod
machines
▪ manual operations
DOCKERCON 2020
With Docker:
▪ a reproducible development
environment
▪ same container in dev, test and prod
▪ an "integration environment" that
runs locally
▪ replace stubs with real services
▪ Pre-canned images, readily
accessible and shareable
▪ Immutable infrastructure
8 | 46
16. A recursive composition
of autonomous organization units
supporting each other
DOCKERCON 2020
Our not-so-secret
recipe
14 | 46
17. Docker: an essential part
of our DevOps Culture
▪ Our devops culture lead us to choose docker
▪ We promote training and continuous learning to
support technological innovation
▪ As part of our educational offer
we provide Docker courses and certifications
▪ Our IT & Management School "Enrico Della
Valle" provided 384 different training courses
for a total of 19,000 training days in
2019 both for internal training and
for our Customers
DOCKERCON 2020
15 | 46
18. ▪ We develop and maintain our Company
Information Systems
▪ We enhance information generations and
dissemination
▪ We support decision-making and administrative
functions
▪ We are called to continually improve and
innovate our business processes
DOCKERCON 2020
EII IISD -
What do we do?
16 | 46
25. ▪ It’s a brief requirement expressed from the
perspective the user
▪ It captures WHO is the user, WHAT he wants
and WHY
▪ It’s a placeholder for a conversation
▪ It delivers value to the end user
▪ Should be doable in a couple of days max
▪ It's accompanied by its acceptance criteria
DOCKERCON 2020
User Story
User interface
Service Domain Logic
Data Persistence
22 | 46
26. DOCKERCON 2020
A day in the life of a Develops teammate
branch-per-issue workflow
by Atlassian, licensed under CC
23 | 46
27. Make frequent releases, multiple times a day with small functionality increments.
Feature flag: new functionalities should be enabled / disabled live, via configuration, without
deploying new code.
Open Close principle: software should be open for extension, but closed for modification.
Design to maximize reversibility and resilience.
KISS principle: simplicity should be a key goal.
The risk level of the release is strongly correlated with the quality of the Test Suite.
DOCKERCON 2020
CI/CD Principles and Best Practices
24 | 46
31. ▪ Build and Unit Test execution through Jenkins
docker agent based on Maven Image
▪ Code Quality Analysis through Maven Sonar
plugin
▪ Sonarscanner for Jenkins plugin checks quality
gate status
DOCKERCON 2020
Build, Unit Test & Code
Quality (CI)
28 | 46
32. ▪ Based on project metadata (pom.xml GAV),
Java Artifacts are shared on Snapshot/Release
Artifact repository (Sonatype Nexus Repository
Manager)
▪ Docker images build and share on Docker
registry (Sonatype Nexus Repository Manager)
as Snapshot
DOCKERCON 2020
Ship Artifacts
and Images
29 | 46
33. Smoke tests
▪ Instantiate container with docker-compose (one
time)
▪ Execute all smoke Test using Postman/Newman
or Java Tests developed using JUnit or TestNG
Integration Test
▪ For every test:
▪ Instantiate container with docker-compose/Test
container (Setup)
▪ Execute test using Postman/newman or Java
Integration tests drive by JUnit or TestNG
DOCKERCON 2020
Smoke and
Integration Tests
30 | 46
34.
35. ▪ Java test developed using Selenium Remote
Drive Framework following page object pattern
▪ Run test using docker seleniumHQ/docker-
selenium image on Firefox and Chrome
▪ On test fail → jira plugin → kanban update
DOCKERCON 2020
UI Tests (AAT)
31 | 46
36. ▪ Conditional step based on Git Branch
▪ If ready for release, share image on
Docker registry (Sonatype Nexus Repository
Manager) as Release
▪ Update Configuration Management Metadata
(ansible playbook on git repository)
▪ Trigger deploy job based on ansible script
/ docker-compose / stack deploy on docker
swarm
DOCKERCON 2020
Ship and release
32 | 46
37. DOCKERCON 2020
Our infrastructure
Data centers at foundation of today and tomorrow intelligent, digital,
mesh world enabling new digital solutions and continuous optimization
CYBER SECURITY
INNOVATION
ACCESSIBILITY
5.700 sqm
Surface
+21.000
Server Hosted
10 Gps
Link Speed
3
Hybrid Cloud Stack
DIGITAL TECHNOLOGY PLATFORMS
Connecting Resources | Bimodal Approach | Platformizing Delivery
4
Data Center
+10
PB Storage
GREEN APPROACH
BUSINESS CONTINUITY
STANDARDS & AUTOMATION
33 | 46
38. DOCKERCON 2020
Our infrastructure
DATA CENTERS
4
MilanPont-Saint-Martin Turin Vicenza
MAN Access Point MAN Access PointDirect Access all
network providers
Direct Access all
network providers
CAPILLARY PRESENCE ON ITALIAN TERRITORY WITH 4 DATA CENTERS INTERCONNECTED BY HIGH
SPEED LINKS
Certifications and Compliancy:
ISO 9001 Quality
ISO 20000 Processes and Services all ITIL compliant
ISO 27001 Security, extended during the 2017 to the ISO 27018
Cloud IaaS Services
ISO 14001 Environmental Quality System
Uptime Tier 4 certification for the Vicenza Data Center
34 | 46
40. https://mcp.cloudeng.it
The main evolutions of our Roadmap are proceeding both in
terms of integration with information systems and with the
evolution of the catalogue:
▪ Enriching the IaaS offer with new services (e.g. Disaster
Recovery aaS, Business Continuity aaS, etc.)
▪ Enabling new suppliers (e.g. Google, Alibaba, Oracle, etc.)
- from today connectors for Azure and AWS are available)
▪ Enrich the PaaS offering with new platforms and Container
as a service by integrating Docker technology into a
container cluster system
▪ Create new SaaS offerings to add to the catalog based
also on Docker technology
DOCKERCON 2020
Multi Cloud Portal Roadmap
36 | 46
41. DOCKERCON 2020
MCP Continuous Delivery Pipeline / 1
37 | 46
Docker-centric development workflow with:
▪ Docker-compose to manage project
dependencies in dev
▪ Container-based CI (CircleCI)
▪ Automated integration tests run on built Docker
image
▪ Docker images built at the end of the CI pipeline
42. MCP Continuous
Delivery pipeline / 2
When code ship to production:
▪ Every container log get pushed
to Graylog
▪ Software exceptions aggregated
on Sentry
▪ Monitoring container resources
on Grafana with Prometheus +
google/cadvisor
DOCKERCON 2020
38 | 46
43. DOCKERCON 2020
We are fighting back / Eng-DE4Bios
Citizens
ea th are
or ers
e istr
os stem atform
ashboard
I I
aborator
na ti s
e troni
ea th e ord
or ser i es
bod
ax re istries
ashboard
mart o ernmentea th
ationa
e iona
re istries
ospita i ation
mer en
oom f o s
39 | 46
44. DOCKERCON 2020
What we know today
about SARS-CoV-2
40 | 46
▪ Very high transmissibility
▪ Lethality rate in older population
▪ Young people as a contributor to the spread
▪ Possible recurrence of the disease
▪ Realization of the vaccine in uncertain times
▪ Unknown real number of contagions
40 | 46
45. ▪ Collapse of health care systems
▪ Global economic downturn
▪ Stop of social life
▪ Increase in social inequalities
DOCKERCON 2020
Impacts of the pandemic
41 | 46
46. ▪ Stop the contagion
▪ Decrease/Stop deaths
▪ Making healthcare personnel work safely
▪ Entering the New Normal
▪ Restart all production sectors
▪ Fostering the restart of the global economy
DOCKERCON 2020
Challenges to face
42 | 46
47. ▪ It is our biosurveillance solution that maps and geolocates
infected subjects, who has come into contact with them and
the presence of clusters that require high attention
▪ Based on our Digital Enabler ecosystem platform
▪ Inform in real time about the state of the infected population
▪ Monitors the spread of the virus among health workers
▪ Provides a relationship service that identifies those likely to
be exposed to the infection
▪ Provides a service that identifiesinfos in order to reconstruct
the clusters of possible infected
▪ Obviously it runs on Docker containers
DOCKERCON 2020
What is Eng-DE4Bios
48. DOCKERCON 2020
What is Eng-DE4BIOS
44 | 46
▪ It is our biosurveillance solution that maps and geolocates
infected subjects, who has come into contact with them and
the presence of clusters that require high attention
▪ Based on our Digital Enabler ecosystem platform
▪ Inform in real time about the state of the infected population
▪ Monitors the spread of the virus among health workers
▪ Provides a relationship service that identifies those likely to
be exposed to the infection
▪ Provides a service that identifiesinfos in order to reconstruct
the clusters of possible infected
▪ Obviously it runs on Docker containers
49. DOCKERCON 2020
What is Eng-DE4BIOS
45 | 46
▪ It is our biosurveillance solution that maps and geolocates
infected subjects, who has come into contact with them and
the presence of clusters that require high attention
▪ Based on our Digital Enabler ecosystem platform
▪ Inform in real time about the state of the infected population
▪ Monitors the spread of the virus among health workers
▪ Provides a relationship service that identifies those likely to
be exposed to the infection
▪ Provides a service that identifiesinfos in order to reconstruct
the clusters of possible infected
▪ Obviously it runs on Docker containers