Direcció de Desenvolupament de Sistemes...

download Direcció de Desenvolupament de Sistemes d’Informacióajuntament.barcelona.cat/imi/sites/default/files/201711_pla... · •Exemple: Gitflow, Utilització obligatòria de les branques

If you can't read please download the document

Transcript of Direcció de Desenvolupament de Sistemes...

  • Pla de Sistemes de Desenvolupament

    Direcci de Desenvolupament de Sistemes dInformaci

    Novembre del 2017

  • 2

    Continguts

    ARQUITECTURA DE SERVEIS

    DEVOPS

    MOBILITAT

    OBJECTIUS ESTRATGICS

    AGILE

    3.

    2.

    1.

    4.

    5.

  • 1. Objectius 2018-2019

    Proveir a lAjuntament de les arquitectures i mtodes que permetin l'alineament

    dels serveis TIC amb els objectius estratgics del Pla de Transformaci Digital de

    lAjuntament de Barcelona.

    Objectiu principal

  • 1. Facilitar laccs i Integrar Sistemes

    Lajuntament vol respondre a les noves necessitats TIC que lempleat necessita i que el ciutad demana. Cal exposar de dades i serveis del ajuntament cap a la ciutadania i mobilitzar els processos de negoci cap a nous canals de comunicaci.

    Per abordar aquesta evoluci tecnolgica cal donar el salt a una arquitectura de desenvolupament basada en serveis i micro-serveis. Desenvolupant aplicacions monoltiques NO es pot cobrir aquestes necessitats.

    Ladopci daquet tipus darquitectura de desenvolupament comporta reptes que de forma imprescindible s'han d'abordar : Seguretat i Governabilitat.

  • 1. Assolir uns sistemes ms gils

    Els principis Agile representen una actitud cap al canvi que s com tant per a Agile com per DevOps.

    Les metodologia Agile ha destar suportada per eines que assegurin la seva implementaci.

    Els conceptes i prctiques DevOps donen homogenetat i automatitzaci a tot el cicle de vida del servei, proporcionant traabilitat i visi global a tots els actors, des de la concepci fins a la prestaci del servei.

    DevOps is Agile applied beyond the software team (www.atlassian.com/agile/devops)

  • 1. Fer una administraci sostenible: Qualitat i Racionalitzaci

    Avaluar de forma contnua: Quantificar, Qualificar, Supervisar, Acceptar o rebutjar.

    Poder establir Objectius i SLAs amb els provedors.

    Gestionar el deute tcnic.

    Governar: Anticipar-se als problemes, Negociar amb els provedors utilitzant criteris objectius.

    Eliminar plataformes Obsoletes, decomissant aplicacions.

    Modernitzar les nostres aplicacions i implementar-les amb Tecnologies Obertes.

    Continutat del J2EE i Impuls LAMP i altres plataformes o llenguatges Open.

  • 2. Arquitectura Serveis. Motivacin

    Y a quien lo necesite

    Integrar sistemes per

    simplificar processos

    Fer una administraci

    sostenible

    Facilitar laccs a la informaci

    per treballadors i

    ciutadans

    Assoli uns sistemes ms

    gils

    Mediante la construccin y publicacin de API(s), seremos capaces de ofrecer servicios de negocio y datos donde sea necesario.

    Motivacin estratgica

  • 2. Arquitectura Serveis. Motivacin

    Movilidad

    Iris

    Autoritas

    CIEP

    Llei de dependncia

    Reagrupacin familiar

    Interoperabilidad

    multi-plataforma

    J2EE

    Javascript

    Pyton

    NETCore

    Desarrollo Actualizacin digital

    WEB. Jaascript+CSS3

    Microservicios

    Contenedores

    DEVOps

    Interoperabilidad con el exterior

    Ciudadana

    Entidades colaboradoras

    4 grandes ejes que nos est empujando hacia este tipo de desarrollos orientados a servicios.

    Motivacin tecnolgica

  • 2. Arquitectura Serveis. Motivacin

    Catalogacin

    Seguridad

    Polticas de uso Monitorizacin

    Motivacin tecnolgica Las necesidades a cubrir por el API Manager es la gobernabilidad y securizacin del negocio de los nuevos sistemas de informacin.

  • 2. Arquitectura Serveis. Estado actual y evolucin

    Actualmente, el desarrollo de sistemas de informacin en el IMI esta basado en arquitecturas denominadas monolticas

    Para dar solucin a estos problemas, se evoluciona hacia un modelo o estilo de Arquitectura orientada a Micro-Servicios.

    De esta forma es complicado y costoso el extraer funcionalidades para poder ser consumidas desde otros sistemas de informacin, otros canales de consumo ( Movilidad ) o por otros actores.

    Estos servicios son construidos alrededor de funcionalidades de negocio y desplegados de manera independiente. Pueden estar escritos en diferentes lenguajes de programacin y utilizar diferentes tecnologas de almacenamiento

  • 2. Arquitectura Serveis. Estado actual y evolucin

    Adopcin de una arquitectura de

    servicios

    Gobierno y seguridad

  • 2. Arquitectura Serveis. Hoja de ruta

    Este cambio de arquitectura de desarrollo exigir : 1. Despliegue de herramientas

    1. Api Manager 2. Identity Provider

    2. Conceptualizacin del servicio 3. Despliegue del servicio

    1. Normativas de seguridad 2. Normativas de desarrollo 3. Normativas y automatizaciones de despliegue 4. Normativas de consumo 5. Niveles de exigencia en contrataciones ( pliegos )

    4. Formacin 5. Incorporacin de APIs existentes ( umbrela )

    Catalogacin de servicios 1. Publicacin 2. Versionado

    Administracin y gestin de servicios 1. Auditorias de consumo 2. Monitorizacin en tiempo real 3. Logs de actividad 4. Analticas

    Seguridad de servicios 1. Por sistema de

    informacin 2. Por usuario

    Hito 2do semestre 2017 1er semestre 2017 2so semestre 2018

    Despliegue de herramientas. API Manager

    Despliegue de herramientas. IDP

    Conceptualizacin del servicio

    Despliegue del servicio

    Incorporacin de APIs existentes

    1 2 3

    1

    1

    2

    3

    3

  • 3.- Qu s DevOps?

    13

  • Simplificar les responsabilitats

    Treure dependncia dArquitectura i de Producci

    Simplificar o eliminar els frameworks

    Independncia de la tecnologia

    Utilitzar la millor tecnologia per cada projecte

    Java, Python, Nodjs, Mongodb, php...

    14

    3.- Qu volem?

    Stack dExecuci

    Aplicacions

    Mduls comuns (Framework, Signatura, )

    WebSphere (8.5.5)

    JDK (1.7)

    OS Suse Linux

    Vmware/Hyper-V

    OS

    HardWare

    Responsabilitats

    Proveidor

    IMI Arquitectura i producci

  • Simplificar les responsabilitats

    Treure dependncia dArquitectura i de Producci

    Simplificar o eliminar els frameworks

    Independncia de la tecnologia

    Utilitzar la millor tecnologia per cada projecte

    Java, Python, Nodejs, Mongodb, php...

    3.- Qu volem?

    Stack dExecuci

    Aplicacions

    Mduls comuns (Framework, Signatura, )

    WebSphere (8.5.5)

    JDK (1.7)

    OS Suse Linux

    Vmware/Hyper-V

    OS

    HardWare

    Responsabilitats

    Proveidor

    IMI Arquitectura i Producci

    Docker Engine

    OS Suse Linux

    JDK X

    Tomcat X

    App 1

    OS

    Sprint Boot

    App 2

    OS

    Python

    App N

  • Equips de desenvolupament autnoms (filosofia scrum)

    Analista, Desenvolupador, dissenyador

    Per tamb Arquitecte

    Lequip del projecte ha de ser capa de portar el codi a producci

    Arquitectura continuar donant un marc de referencia per ser menys intrusiva

    Ens ficarem ms en larquitectura del projecte i menys en la seva implementaci

    16

    3.- Qu volem?

  • Treure burocrcia

    El projecte i la seva definici ha de ser autocontingut

    Fora Apas

    Hardware definit per software

    Obrir firewalls, dns, xarxes, serveis

    Tot ha destar escrit al document de desplegament del projecte (yml)

    17

    3.- Qu volem?

  • Amb la vostra ajuda

    I amb eines

    incorporar les bones practiques amb eines

    18

    3.- Com?

  • 19

    2017 (aplicacions noves amb Fwk4)

    Nova arquitectura

    Serveis/Micro serveis Qualitat

    La qualitat s transforma en un SLA en els manteniments:

    Us comprometreu a no afegir ms bugs

    Test Unitaris No puja a producci cap codi

    sense un % de cobertura de codi mnim

    actualment definit al 60%

    2018: Ms qualitat

    Automatitzaci i obligatorietat dels test de crrega i funcionals

    Nou sistema de Control de codi Git (Gitlab)

    Nova normativa de desenvolupament:

    Parlarem ms darquitectura i menys dimplementaci

    Exemple: Gitflow, Utilitzaci obligatria de les branques en el desenvolupament

    Noves eines de gesti tcnica

    Comenarem amb Redmine (o potser Jira)

    Automatitzarem el pas a producci

    Comenarem a desplegar en contenidors

    3.- Quan?

  • 4. Pla de Mobilitat

    Objectiu: Definir com dissenyar, construir i aprovisionar serveis en mobilitat.

    Reptes: - Multidisciplinari

    - Creixent demanda serveis

    - Accs a recursos corporatius

    - Adopci de productes

  • 4. Eixos estratgics del Pla Mobilitat

    Usuaris

    Ciutadans

    Treballadors municipals

    Treballadors externs

    Multi

    dispositiu

    Connectivitat i Seguretat

    Gesti dispositius

    Desenvolupament

    Organitzatiu Ajustar processos

    Serveis 24x7

  • 4. Dependncies DSV Mobilitat

    ALM

    FWK QA

    API

    Gesti Seg.

    OPS DistribAPPS

    Gesti Disp.

    DSV APPS

  • 4. Estratgia DSV Mobilitat

    Native

    WEB

  • 5. Assolir uns sistemes ms gils

    Posar major focus en lusuari final.

    Empoderar a lusuari en la presa de decisions.

    Ser ms flexible i lliurar-li ms valor.

    Escurar el temps de desenvolupament.

    Millorant a la vegada la qualitat tcnica.

    Lliurar ms freqentment, de manera fiable, per

    avanar el retorn de la inversi.

    Transformar la cultura organitzativa.

    Posant focus en la collaboraci i transparncia.

    Ms orientaci al valor mantenint el control dels

    desenvolupaments.

    Amb equips multi-disciplinaris

    Implementar la millora continua

    Sistematitzar la millora continua basada en

    cicles curts dinspecci i adaptaci.

    Dotar a lorganitzaci dagents actius de la

    millora sistmica i dels equips.

    Qu volem?

    Desenvolupar capacitats internes en agilitat per al

    desenvolupament i gesti dels serveis

  • 5. Assolir uns sistemes ms gils

    Situaci actual

    Tenim un full de ruta per a la

    Transformaci Agile

    No hi ha equips estables de

    desenvolupament.

    Alguns pioners fent agilitat per separat.

    Hem realitzat una prova de concepte de

    Scrum sobre el Quadre de Comandament

    Municipal.

    Hem desenvolupat una versi alfa del

    Espai gil per iniciar als equips en el

    desenvolupament gil.

    Cm ho farem?

    Amb un marc de treball

    Definint i posant en marxa de forma progressiva a travs de tota lorganitzaci, executant

    els primers projectes candidats.

    A partir daqu i amb el feedback de totes les parts, aplicant millores de forma contnua.

    Pla de Transformaci Agile

  • 5. Assolir uns sistemes ms gils

    * Coordinaci Agile/DevOps

    * Gerncies primer torn

    * Coaching gil als equips, models de relaci gils i impulsar canvis a lorganitzaci

    Formaci PSM

    Formaci PSPO

    Formaci PAL

    Form.

    DevOps+QA Form. Plan gil

    * Butllet gil

    Plataforma ALM

    Entorn DEV

    CI+CD

    Entorns Integ. + PRE + PRO

    * Integraci

    Sciforma * Integraci

    Easyvista

    * CoP Scrum Master

    * Taller trimestral gil

    * Extensi a altres gerncies

    * Int. GD/PMO i

    gile

    Formaci Nexus

    * Int. SMO i

    Agile

    * Ampliar models de plec s gils

    * Millorar guia AJBCN

    Formaci PSM

    Formaci PSPO

    Formaci PAL

    Form. Plan gil

    Form.

    DevOps+QA

    * Gesti de recursos, calendari i riscos. Gesti del pla de qualitat. Gesti dels

    stakeholders.

    * Gerncies segon torn

  • 5. Assolir uns sistemes ms gils

    Agile Procurement

    Eines per implementar tecnologies obertes

    Eines de gesti de projecte

    Agile Community

    Equips multidisciplinars Collaboraci continuada amb usuari

    Capacitaci i cultura

    Agile Release

    Agile PMO

    Agile D

    elivery

    OFICINA DE TRANSFORMACI AGILE

  • 5. Assolir uns sistemes ms gils

    Oficina de Transformaci Agile

    Govern i Gesti del Pla de

    Transformaci Agile

    Coordinaci iniciativa DEVOPS

    Gesti de serveis

    Gesti de demanda i projectes

    Gesti del canvi per la nova

    plataforma ALM

    Comunitat Prctiques Scrum

    Masters

    Suport projectes Agile

    Ampliaci models de contractaci

    Agile

    Millora metodologia SCRUM@IMI

    Cultura i divulgaci

    Comunicaci Ajuntament BCN

    Pla de Capacitaci

  • 5. Assolir uns sistemes ms gils

    Integrar les prctiques agile en la gesti de la demanda de serveis i en la gesti de projectes

    actuals, a nivell de processos i eines.

    Ampliar els models de contractaci actuals incloent les prctiques agile.

    Gestionar el canvi derivat de la implantaci duna plataforma ALM, garantint la integraci

    daquesta amb les eines actuals de les oficines de gesti de projectes i serveis

    Coordinar les activitats amb la iniciativa DevOps, gestionant els canvis sobre la gesti de serveis

    actual.

    Fomentar i gestionar el canvi cultural a lIMI i a lAjuntament de Barcelona, donant suport a la

    formaci en conceptes i prctiques gils i coaching als equips de desenvolupament i a les parts

    interessades de lorganitzaci.

    Millorar lespai de collaboraci Agile de lIMI, mantenint la seva metodologia i afegint-hi noves

    funcionalitats.

    Desenvolupar el pla de comunicaci sobre els avanos Agile.

    Pla de Transformaci Agile

  • 30

    Calendari Calendari dalt nivell

    Implantaci Eina API Manager

    Desplegament Serveis API

    AvantProjecte Eina Decomissi

    Plataforma DevOps Fase I DevOps

    Jul-Ago-Sep Oct-Nov-Dec Gen-Feb-Mar Abr-May-Jun Jul-Ago-Sep Oct-Nov-Dec ...

    Arquitectura Orientada a

    Serveis: Gesti dAPIs

    Mobilitat

    2017 2018 Actuacions Iniciativa

    Racionalitzaci i

    Modernitzaci

    Gen-Feb-Mar

    2019

    Implantaci Eina + Decomissi APPS (tanquem el Host)

    Avant Tancar Centura i Notes

    Transformaci Centura i Notes

    Revisi Pla MOB i s MDM

    FWK, Sandboxing i Dispositius

    PoC IRIS Android

    Plataforma DevOps Fase 2

    AGILE Transformaci AGILE

  • 31