LA TECHNOLOGY TRANSFER PRESENTA VLADIMIR BACVANSKI ARCHITECTURAL THINKING Come diventare un bravo Architetto CLOUD THINKING Progettare e implementare sistemi per il Cloud 22-24 MAGGIO 2017 25-26 MAGGIO 2017 RESIDENZA DI RIPETTA - VIA DI RIPETTA, 231 ROMA info@technologytransfer.it www.technologytransfer.it
Architectural Thinking DESCRIZIONE Questo corso insegna gli skills e l atteggiamento mentale richiesti per costruire architetture robuste, scalabili e mantenibili. Il corso insegna inoltre una metodologia e un insieme di tecniche che Vi danno la sicurezza che tutti gli aspetti di una architettura tecnica sono coperti e documentati. Vengono considerati un insieme di principi, criteri, strutture architetturali e patterns che sono fondamentali nella costruzione di architetture. Il corso copre anche gli ultimi sviluppi tecnologici come scalabilità, Cloud, Big Data e NoSQL e considera il loro impatto sull architettura software. La classe sarà altamente interattiva e piena di esercitazioni. In particolare i partecipanti impareranno: A riconoscere e capire le qualità più importanti delle buone architetture software A essere in grado di riconoscere, capire e usare patterns architetturali A documentare le architetture in maniera efficace A essere in grado di identificare i vari utenti dell architettura IT e a lavorare sulle viste architetturali Ad applicare una metodologia efficace per l evoluzione delle architetture A creare architetture che resistono alle sfide delle nuove applicazioni A capire l impatto delle tecnologie Cloud, NoSQL, Microservices e Container PARTECIPANTI Architetti Sviluppatori Progettisti Consulenti Manager tecnici Information Architects Data Architects Data Professionals Data Managers
PROGRAMMA 1. Introduzione Cosa è una Architettura Software? Categorie architetturali Cosa fa una buona Architettura? Coesione e Coupling Processi software e l architettura del ciclo di business Da dove vengono le architetture? Tipici obiettivi architetturali Enterprise Architecture 2. Il processo di sviluppo dell Architettura A Reference Process Esempi di processi RUP (Rational Unified Process) Ciclo di vita di TOGAF Agile e Architettura 3. Architectural Views Gli Stakeholders Cosa sono le views? La Framework di Zachman IEEE 1471-2000 Come selezionare le views Views comunemente usate 4. Una notazione per descrivere l Architettura Soft - ware Perché la notazione? UML e oltre Altre notazioni Un approccio pragmatico 5. Requisiti e Architettura I requisiti Assicurare continuità nell Architettura Documentazione dei Requisiti Validazione dell Architettura rispetto ai Requisiti funzionali 6. Model Driven Engineering Model Driven Engineering Produttività attraverso l automazione DSL (Domain Specific Languages) 7. Assets Architetturali Cosa è un Asset? La prospettiva del riuso Asset Management 8. Attributi di Qualità: moderni requisiti non funzionali Cosa sono gli attributi di Qualità? Tassonomia dell attributo Esempi di tassonomia Faults versus failures Qualità del business Scenario generale Esempio, Disponibilità Stili e patterns architetturali 9. Patterns Architetturali Categorie di Patterns Layers Model View Controller Family of Patterns Publish Subscribe Broker Blackboard Service Oriented Architecture Microservices 10. Nuovi Patterns per scalabilità, NoSQL, Big Data e Cloud Patterns per la Scalabilità Sharding NoSQL Stores MapReduce e Hadoop L impatto del Cloud Microservices e Cloud Trattare con le failures Containers e loro impatto: Docker e sistemi correlati
Cloud Thinking DESCRIZIONE Questo workshop introduce gli Architetti e gli Sviluppatori a un nuovo modo di pensare richiesto per costruire grandi applicazioni Cloud. Brevemente verrà introdotto il Cloud Computing, i suoi benefici, le scommesse e quali nuove tecnologie rendono diverso lo sviluppo nel Cloud. L obiettivo principale è quello di insegnare il design di applicazioni per il Cloud come unità di lavoro discrete, semplici e ben formate che scalano bene nel Cloud. Verranno discussi i recenti patterns architetturali e di design che stanno emergendo per il Cloud. Verrà esplorato l impatto del Cloud sui data stores e l uso di NoSQL stores nelle applicazioni Cloud. Infine verrà fatta una panoramica sul Docker, un contenitore tecnologico comunemente usato nelle applicazioni Cloud. Alla fine del workshop i partecipanti impareranno: Ad architettare applicazioni scalabili su Cloud Come selezionare le varie opzioni di design per le applicazioni Cloud Design di applicazioni che consistono di unità modulari e ben formate che scalano bene su Cloud A riconoscere e capire il valore e le sfide poste dal Cloud Computing A essere in grado di riconoscere, capire e usare architetture e patterns per il Cloud A capire Containers e Docker PARTECIPANTI Sviluppatori Data Architect Architetti Managers tecnici Customer Quality Engineer
PROGRAMMA 1. Una rapida introduzione al Cloud Cosa è il Cloud e perché ce ne dobbiamo interessare Capire il Cloud Come andare verso il Cloud Infrastruttura Cloud 2. Impatto dell infrastruttura Cloud Latenza Collocazione Mettere in comune le risorse Elasticità Load balancing Cloud bursting Hypervisor clustering Storage ridondante Content Delivery Network Multitenancy Multi-site deployment Service relocation Bare metal provisioning Logging Concurrency 3. Sviluppare con RDDs Cosa è un RDD? Bootstrapping RDDs Common Operations Laziness 5. Cloud Security Agenti di minaccia Minacce Come difendersi dalle minacce nel Cloud 6. Dati nel Cloud Files storage nel Cloud Relational storage Sharding NoSQL stores Teorema di CAP e i suoi effetti ACID verso BASE L impatto di eventuale consistency sugli utenti NoSQL Case Study: MongoDB NoSQL Case Study: Cassandra Big Data nel Cloud Hadoop nel Cloud Spark e la nuova generazione di Big Data nel Cloud 7. Docker e il Cloud Containers e Docker Docker images Registri Networking Docker compose Kubernetes Docker Datacenter: una introduzione Docker nel Cloud 4. Patterns per lo sviluppo di software per il Cloud Architettare applicazioni per il Cloud Scrivere unità ben definite di lavoro che scala Servizi Granularità del Servizio Microservices Fare attenzione alla caduta dei servizi Scaling orizzontale Distribuzione del workflow Scaling dinamico e auto-scaling Segnale di occupato Occuparsi dei malfunzionamenti del nodo Lavorare con clienti non attendibili
INFORMAZIONI QUOTA DI PARTECIPAZIONE Architectural Thinking e 1700 (+iva) Cloud Thinking e 1300 (+iva) La partecipazione ad entrambi i seminari viene offerta ad una speciale quota e 2800 (+iva) La quota di partecipazione comprende documentazione, colazioni di lavoro e coffee breaks. LUOGO Roma, Residenza di Ripetta Via di Ripetta, 231 DURATA ED ORARIO 3 giorni/2 giorni: 9.30-13.00 14.00-17.00 È previsto il servizio di traduzione simultanea MODALITÀ D ISCRIZIONE Il pagamento della quota, IVA inclusa, dovrà essere effettuato tramite bonifico, codice IBAN: IT 03 W 06230 03202 000057031348 Banca: Cariparma Agenzia 1 di Roma intestato alla Technology Transfer S.r.l. e la ricevuta di versamento inviata insieme alla scheda di iscrizione a: TECHNOLOGY TRANSFER S.r.l. Piazza Cavour, 3 00193 ROMA (Tel. 06-6832227 Fax 06-6871102) entro l 8 Maggio 2017 Vi consigliamo di far precedere la scheda d iscrizione da una prenotazione telefonica. CONDIZIONI GENERALI In caso di rinuncia con preavviso inferiore a 15 giorni verrà addebitato il 50% della quota di partecipazione, in caso di rinuncia con preavviso inferiore ad una settimana verrà addebitata l intera quota. In caso di cancellazione del seminario, per qualsiasi causa, la responsabilità della Technology Transfer si intende limitata al rimborso delle quote di iscrizione già pervenute. SCONTI I partecipanti che si iscriveranno al seminario 30 giorni prima avranno uno sconto del 5%. Se un azienda iscrive allo stesso evento 5 partecipanti, pagherà solo 4 partecipazioni. Gli sconti per lo stesso evento non sono cumulabili fra di loro. TUTELA DATI PERSONALI Ai sensi dell art. 13 della legge n. 196/2003, il partecipante è informato che i suoi dati personali acquisiti tramite la scheda di partecipazione al seminario saranno trattati da Technology Transfer anche con l ausilio di mezzi elettronici, con finalità riguardanti l esecuzione degli obblighi derivati dalla Sua partecipazione al seminario, per finalità statistiche e per l invio di materiale promozionale dell attività di Technology Transfer. Il conferimento dei dati è facoltativo ma necessario per la partecipazione al seminario. Il titolare del trattamento dei dati è Technology Transfer, Piazza Cavour, 3-00193 Roma, nei cui confronti il partecipante può esercitare i diritti di cui all art. 13 della legge n. 196/2003. VLADIMIR BACVANSKI ARCHITECTURAL THINKING Roma 22-24 Maggio 2017 Residenza di Ripetta - Via di Ripetta, 231 Quota di iscrizione: e 1700 (+iva) nome... cognome... funzione aziendale... Timbro e firma CLOUD THINKING Roma 25-26 Maggio 2017 Residenza di Ripetta - Via di Ripetta, 231 Quota di iscrizione: e 1300 (+iva) azienda... partita iva... codice fiscale... ENTRAMBI I SEMINARI Quota di iscrizione per entrambi i seminari: e 2800 (+iva) indirizzo... città... cap... provincia... In caso di rinuncia o di cancellazione dei seminari valgono le condizioni generali riportate all interno. È previsto il servizio di traduzione simultanea telefono... fax... e-mail... Da restituire compilato a: Technology Transfer S.r.l. Piazza Cavour, 3-00193 Roma Tel. 06-6832227 - Fax 06-6871102 info@technologytransfer.it www.technologytransfer.it
DOCENTE Il software è stato sempre la passione del Dr. Vladimir Bacvanski. Il suo mondo è quello di sviluppare un software migliore, più rapidamente e scalabile per gestire grandi volumi di dati che arrivano con grande velocità. Realizzare grande software richiede grandi menti ed è per questo che il Dr. Bacvanski crea teams di sviluppatori eccezionali che sono in grado di confrontarsi con le sfide più impegnative che alcuni problemi software richiedono. E il fondatore di SciSpike, una società di software e consulenza della Silicon Valley. Negli ultimi tempi i suoi principali interessi tecnici ruotano attorno a due aree: Architetture per software modulare ad alte prestazioni e sistemi di Big Data. Questo include ì sistemi costruiti con Node.js, Scala, Akka, nella maggior parte dei casi dispiegati su Cloud. Per quanto riguarda i Big Data sistemi costruiti con Hadoop e i suoi discendenti come Spark e Flink. Ha più di 20 anni di esperienza nelle aree di Architettura e Design di sistemi Enterprise distribuiti e mission-critical, sistemi e linguaggi rule-based, tools di modeling, sistemi real-time, agent systems e tecnologie database. Ha inoltre una notevole esperienza in software architecture e analisi dei requisiti. E stato pubblicato in tutto il mondo ed è frequent speaker nei principali eventi dell industria. Il Dr. Bacvanski è conosciuto anche per la sua grande abilità nello spiegare temi complessi in maniera chiara e comprensibile. O Reilly ha pubblicato recentemente il suo corso sull architettura dei Big Data e dei sistemi NoSQL. Per i suoi contributi all Information Management nel 2015 è stato insignito da IBM con il titolo di IBM Information Management Champion.