Sunteți pe pagina 1din 246

Dezvoltarea

modern a app.
Livrare Continu de
valorii i un rspuns
rapid la schimbare.
Client Client/Server Servicii
Managementul Cerinelor Managementul Portfolio
Managementul Calitii Organizarea Proiectului
Analiza cerinelor Comunicarea cu Stakeholdeii
Planificarea Proiectului
Asignarea de task-uri
Monitorizarea Bug-urilor
Support pentru clienti
Arch. Infrastructurii Managementul testrii
Arch. Implementarii Manual
Load
Automat
CIO
BA PM

Arhitectura Oper Test Programare


Analiza & Design TFS Analiza codului
Testare unitara
Design pentru implementare
Validarea Architecturii Controlul Versiunilor
Calitatea codului
Dev
Arch

UI Layout
Proiectarea Bazelor de date
Design
DBA Controlul versiunilor
Prototipuri Design Generarea datelor de test
Modelarea fluxurilor
Managementul Schemei
Project Version Work Item Continuous Test Case Build/Release End-to-End Feedback
Planning Control Tracking Deployment Management Automation Traceability Management
Este posibil sa obii un backend
in cloud in citeva minute:
Gazduieste un web API
pentru .NET sau Node.js
disponibil 24x7 cu
monitorizare i management
Utilizeaza un single sign-on
bazat pe Active Directory,
Facebook, Twitter, si Google
Push notifications pentru
utilizatori individuali si
dinamica audienei.
ncarc date in SQL, Table
Storage, and MongoDB
Acces la sisteme on-premises,
Office 365, and SharePoint
Utilizeaz cloud-based sync
pentru scrierea de app. Care
lucreaz off-line
Reducerea timpului alocat ciclului

Accelerare fr sacrificarea calitii

Creterea transparenei
Livrare Continu
Plan Monitorizeaz & nva
Toi stakeholder-ii

Dezvoltatori Operaii
& testri

Dezvoltare & test Release


Cod Perspective

Lucru Implementare

Build Test
Probleme cu adoptarea agile
ntr-o echip distribuit
Nu avem o viziune holista a
investitiei dealungul
portofoliului
Stabilirea nivelului corect al
autonomiei
Instrumente de planificare Agile
pentru echipe distribuite
Transparenta nivelului
investiiilor peste portofoliu.

Susinerea echipelor cu
instrumente flexibile i procese
optimizate
Colaborare facil ntre echipe
global distribuite
O prezentare explicit a istoriei
piesei de cod

Extinderea testrii la cerere.


Release-urile gestionate manual
pot genera erori
O vizibilitate slab n release
calitate i nivel de realizare
Dificil de colaborat cu
organizatiile stakeholder-ilor
Modelare facil i
automatizarea proceselor din
release
Statutul i calitatea tuturor
rease-urilor
Monitorizarea aprobrilor i
aducerea echipei dispersate
impreuna
Dificultatea nelegerii disponibilitii
app i performanelor acestora
Imposibilitatea de a descoperi
cauza problemelor de producie

Provocarea prioritizrii
investiiilor
nelegerea disponibilitii i
performanei.
Identificarea cauzelor
problemelor n vederea
rezolvrii uoare a acestora.
Decizii legate de date uor de
luat
REQUIREMENTS

BACKLOG

Managementul Portofoliului AGILE


O mai bun cunoatere a app
Adaptare Kanban
Etichetare Work Item Solicitarea de feedback de la
stakeholderi

Team Rooms Build-uri automate i


Chart-uri Work item Integrare continu
Control al versiunilor flexibil
Discuii asupra codului Implementare continu
Testare load n cloud
Managementul testarii (bazat web)
Monaco

Fr infrastructur suplimentar| Plteti ct utilizezi| Disponibil oriunde | Conectat IDE 28


Tabel KANBAN(sursa: http://kanbantool.com/online-kanban-board) 2
3
1.

2.

3.
SQL
T-SQL

SQL
Partajare
GIT

SQL

SQL
Partajare
GIT

DacPac
SQL

SQL

T-SQL

GIT/TFS DacPac

SQL

SQL SQL

Dezvoltarea Bazelor de date


Declarative cu SSDT
Excesul de detalii
Necesitatea de a conseva datele punnd accentul pe scripturi ALTER
Dependenele fac ca sarcinile complexe sa fie tratate de o manier simpl
Promovarea bazelor de date n diverse contexte
Detectarea erorilor
Erori detectate prea trziu
Abordarea procesului de tratare a erorilor se rezolv n context AGILE.
Dinamica soluiei
n procesul de exploatare a BD aceasta evolueaz pe baza experienei rezultate din
exploatare.
Dezvoltarea pentru implementarea pe diferite platforme
Migrarea bazelor de date n cloud sau orientarea catre PAAS.
Crearea unui pachet pentru mai multe implementri
Dezvoltator-axat pe instrumente de dezv.
Scriere de cod, debug i build n baze de date SQL Server i SQL Azure.
Compilare, refactor-ing, i implementare databases
Coerena unui unic mediu de dezvoltare/implementare
Suportat de VS 2012 & VS 2013

Dimensiuni ale experienei n dezvoltare


Mediu de dezvoltare conectat
Dezvoltare orientat pe proiect.
Aplicare Ciclu de via & Tool-uri

Fundamente
Axat pe SQL Server i SQL Azure
Identificarea i managementul operaiilor pe baze de date.
Model bazat pe dezvoltare declarativ.
Tool-uri integrate cu limbaje avansate
Faciliti de testare att n regim conectat ct i offline.
Developer-focused toolset to author, debug, and deploy SQL Server & Windows
Azure SQL Databases

Object Explorer SQL Analiza


pentru SQL Static a Publicarea
Server Codului Table Designer Bazelor de Date

Teste unitare
pentru Baze de Editare Mediu de
Limbajul T-SQL Date declarativ runtime izolat

Compararea
schemelor SQL/CLR SQL Debugging
DACFx(Data Tier Application Framework)
Componente SQL Server pentru modelarea,
reverse engineering i implementarea bazelor de
date
Framework de tip package-centric (DACPAC
/ BACPAC)
Conine entitile BD utilizate de aplicaie.
Scrierea codului asociat aplicaiei in Visual Studio
User Story pentru dezvoltare, migrare i versionarea peste platforma SQL Server

Runtime n SSDT
DAC beneficiaz de suport n SSDT, SSMS 2012/2014, Portalurile din Azure,
Servicii Import/Export.
Furnizeaz opiunea pentru linie-comanda i Managed API
Visual Studio
DAC FX
Database is a project that builds into DACPAC

SSDT

T-SQL DOM

T-SQL Compiler
LocalDB
Code can be tested locally (F5) Syntax and semantic validation
during compilation

Conectivitate
Microsoft Confidential 6/14/2011
Dezvoltare Connectat al Dezvoltare Bazat pe Implementarea Schemei
Mediu Proiect

Object Explorer pentru SQL


Server Controlul Codului Surs Comparare a Schemei

Editare T-SQL i Debugging Cu F5 n LocalDB Publicarea proiectului

Designer de Tabele Targeting multiplu Generare de script

View/Edit Data Definiii/Referine Snapshot pentru proiect

Erori i Validare Refactoring i Intellisense Task-uri MSBuild

Power Tools MSBuild SqlPackage.exe


SSOX
SSOX(SQL Server Object Explorer)
Modelat dup explorer-ul din SSMS.

Productivitate n scrierea de cod


Scriere de cod T-SQL
Editarea declarativ a obiectelor din schem
Modelare cu detectarea erorilor
Execuie de scripturi imperativ
T-SQL beneficiaz de Intellisense

Instrumente pentru proiectare


Code-behind pentru Table Designer
View/Edit/Script Data (inclusiv copy/paste)
Execute/Debug Proceduri/Funcii
IDE-ul Visual Studio
Definirea bazei de date la nivelul IDE-ului sau a proiectului VS.
Acoper opiunile SQL Server {2005-2014} sau SQL Azure

Avantaje
Limbaje pentru T-SQL
Definiii/Referine/Refactoring
F5 debug cu LocalDB
Puternic integrare
Visualizarea schemei /differene i migrarea modificrilor
Publicare direct la nivelul bazei de date sau via SQL script sau DACPAC
Detectarea operatiilor
Snapshot Point-in-time
Drag & Drop import din SQL Server Object Explorer
Task-uri MSBuild
Build
Publicare
Analiza static a codului n T-SQL

Utilitare MSBuild
Utilizare SSDTBuildUtiities.msi
Proiecte de BD n serverul de build
Nu este nevoie de instalarea intregului VS

Integrare standard
SSDT integrat cu toti providerii din VS SCCS(Source Code Control Systems).
DACFX
Compararea schemei
Publicare
Versiunile acceptate
SQL Server 2005
SQL Server 2008
SQL Server 2008 R2
SQL Server 2012
SQL Server 2014
SQL Azure

Publicare
Direct
via SQL script
DACPAC snapshot-uri
SQL Server
Management
Studio Windows Azure
SQL Database

Reverse
SQL Server Data Engineering SQL
Tools
DACFx

Portal-urile
Implementare/Actualizare SQL Server
Azure 2005, 2008/R2, 2012,
Management Script/Rapoarte 2014
Frameworkul DAC
DACFX este componenta central pentru redistribuire, modelare, reverse engineering, si
implementare SQL Server
Operaional n: SQL 2005, 2008/R2, 2012, 2014 i Azure

API Public
Expune verbe asociate operatiilor DACPAC i
BACPAC
Tool linie-comand
Expune verbe DACPAC, publicarea proiectului
Tool-uri DAC
DACUnpack.exe
despacheteaz fisiere DACPAC n disk
DACFX clieni
SSMS, SSDT, SAMP, I&E, VS Web i Publicarea BD
Visual Studio 2010
Visual Studio 2013
cu SSDT

Conversie opional la Actualizare obligatorie la


VS 2013 Proiecte BD
Proiecte SSDT SSDT Project

SSDT
Proiecte i active n ambele sensuri fr conversie
SQL Server Proiecte Database
Strategii de dezvoltare bazate pe DevOps
URBANCODE

Conf.dr. Cristian KEVORCHIAN


Universitatea din Bucureti
Facultatea de Matematic I Informatic
Producia de software reprezint nucleul
tendinelor n IT
Big Data Cloud
Volume mari de date ce nu pot Cererea mare de aplicaii necesit
fi procesate cu instrumentarul medii rapide, scalabile pentru
tehnologic clasic dezvoltare i testare, dar i pentru
producie

Aspecte sociale n business Instrumentar pt. producie


Numeroasele pri interesate sunt Cerinele industriei implic o mai
preocupate de a ngloga inovaie rapid aliniere la normele i
i calitate n produsele livrate. standardele n vigoare, asociate cu o
trasabilitate si calitate superioar
Producia de
Mobilitate software Sisteme Conectate
Forei de munc
modern utilizeaz Cerinele industriei implic
constant sisteme un rspuns rapid la
software care s o normele i standardele n
conecteze la sistemele vigoare,nsoit de
companiei. trasabilitate si calitate
Livrare continu defectuas are efect negativ asupra
"Sistemelor n interaciune"
Liniile de business Operaiile
Perioade mult prea lungi pentru a Releasuri rapid implementate influeneaz
modifica aplicaiile mobile sau serviciile. stabilitatea i alinierea la standarde.

>70% Interaciunea Sistemelor


>45%
Din buget este destinat Sisteme de angajament Sisteme de monitorizare
Din experienta
mentenanei i CRM HR clienilor n
operaiilor producie se
DB ERP
livreaz cu
MF iSeries ntrziere
4-6 Experienta Servicii livrate >50%
Valorificarea
sptmni clientului
disponibilizat din Cloud experienei
partenerilor
din proiectele
realizate n
continuu
Pentru livrarea unor outsourcing nu
minore modificri ctre i ating
beneficiar obiectivele
Dezvoltare/Testare Furnizori
Necorelarea ntre rapida modificare a front
office-ului i dinamica lent a back-office- Livrare n context agile
ului. Obtinerea dificil a feedback-ului.
Varianta IBM a DevOps
Livrarea continu de funcionaliti creaz premiza unei valorificri superioare a oportunitilor
de pia i a obine un feedback bun de la clienti.

Planificarea Continu
a Businesului

Accelerarea
livrrii de valoare ctre
Planificare &
client Msurare
Monitorizare Dezvoltare n
Continu regi colaborativ
Inovare Continu,
feedback
Monitorizare & i mbuntiri
Dezvoltare &
Balana ntre vitez, Optimizare Testare
costuri, calitate i risk
Creterea capacitii de
Feedback Release &
inovare continuu de la Implementare Testare
clieni nsoit de continu
optimizare

Reduce timpul de
feedback al clientului
Imbuntete experiena
clientului Livrare de releasuri i
implementare
DevOps i adopia Cloud-ului
Automatizarea n scopul livrrii rapide cu DevOps n contextul adopiei cloud-ului

On Prem IaaS PaaS


Traditional

Aplicaii Applications Aplicaii


JazzHub
ImplemetUC Date Implement UC Date (SaaS) Date

Config. Mid. Config. Mid Config. Mid.

Middleware Middleware Middleware


Man/Auto Man/Auto
O/S O/S O/S
NumeleDeCod:
Virtualizare Virtualizare Virtualizare BlueMix
Aplicaii Sistem
SmartCloud
Servere Servere Servere
Manual Orchestrator
Storage Storage SoftLayer Storage

Reele Reele Reele

Adaptate la cerinele clientului; costuri mari; slaba conv. la valoare

Standardizare; costuri reduse; reducerea timpului de livrare


Soluia IBM pentru DevOps
Soluia IBM pentru DevOps este construit pe standarde deschise i familii de servicii care furnizez
clientului posibilitatea mbuntirii soluiilor open source prin instrumente third party.

Rational Focal Point


Rational Requirements Composer
SmartCloud Orchestrator
IBM UrbanCode IBM Pure Application System
Release
IBM UrbanCode
Linii de Jenkins Deploy
business
Rational Build Forge

Rational Team Concert Rational Asset Manager Rational Quality Manager SmartCloud Application
Rational Test Workbench Performance Management
Rational Test Virtualization Server
Rational Development and Test
Environment for System z
InforSphere Optim Test Data Mgmt

6
Investiia n automatizarea release-ului
Introducere n UrbanCode
Permite clienilor s beneficieze de relese-uri rapide n aplicaii mobile, cloud, big data i
aplicaii tradiionale de calitate i risc redus la implementare

Conduce la reducerea costurilor Implementare IBM UrbanCode automatizeaz implementarea


aplicaiilor, BD i configurarea dezvoltrii testrii i mediilor de
Este eliminat efortul manual i timpul alocat
implementrii. producie, contribuind la reducerea costurilor, accelerarea
transferului n pia cu reducerea riscului.
Reducerea timpului de livrare n pia
Release-uri IBM UrbanCode este un sistem inteligent de colaborare
Instrumente grafice de design, cu aciuni built-in
n managementul release-urilor.
dedicate implementrii automate.
Reduce riscul
Managemt robust, proces coordonat al release-urilor,
auditare, i trasabilitate
Magistrala de livrare continu
Managementul volumului de munc la nivelul ALM impune orchestrare

Domeniul Monitorizare
Reelisticii
IT Managementul
Storage
Monitoring
Domeniul Management mijloacelor
Domain
Data StocriiDomain fixe din IT
DomeniulAvailability Network
Managementul
Serviciilor deDomain Domain
Schimbrii
Calcul

Orchestration
Engine Web App DB Birou
Service

Tipar de provizionare

Orchestrarea Resurselor Orchestrarea serviciilor


CPU, Storage i Reele Orchestrarea nivelului de
ncrcare Managementul ALM asociat
optimizare i operattii app. de business
Gestionarea volumului de lucru n afara ALM necesit orchestrare
F5 Load Balancer IBM EndPoint Manager
Tivoli Netcool Configuration Manager software installation
NetApp NAS Juniper Firewall
IT patch and compliance
Monitoring
VMware Tivoli Productivity Management
Domain Center (Sonas)
Chef server
Data softwareNetwork
installation
PowerVM Availability
Tivoli Storage Manager
Domain
Tivoli Provisioning Manager
KVM Domain
Amazon EC2
zVM
SoftLayer Tivoli Workload
Scheduler
Motorul de
Orchestrare Web App DB SmartCloud
ervice
Desk
Control Desk

Provision Pattern

OpenStack IaaS Over 200 IBM and industry patterns Procese de aprobare
Virtual System Patterns WebSphere Utiliti pentru Scripting
DB2
PureApplication System Email
Mobile
Tivoli Service Automation Manager Business Intelligence Database
SharePoint Java
SQL Server Web Services
Automatizarea implementrii aplicaiilor cu resurse n cloud

Implementare UrbanCode(IBM)
UrbanCode Deploy

Aplicaii de banking globale IBM Cloud


Application

Environments Component

DEV QA ... PROD

Aplicaii de banking globale Aplicaii de banking globale


war ddl mq war ddl mq
Pattern Parameters
can be supplied by
Tomcat MySQL JMS WebSphere Liberty DB2 WSMB Properties from
UC Deploy

Resurse Cloud(DEV) Resurse Cloud(PROD)

SmartCloud Orchestrator

IBM PureApplication System


Public Clouds Hybrid Private Clouds
Imbuntire procesului de implementare cu SDE(Software Defined Environment)

SCM Automatizarea Build

Change Management Publish build


IBM PureApplication System

SmartCloud Orchestrator

Execut aplicaii Provision platform


implementare i Implementare
managementul peste timpurie cu
mediul. asigurarea calitii
i a unor release-
uri incremental
Medii DEZV
DEV QA PROD generate.
DEV
DEV

Patch/update
Managementul Configurrii Platformei
IBM Endpoint
Manager
Gestiunea configurrii middleware-ului prin utilizarea mediilor de configurare

Administrator
Middleware - Implementare
sau- Automat
Dezvoltator de 2 - Plugin Dezvoltator
aplicaii

Bibliotec de
6 Definire
artefacte
4 - Assemble proces de
3 - Import
implementare

5 - Publicare
EAR
Cluster
WAR
template

7 - Implementare
7 - Implementare
7 -Implementare
WAS(Window
s Activation WAS DB
Service) Configurare Application
Template

Crearea Template-ului de configurare Application Deployment Automation

Dev Prod QA
Mediile Aplicaiei
DevOps: TestareCombining
Continucontinuous testing with
Automatizarea implementrii i servicii de virtualizare pentru reducerea
timpului de livrare pe piaa de software i mbuntirea calitii

IBM UrbanCode
Mediu de Testare
Implementare
Componente virtuale


Baze de dates Mesaje interne Servicii
integrated with Third-party

IBM Rational Test Implementeaz ce este


Server de virtualizare
terminat,restul virtualizeaz

IBM Rational Testare continu n Dev QA Teste simultane


Test Workbench producie-similar mediilor. peste mai multe
etape de testare

SHUNRA Virtualizare Reele Testare innd cont de


n
pentru testare situaiile reale din reea Infrastructur dinamic
Evaluarea calitii
IBM Mobile Quality Assurance services (beta)
Cinci usecase-uri

Feedback la utilizator Loguri de Crash

4
Rapoarte de Crash log
Bugs
Bug-uri vs. Crashe-uri

LOB/Digital Marketer Dezvoltator Tester Utilizator

5 Analiza sentimentelor 1 2
OTA(Over the air build distribution
Raportarea bug-urilor 3 In app user feedback

Quality Dashboard Builds


with Sentiment Analysis
UrbanCode Implementri mbuntite
mbuntirea utilizrii
Configurarea sursei= plugin-uri
Mai multe liste multifuncionale i tagg-ing
Compararea view-urilor
Opiuni de configurare
Opiuni de Workflow : container de integrare
vertical
Suport pentru z/OS (mainframe)
Integration with SoftLayer
Integrare mbuntit cu SmartCloud
Orchestrator
Configurare WebSphere
Recent UrbanCode Release Improvements
Integrare cu Rational Team
Analiza de Impact al Release-
Concert
urilor
Managementul Schimbrii
Dashboard pentru
Integrare OSLC
implementare Iterativ
Progresul Release-urilor
IBM UrbanCode Deploy Plug-uri
59 plug-uri -15 vendori i organizaii open source
Plugin-uri:
Servere de aplicaii
Baze de date
Platforme de mesagerie
Automatizarea testului
Sisteme de operare
Platforme de cloud
Plug-urile sunt gratis
Dezvoltri viitoare
Trecerea la tehnologii deschise
Applications IBM UrbanCode Deploy

Banking Application
Template de
aplicaie Environments
Application
Lifecycle
DEV TEST QA PROD

IBM Cloud Orchestrator

Banking Application Banking Application

Template de
infrastructur

Heat Orchestration Template (HOT) Heat Orchestration Template (HOT)

OpenStack Heat OpenStack Heat


IBM Platform Resource Scheduler IBM Platform Resource Scheduler

Hardware

Network Server Storage Network Server Storage

Public Traditional
Dedicated Private
IT
Dezvoltarea de pattern-uri i LCM
Componente

Template-uri
Designer pentru Pattern-uri n Cloud (HOT)
Compon
Tool-uri DSL HOT(Heat Orchestration Template) tool-uri ente
pentru LCM(LifeCycle Management)
Resurse

HOT
Executes on

Motoare OpenStack Heat Versionabil

Full-stack automatizat

Coninut compozit
Platforme
Cloud agnostic
Servicii DevOps(IBM) -JazzHub pentru Cloud
Open, integrated rapid development experience that scales

Planificare e servicii
Git
Incarcare si managementul codului n Git repo.

Medii de Dezvoltare Integrate


Utilizare build-in pentru Web IDE, Eclipse, Visual Studio sau
crearea de valoare adugat pentru tool-uri la alegere.

Planificare i urmrire pentru proiecte


Agile, colaborare la nivel de echip

Mobilitate
Calitate imbunatatita prin analiza crash-urilor, analiza
sentimentelor, i feedback.

Integrare Continua
Build continuu, scanare i testare a codului pentru mbuntirea
calitii i creterea vitezei de implementare.
Automatizarea implementrii
Implementare imediata a aplicaiei.

Monitorizarea performanei

Diagnosticarea problemelor de la nivelul codului i remedierea


acestora
Implementare distribuit la nivel global
Centrul de Date A Centrul de date B
Disponibilitate ridicat a clusterului Agenti Agenti
Disponibilitate ridicat a clusterului

Server Relay Server Relay

Load Balancer Load Balancer

Servere asociate n site

Partajate de servere Partajate de servere

DB Statie pentru scriere de cod DB Statie pentru scriere de cod

Replicate deployment artifacts

Synchronize data (e.g. process definition, security, templates)


Awareness-only of other (e.g historical data)
Gestionarea schimbrii la nivelul mediului
Detectarea de abateri de la configuraie

Conform? Conform?

Stare dorit Inventariere Starea actual


Din specificaii Aliniere presupus X Ce se gsete efectiv
Implementare automat pe mainframe
IBM UrbanCode
Deploy for z/OS Implementeaz

Statie pe care Mediul de testare RD&T


se scrie cod
z/OS

Aplicaii
pentru
testare
Download output-ul build-ului
din statia corespunztoare cu
z/OS
Implementeaz pe z/OS sau
RD&T pentru a testa Promote
modificrile n cauz

Planificarea soluiei unificate

Accelerarea transferului la client si reducerea ciclului dezvoltare/testare a aplicaiilor multi-


tier peste medii i platforme eterogene
Reducerea costurilor i eliminarea ntrzierilor n transferul aplicaiei l mainframe la client
Minimizarea riscului i mbuntirea productivitii n echipe distribuite global.
Recapitulare
Plan
& Measure

Adopia DevOps cu Cloud Monitor


Continuous
innovation, Develop
& Optimize feedback and improvements & Test
accelereaz transferul
aplicaiei la client
Release
& Deploy

IBM furnizeaz enterprise


Cloud i soluii DevOps: Public Clouds Private Clouds

Orchestrator SmartCloud SmartCloud Orchestrator


PureApplication System
SoftLayer IBM PureApplication System

UrbanCode

Pasul urmtor
BlueMix=Open Stack+Doker
JazzHub Servicii DevOps
NextGen Pattern-uri LCM DevOps Services
Java Session Mobile
DevOps pentru Mobile & Cache DB
Mainframe
Mulumesc!
Q&A
Arhitecturi SOA
CRISTIAN KEVORCHIAN
FACULTATEA DE MATEMATICA SI INFORMATICA
Modelul de programare WCF

WCF este un framework pentru implementarea unui


model de calcul distribuit n contextul unei arhitecturi
SOA. Clienii pot consuma multiple servicii, dar i un
serviciu poate fi consumat de mai muli clieni.
WCF implementeaz mai multe servicii web standard:
WS-Adressing, WS-ReliableMessaging i WS-Security.
Au fost adugate funcionaliti pentru gzduirea
soluiilor WCF n IIS(Internet Information Services), serverul
web din Windows.
Consideratii Arhitecturale

Un serviciu poate fi interpretat drept o funcionalitate expus n


scopul utilizrii locale sau remote.
Prin urmare, un serviciu poate fi local sau remote
Serviciile i aplicaiile care consum aceste servicii
interacioneaz prin intermediul mesajelor.
Un endpoint este o resurs n reea unde pot fi trimise mesaje.
Un serviciu poate fi vazut ca o familie de endpoint-uri.
Clienii nu interacioneaz cu serviciile n mod direct. Se
utilizeaz un proxy.
Contract asociat serviciiului in WCF

o n cadrul WCF termenul de contract asociat serviciului(service contract) reprezint


o familie de operaii(metode) pe care le expune un serviciu WCF i este marcat cu
atributului [ServiceContract].
o Contractul descrie funcionalitile serviciului disponibilzate consumatorului.
o Un contract este compus dintr-un contract interfa i un endpoint
o In economia serviciului acesta poate fi comparat cu un contract de tip SLA.
o Contractul interfa este compus din:
o Contractul operaional-este definiia unei operaiuni asociat serviciului WCF, metoda, sau
expunerea capabilitii serviciului ca parte a contractului interfa
o Contractul date este utilizat pentru a genera o schem XML peste tipurile CLR. Modelul datelor
impune structura i tipul mesajului.
WSDL i XSD

Contractul este scris n WSDL i XSD(XML Schema Definition) i


lucreaz cu tipuri CLR. WCF faciliteaz aceast mapare:
Serviciu se structureaz astfel: [ServiceContract], [OperationContract],
[FaultContract],[MessageContract] i/sau [DataContract].
Pentru codul programului care consuma serviciul cerem serviciului detalii
despre contracte, n plus trebuie s fie generat o clas proxy ce expune
interfaa serviciului, pe care o putem apela din cod.
Svcutil.exe este un utilitar care expune metadate legate de serviciu
Este generat codul WSDL i tipurile .NET i .XSD
Svctraceviewer.exe utilitar grafic pentru citit log-uri WCF, formatl
mesajelor catre si din endpoint-uri.
Mesaje SOAP

Serviciile WCF interacioneaz prin intermediul mesajelor SOAP.


Un mesaj SOAP este un document XML care conine
urmtoarele elemente:
nfurtoarea(obligatoriu)-definete nceputul i sfritul mesajului.
Header-ul(opional)-Conine atribute opionale ale mesajului plasate ori
la nivelul intermediar ori ultim al enpoint-ului.
Corpul(obligatoriu)-Conine date XML necesare trimiterii mesajului
Eroare(optional)-informaii despre erori care apar n timpul procesrii
mesajului.
Mesaje SOAP(Exemple)

Mesaj de cerere SOAP Mesaj de rspuns SOAP


POST /InStock HTTP/1.1 HTTP/1.1 200 OK
Host: www.example.org Content-Type: application/soap+xml; charset=utf-8
Content-Type: application/soap+xml; charset=utf-8 Content-Length: nnn
Content-Length: nnn < ?xml version="1.0"?>
< ?xml version="1.0"?> < soap:Envelope
< soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-
xmlns:soap="http://www.w3.org/2001/12/soap- envelope"
envelope" soap:encodingStyle="http://www.w3.org/2001/12/so
soap:encodingStyle="http://www.w3.org/2001/12/so ap-encoding">
ap-encoding"> <soap:Body
<soap:Body xmlns:m="http://www.example.org/stock">
xmlns:m="http://www.example.org/stock"> <m:GetStockPriceResponse>
<m:GetStockPrice> <m:Price>34.5</m:Price>
<m:StockName>IBM</m:StockName> </m:GetStockPriceResponse>
</m:GetStockPrice> </soap:Body>
</soap:Body> < /soap:Envelope>
< /soap:Envelope>
Atributele ServiceContract i OperationalContract

Primele elemente ale interfeei .NET:


using System;
using System.ServiceModel;
namespace ExempluSimplu
{
[ServiceContract]
public interface IText
{
[OperationContract]
string Text1();
}
}
Atributul ServiceContract indic faptul c interfaa este un contract de servicii
WCF, iar atributul OperationContract identific metodele interfeei care definesc
operaiunile serviciului.
Dup ce contractul a fost definit, este creat o clas .NET de implementare a
interfeei:
class Text1: IText
{
public string Text1()
{
return Un foarte scurt TEXT";
}
}
Service-type

O clasa care implementeaz un contract este numit service-type.


Aceasta schimb date cu aplicaia care consum serviciul, iar
interaciunea este controlat de atributul behaivior
Contractul trebuie s fie asociat cu un endpoint n App.config:
Endpoint=(Adress,Binding,Contract)
<endpoint name="EndPoint1"
address="net.tcp://localhost:1234"
binding="netTcpBinding"
contract="IText1"
/>
Modele de date i atributul DataContract

Atributul DataContract este utilizat pentru a genera o o


schem XML dintr-un tip CLR. Membrii unui tip de date nu vor
fi serializati cu excepia atributului DataMember
DataContract utilizeaz XMLFormatter pentru a lucra cu
serializarea i tipurilor CLR, respectiv deserializarea schemei
XML n tipuri CLR.
WCF vine cu doua intrumente de serializare XMLSerializer i
XMLFormatter succesor al primului i implicit implementat n
WCF.
Utilizat cnd DataContract i DataMember sunt utilizate ntr-
un tip de dat CLR.
Exemplu

public class Cont using System.Runtime.Serialization;


{ [DataContract(Namespace = "Financiar", Name =
public string Numr_Cont; ContContract")]
public class Cont
public string Nume_Cont;
{
public string Tip; [DataMember(Name = Numar_Cont")]
public string Cash; public string Numar_Cont;
public string Investitii; [DataMember(Name = "Nume_Cont")]
} public string Nume_Cont;
[DataMember(Name = Tip", Order = 1)]
public string Type;
[DataMember(Name = "Cash", Order = 1)]
public string Cash;
[DataMember(Name = "Investitii", Order = 2)]
public string Investitii;
[DataMember(Name = "Total", Order = 2)]
public string Total;
}
Mesaje i atributul MessageContract

WCF utilizeaz mesaje SOAP alineate standardelor industriale SOAP i


schema XML
Mesajele pot fi transmise folosind protocoale de transport(HTTP,HTTPS,
MSMQ sau TCP)
MEP(Message Exchange Pattern) include varianta sincron i asincrona.
WCF include un framwork pentru managementul
mesajelor(System.ServiceModel).
Clasele MessageContract, MessageHeader i MessageBody utilizate ca
atribute la descrierea structurii mesajului SOAP
[DataContract] [MessageContract]
public class MsgHeader { public class ContactMessage
[DataMember] {
public string loginName; [MessageHeader]
[DataMember] public MsgHeader msgHeader;
public string password; [MessageBody]
} public MsgBody msgBody;
[DataContract] }
public class MsgBody
{
[DataMember(Order=1)]
public string name;
[DataMember(Order=2)]
public int phone;
[DataMember(Order=3)]
public int email;
}
Serviciul Endpoints i elementul endpoint

Un endpoint conine:
Adresa-locatia serviciului
Legtura-cerinte invocate de serviciu(securitate i fiabilitate).
Contract
<system.serviceModel> <system.serviceModel>
<services> <services>
<service name="AccountService"> <service name="AccountService">
<endpoint name="EndPoint1" <endpoint name="EndPoint1"
address="net.tcp://localhost:1234" address="net.tcp://localhost:1234"
binding="netTcpBinding" binding="netTcpBinding"
contract="IAccount" /> contract="IAccount" />
</service> <endpoint name="EndPoint3"
</services> address="http://localhost:8000"
</system.serviceModel> binding="basicHttpBinding"
contract="IAccount" />
</service>
</services>
</system.serviceModel>
Q&A
Tabele Windows Azure
Lucrul cu Tabele Stocate n Cloud

conf.dr. Cristian KEVORCHIAN


Facultatea de Matematic i Informatic
Universitatea din Bucureti


Scalabilitatea resurselor(calcul i stocare)


Tabelele Furnizeaz o form de stocare


structurat; o tabel fiind vzut drept o
familie de entiti(abstracie ce se definete ca
un set de proprieti)





Sursa: www.azure.com/documentation
https://myaccount.table.core.windows.net/Tables('MyTable')





Partition Key Row Key Proprietate 3 Proprietate 4
Document Vesiune ModificatLa Descriere
Exemple Doc. V1.0 8/2/2007 Versiune de lucru
Partiia 1
Exemple Doc V2.0.1 9/28/2007 Vesiunea lui Ion

Algoritmi V1.0 5/2/2007 Versiune de lucru

Algoritmi V1.0.1 7/6/2007 Versiunea de lucru a


lui Ion Partiia 2
Algoritmi V1.0.2 8/1/2007 Versiunea de lucru a
Mariei


Partition Key Row Key Proprietatea 3 Proprietatea 4
Document Versiune ModificatLa Descriere
Example Doc V1.0 8/2/2007 Versiune de lucru

Example Doc V2.0.1 9/28/2007 Vesiunea lui Ion


Partiia 1

Algoritmi V1.0 5/2/2007 Versiune de lucru

Algoritmi Versiunea de lucru


V1.0.1 7/6/2007 a lui Ion Partiia 2

Algoritmi V1.0.2 8/1/2007 Versiunea de lucru


a Mariei









[DataServiceKey("PartitionKey", "RowKey")]
public class Message
{
// Numele Canalului
public string PartitionKey { get; set; }
// Data
public string RowKey { get; set; }

// Proprietate utilizator
public string Text { get; set; }
public int Rata { get; set; }
}
Message message = new Message {
PartitionKey = CanalTV", // CanalTV
RowKey = DateTime.UtcNow.ToString(), // Data de difuzare
Text = Este o reluare a unei difuzari anterioare",
Rating = 1.56
};

serviceUri = new Uri("http://<account>.table.core.windows.net");


var context = new DataServiceContext(serviceUri);

context.AddObject("Messages", message);

DataServiceContext response = context.SaveChanges();


POST http://<Account>.table.core.windows.net/Messages

... <! nfurtoare Atom -->


<m:properties>
<d:PartitionKey>CanalTV</d:PartitionKey> <!-- NumeCanalTV -->
<d:RowKey>Apr-1</d:RowKey> <!-- DataPostarii-->

<d:Text>Reluare emisie</d:Text>
<d:Rating>1.55</d:Rating>
</m:properties>

[DataServiceKey(NumeTabela")]
public class TableStorageTable
{
public string NumeTabela { get; set; }
}

// Service Uri is http://<Account>.table.core.windows.net/


DataServiceContext context = new DataServiceContext(serviceUri);

TableStorageTable table = new TableStorageTable("Mesaje");

context.AddObject("Tables", tabela);

DataServiceResponse response = context.SaveChanges();


serviceUri = new Uri("http://<account>.table.core.windows.net");
DataServiceContext context = new DataServiceContext(serviceUri);

var mesaje =
from mesaj in context.CreateQuery<Message>(Mesaje")
where mesaj.Rating == 1.5
select mesaj;

foreach (Message mesaj in mesaje) { }

GET http://<serviceUri>/Messages?$filter= Rating eq 1.5


// Obiectul Mesaj pentru (CanalTV", Apr-1")

context.DeleteObject(mesaj);

DataServiceResponse raspuns = context.SaveChanges();

DELETE http://.../Messages(CanalTV, Apr-1)



serviciulUri = new Uri("http://<cont>.table.core.windows.net");
DataServiceContext context = new DataServiceContext(serviciulUri);

var toateMesajele= context.CreateQuery<Mesaj>("Mesaje");


foreach (Mesaj mesaj in toateMesajele.Take(100))
{
Console.WriteLine(mesaj.Name);
}

GET http://<serviceUri>/Mesaje?$top=100


Conf.dr. Cristian KEVORCHIAN


Facultatea de Matematic i Informatic
REST este o arhitectura dedicata transmiterii
mesajelor spre i dinspre server folosind http

REST este un model pentru servicii Web,


alternativa la SOAP

Utilizeaz protocolul HTTP

Utilizeaz URI pentru identificarea resurselor


(REST)
Familie de modele pentru interaciunea cu serviciile
de date peste HTTP utiliznd formate simple cum ar fi
POX(Plain Old XML) i JSON(Java Script Object
Notation)
Introduce o alternativa la RPC care este bazat pe o
semantic simpl a HTTP. ASTORIA introduce o schema
a fiecarei entitati pe care o expune peste HTTP.
Fiecare entitate este identificabila prin URI(Uniform
Resource Identifier).
Schema este un EDM(Entity Data Model) implementabila
n ADO.NET Entity Framework.
Mapare EDM cu schema bazei de date
WCF
Servicii
de date

Proiectul
ODATA
Astoria

Servicii
de date
ADO.Net
ATOM
Este o modalitate(simpla) de a expune feed-uri de date in care
fiecare element constitutiv poarta numele de entry.
ATOM a aprut ca o replic la RSS(Rich Site Summary), care
reprezint feed-uri web utilizate la publicarea unor informatii cu
rat mare de actualizare.
Diferene
1. ATOM este un standard IETF(Internet Engineering Task Force )
n timp ce RSS nu reprezint un standard.
2. ATOM indic n mod explicit, coninutul n timp ce pentru RSS
browser-ul identific dac conine text simplu sau HTML
3. Codul ATOM este modular i reutilizabil n timp ce codul
RSS nu este
4. RSS ocup, n continuare, o poziie semnificativ n formatul de
sindicalizare din cauza start-upului i popularitii
RSS
<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title>Titlul RSS</title>
<description>Acesta este un exemplu de feed RSS</description>
<link>http://www.unexempluderss.ro/main.html</link>
<lastBuildDate>Mon, 06 Mar 2015 00:01:00 +0000 </lastBuildDate>
<pubDate>Mon, 06 Mar 2014 16:45:00 +0000 </pubDate>
<ttl>1800</ttl>

<item>
<title>Exemplu de entry</title>
<description>Aici se afl un text cu adevrat
interresant.</description>
<link>http://www.wikipedia.org/</link>
<http://www.ckrss.com/rss/item0955</guid>
<pubDate>Mon, 06 Sep 2014 16:45:00 +0000 </pubDate>
</item>
</channel>
</rss>
Este un protocol web

Este utilizat pentru interogarea i actualizarea datelor

Utilizeaz protocolul HTTP

Utilizeaz formate de mesaje ATOM, ATOMPub i JSON

Identificarea resurselor este realizat cu URI(REST)

OData este realizat sub Open Specification Promise pentru a


permite dezvoltarea de soluii bazate pe OData.
PRODUCTOR CONSUMATOR

Aplicaii :SharePoint 2010,


IBM Web Sphere , SSRS, SQL Browsere, ODATA Explorer ,
Azure , tabele Azure Excel 2010 , LINQPAD,
SesName Odata Browser
Servicii n timp-real:
facebook ,Pluralsight , Biblioteci Client: WinPhone ,
vanGuide , TechEd2010, Javascript , .Net , PHP
NerdDinner
Serviciile de date WCF expuse operatiilor CRUD ca
servicii REST utiliznd protocolul ODATA.

Obiectivul introducerii Serviciilor de DATE WCF este


de a facilita utilizarea unor servicii de date
flexibile usor de integrat in aplicaiile web

WCF Data Services Framework consta dintr-o


combinatie de modele si biblioteci care faciliteaza
crearea i consumul serviciilor de date peste web.
HTTP POST

CREATE Data in Table

HTTP GET

RETERIVE Data from table

HTTP PUT

UPDATE Data in table

HTTP DELETE

DELETE Data in table


ATOM
pentru
Formatul orice tip de
Mesajelor client

JSON ATOM JSON


pentru
clienti AJAX
Download biblioteca client ODATA pentru
Windows Phone 8

Elimina semnatura digitala

Creaza o clasa Proxy

Consuma aplicatia in Windows Phone 8


DevOps Workshop: Leveraging Collaboration to
Achieve Optimal Business Outcomes

Bill Keyworth
Vice President of Research
22 April 2015
ITs new challenges
IDCs MaturityScape
Assess your IT team
Review your results
Discuss action plan

Todays Restoration Journey 2


Defining DevOps
DevOps is a methodology and set of practices
that unify a team
consisting of business leadership, development,
testing, deployment, and operations
to be responsible for creation & delivery of
business capabilities

SPEED QUALITY

3
IDC DevOps Prediction
By 2016, 60% of CIOs will use DevOps as their primary tool to address
the speed and sprawl of mobile, cloud and open source applications.

Essential Focus on speed and quality and allow faster processes to provide
guidance services at the pace of business demands
Manage outcomes, not methods, to embrace open source and
other development alternatives
Integrate development and deployment with both business and
technology metrics to track success.

ITs culture requires leadership that accepts the idea of failure to


optimize business value.

4
An exploration of ITs 3rd Platform and the
related enterprise implications

1 2 3 4 5
ITs 3rd IDCs Assess Review Discuss
Platform is Maturity- Your Your Your
Transform- Scape IT Team Results Action
ational Plan

5
ITs 3rd Platform is a Business Platform

On average, 8% of total LOB employees are Technical Personnel

Business Leaders are taking control of their


technology because it is integral to their outcomes

6
Companies Using DevOps
Advanced DevOps Use for Competitive Advantage
Flickr Facebook
Etsy Twitter
Amazon Joyent
Google Linkedin
Netflix

On the DevOps Journey


Macys GE Capital Webex Nordstrom U Penn Wharton
Disney US Immigration Citrix Cars.com Ancestry.com
Services
GE First American VISA Ticketmaster
Cisco Financial Corp
Autotrader.com PAYPAL NYSE
ADP Dealer Services PNC bank
Fidelity Splunk Raytheon
National Australia Lloyds Banking
Barclays Apple Target
Bank Group
Capital One First Data Corp Salesforce.com
Bank of America MITRE
Aetna Thompson Reuters

7
Amazon Deployment Stats

1,079 10,000 30,000

Mean # of hosts Max # of hosts


Max deploys receiving receiving
in a single hour deploys deploys
simultaneously simultaneously

(production and host environments only)

8
Vendor Landscape

Development Tool Vendors


ALM/DEV Testing App Release App. Quality
Configuration Operational Tool Vendors
Log Analytics Application
Microsoft IBM HP Chef Coverity Performance Mgmt.
Splunk IBM

IBM HP IBM Puppet CAST


Sumologic BMC

HP Veracode BMC Docker HP IBM/Q1Labs CA

HP-Arcsight AppDynamics
Atlassian Whitehat Jenkins Ansible IBM

Logrhythm New Relic


Rally Qualys Cloudbees CFengine Parasoft
Software Loglogic Compuware

Collabnet Cenzic Heroku BMC Compuware McAfee Riverbed

PTC Aspect Xebialabs CA Microfocus

9
DevOps Value
The Optimized Method for Delivering Quality Business Services Fast

For Fortune 1000 organizations, the average cost of


unplanned application downtime per year is $1.25-$2.5 Billion
The average hourly cost of an infrastructure failure is
$100,000.
The average cost of a critical application failure per hour is
$500,000-$1 million.
The average number of deployments per month is expected
to double in two years.
IT organizations that attempt to custom adjust an existing tool
for DevOps projects fail 80% of the time.
There is an expectation that DevOps led projects will
accelerate the delivery of capabilities to the customer by an
average of 15-20%.

10
CIOs 2015 Personal Agenda
In three years, what type of CIO will your CEO define you as?
How do you see yourself today?

Chief Innovation Officer: Focus on delivering


business innovation to increase revenues, 57.4%
margins, and new products. 3

Business Service Broker: Focus on providing


business service capabilities through internal and 33.0% WW - In 3 Years
2
external sources for service excellence EMEA - Now

Operational CIO: Focus on maintenance and 1 9.6%


operations to manage costs and risks

N = 209
IDC CIO Sentiment 2015 Summary 0% 10% 20% 30% 40% 50% 60%
Source: CIO2014
Sentiment
n=194 2015 Summary
November, 0% 20% 40% 60% 80%

11
Explore IDCs MaturityScape
A process to assess your teams readiness to address ITs 3rd Platform

1 2 3 4 5
ITs 3rd IDCs Assess Review Discuss
Platform is Maturity- Your Your Your
Transform- Scape IT Team Results Action
ational Plan

12
IDC MaturityScape: DevOps

High
Performing
Continuous Service
Feedback Delivery
Pervasive
Automation
Teamwork and
Measurement
Cultural
Inhibitors

Where are you with DevOps?

13
IDC MaturityScape:
DevOps Business Outcomes Are the Focus

High
Performing
Continuous Service
Feedback Delivery
Pervasive
Automation Sustainable
Teamwork and advantage
Center
Measurement of
Cultural
Transparent Enablement
Inhibitors value chain
Standardized
Politically change Based on Business Imperatives,
charged management Where Does Your Enterprise Need to Be?

14
IDC MaturityScape:
DevOps Accelerating Business Value

High performing
service delivery
Enabled through DevOps
Continuous feedback
values, processes, and
procedures, customers
A focus on business value
dictate measurable
creation, and a culture of
Pervasive automation adjustments. IT cultural
quality where DevOps teams
transformation continues,
are accountable, and
via incremental successes
DevOps practices enable measured for speed and
with impactful business
broad automation and availability. This delivers
Teamwork and results via margin or revenue
process standardization, and agility, and the need to
growth.
measurement deliver more collaboration, collect multiple inputs from
trust, and teamwork with internal and external
Standardized processes and unified goals and (customer) sources.
Cultural inhibitors technologies drive increased responsibilities.
teamwork, as business .
IT culture that enables Business Outcome
pressures force the need for
silos and limits Sustainable advantage
measurable metrics.
collaboration, risk taking, Business Outcome
and cross domain teamwork. Center of Enablement
Inability to measure Business Outcome
outcomes with fragmented Transparent value
processes and poorly Business Outcome chain
integrated tools. Standardized change
management and
Business Outcome deployment
Politically charged

15
Your DevOps Journey Starts with a
Self-Assessment

People

Culture

Business

Process

Technology

16
Are You Transforming DevOps Maturity Fast
IDCs DevOps MaturityScape
Enough?
40%
High performing
service delivery
Enabled through DevOps

24% Continuous feedback


A focus on business value
values, processes, and
procedures, customers
dictate measurable
creation, and a culture of adjustments. IT cultural

17%
Pervasive automation quality where DevOps teams transformation continues,

Teamwork and
DevOps practices enable
broad automation and
are accountable, and
measured for speed and
availability. This delivers
16%
via incremental successes
with impactful business
results via margin or revenue
process standardization, and agility, and the need to growth.
measurement deliver more collaboration, collect multiple inputs from
trust, and teamwork with internal and external
Standardized processes and unified goals and (customer) sources.
Cultural inhibitors technologies drive increased responsibilities.

3%
IT culture that enables
silos and limits
teamwork, as business
pressures force the need for
measurable metrics.
.

Cultural
collaboration, risk taking, Teamwork and Pervasive Center of High Performing
and cross domain teamwork.
Inhibitors
Inability to measure
Measurement Automation Excellence Service Delivery
outcomes with fragmented
processes and poorly
40% of organizations are standardizing, then automating tools and processes
integrated tools.

Source: IDCs MaturityScape Benchmark Survey, 2014; N= 150

17
Evaluate your team,
and your organizations status

1 2 3 4 5
ITs 3rd IDCs Assess Review Discuss
Platform is Maturity- Your Your Your
Transform- Scape IT Team Results Action
ational Plan

18
DevOps Maturity: People
IDCs DevOps MaturityScape

32% High performing


service delivery

27% Continuous feedback


Enabled through DevOps
values, processes, and
procedures, customers
A focus on business value dictate measurable
creation, and a culture of adjustments. IT cultural
Pervasive automation quality where DevOps teams transformation continues,

DevOps practices enable


broad automation and
20%
are accountable, and
measured for speed and
availability. This delivers
via incremental successes

18%
with impactful business
results via margin or revenue
Teamwork and process standardization, and agility, and the need to growth.
measurement deliver more collaboration, collect multiple inputs from
trust, and teamwork with internal and external
Standardized processes and unified goals and (customer) sources.
Cultural inhibitors
3%
IT culture that enables
silos and limits
technologies drive increased
teamwork, as business
pressures force the need for
responsibilities.
.

measurable metrics.
Cultural
collaboration, risk taking, Teamwork and Pervasive Center of High Performing
and cross domain teamwork.
Inhibitors
Inability to measure
Measurement Automation Excellence Service Delivery
outcomes with fragmented
processes and poorly
integrated tools.
32% of organizations are incenting collaboration across IT silos
Source: IDCs MaturityScape Benchmark Survey, 2014; N= 150

19
DevOps Maturity: Culture
IDCs DevOps MaturityScape

54%
High performing
service delivery
Enabled through DevOps
Continuous feedback values, processes, and
procedures, customers

21%
Pervasive automation
A focus on business value
creation, and a culture of
quality where DevOps teams
dictate measurable
adjustments. IT cultural
transformation continues,
are accountable, and via incremental successes

13%
DevOps practices enable measured for speed and with impactful business
broad automation and availability. This delivers results via margin or revenue
Teamwork and process standardization, and agility, and the need to growth.
measurement
Standardized processes and
deliver more collaboration,
trust, and teamwork with
unified goals and
collect multiple inputs from
internal and external
(customer) sources.
9%
Cultural inhibitors technologies drive increased responsibilities.

3 %
IT culture that enables
teamwork, as business
pressures force the need for
.

silos and limits measurable metrics.


Cultural
collaboration, risk taking, Teamwork and Pervasive Center of High Performing
and cross domain teamwork.
Inhibitors
Inability to measure
Measurement Automation Excellence Service Delivery
outcomes with fragmented
processes and poorly
integrated tools. 54% of organizations have a highly collaborative, team oriented
culture that uses metrics to measure success
Source: IDCs MaturityScape Benchmark Survey, 2014; N= 150

20
DevOps Maturity: Business
IDCs DevOps MaturityScape

41%
High performing
service delivery
Enabled through DevOps
Continuous feedback values, processes, and
procedures, customers
A focus on business value dictate measurable

20 %
Pervasive automation
creation, and a culture of
quality where DevOps teams
are accountable, and
20%
adjustments. IT cultural
transformation continues,
via incremental successes

Teamwork and
DevOps practices enable
broad automation and
process standardization, and
17%
measured for speed and
availability. This delivers
agility, and the need to
with impactful business
results via margin or revenue
growth.
measurement deliver more collaboration, collect multiple inputs from
trust, and teamwork with internal and external
Standardized processes and unified goals and (customer) sources.
Cultural inhibitors technologies drive increased responsibilities.

2%
IT culture that enables
silos and limits
teamwork, as business
pressures force the need for
.

Cultural
collaboration, risk taking,
measurable metrics.
Teamwork and Pervasive Center of High Performing
Inhibitors
and cross domain teamwork.
Inability to measure
Measurement Automation Excellence Service Delivery
outcomes with fragmented
17% of organizations have created a dedicated DevOps CoE to accelerate project
processes and poorly
integrated tools.
success and internal cultural change
Source: IDCs MaturityScape Benchmark Survey, 2014; N= 150

21
DevOps Maturity: Technology
IDCs DevOps MaturityScape

36%
High performing
service delivery

25% Continuous feedback


Enabled through DevOps
values, processes, and
procedures, customers
A focus on business value dictate measurable
creation, and a culture of adjustments. IT cultural
Pervasive automation quality where DevOps teams transformation continues,
are accountable, and via incremental successes

Teamwork and
DevOps practices enable
broad automation and
process standardization, and
19%
measured for speed and
availability. This delivers
agility, and the need to
with impactful business

17%
results via margin or revenue
growth.
measurement deliver more collaboration, collect multiple inputs from
trust, and teamwork with internal and external
Standardized processes and unified goals and (customer) sources.
Cultural inhibitors technologies drive increased responsibilities.

3%
IT culture that enables
silos and limits
teamwork, as business
pressures force the need for
measurable metrics.
.

Cultural
collaboration, risk taking, Teamwork Pervasive Center of High Performing
and cross domain teamwork.
Inhibitors
Inability to measure
and Measurement Automation Excellence Service Delivery
outcomes with fragmented
25% of organizations are automating across silos driving repeatability
processes and poorly
integrated tools.
and an increase in security and compliance
Source: IDCs MaturityScape Benchmark Survey, 2014; N= 150

22
DevOps Maturity: Process
IDCs DevOps MaturityScape

37%
High performing
service delivery

26% Continuous feedback


Enabled through DevOps
values, processes, and
procedures, customers
A focus on business value dictate measurable
creation, and a culture of adjustments. IT cultural
Pervasive automation quality where DevOps teams transformation continues,
are accountable, and via incremental successes
DevOps practices enable measured for speed and with impactful business

Teamwork and
measurement
broad automation and
process standardization, and
deliver more collaboration,
17%
availability. This delivers
agility, and the need to
collect multiple inputs from
17%
results via margin or revenue
growth.

trust, and teamwork with internal and external


Standardized processes and unified goals and (customer) sources.
Cultural inhibitors technologies drive increased responsibilities.

3%
IT culture that enables
silos and limits
teamwork, as business
pressures force the need for
measurable metrics.
.

Cultural
collaboration, risk taking, Teamwork Pervasive Center of High Performing
and cross domain teamwork.
Inhibitors
Inability to measure
and Measurement Automation Excellence Service Delivery
outcomes with fragmented
processes and poorly
37% of organizations are utilizing continuous delivery and integration processes
integrated tools.

Source: IDCs MaturityScape Benchmark Survey, 2014; N= 150

23
Contrast your personal assessment with the
200+ organizations in the IDC data library

1 2 3 4 5
ITs 3rd IDCs Assess Review Discuss
Platform is Maturity- Your Your Your
Transform- Scape IT Team Results Action
ational Plan

24
Measure and Communicate with Metrics

Technology
Mobility Best Practices Business
Mobility Best Practices Value
Mobility Best Practices

Technology Leadership and Business Executives and Perceived value


their teams their teams

Deployment Revenue & Profit Productivity


frequency Customer feedback Quality
Lead time for Cash flow Costs (avoidance
changes and/or reduction:
Time to market
Change error rates Operating and
ROI & NPV
Failure rates Capital expense
Customer
Availability satisfaction Speed
Recovery time Cost per
Job satisfaction service/unit
Defect density Internal Rate of
MMTR and MTTF Return (IRR)

25
26
How to Access the IDC MaturityScape Platform

URL: www.DevOpsMaturityScape.com

On the registration page, you need an


access code: 504-CIOAS-DEV

27
Explore possible next steps with your
peers and colleagues

1 2 3 4 5
ITs 3rd IDCs Assess Review Discuss
Platform is Maturity- Your Your Your
Transfor- Scape IT Team Results Action
mational Plan

28
29
30
31
31
Next Weeks Action Items

Determine maturity; select


a project and apply
DevOps practices

Obtain executive
leadership, and select
the right team

Use metrics to track


progress; facts are
stubborn

33
Discussion
What aspect of DevOps is your organization struggling with the
most?

34
Closing Thought:
Efficient versus Effective
35
Bill Keyworth
Vice President - Research,
Bkeyworth@idc.com
How to Access the IDC MaturityScape Platform

URL: www.DevOpsMaturityScape.com

On the registration page, you need an


access code: 504-CIOAS-DEV

37
The IDC Difference

38
Global Footprint

39
IDCs Executive Programs

IDC's IT Executive Programs help today's time-constrained technology


professionals make more effective technology decisions.
Our IDC IT Executive Program offers you:

Technical expertise matched Personalized analyst access


to line of business challenges

Open access to all IT professional Personal dedicated analyst


events & web conferences account manager

40
Curs
DevOps i BIG DATA

Conf.dr. Cristian KEVORCHIAN


Facultatea de Matematica i Informatic
cristi@clr.ro
Complexitate i Declin n Business

Indiferent de modelul economic pe care l


analizm nregistrm o similaritate n tipologia
declinului.
Ultimul Averisment Rebecca D. Costa
AntiFragilitatea
n etapa iniial sunt depite obstacole aparent
insurmontabile care se constituie n provocri ale mediului
de business
Mediul de business este controlat i problema resurselor
companiei rezolvat prin dezvoltarea de procese considerate
a fi optime pentru acea dat.
Lupt acerb mpotriva obstacolelor din zona bussines-ului,
inovaia creativitatea i diversitatea nregistreaz cote
importante.
Complexitatea proceselor de business cunoate creteri
fr precedent
Fragilizarea
Verificarea informaiilor de business este foarte
dificil
Problemele care apar n managementul businesului
devin extrem de complicate(mai ales cele care nu se
constituie n ameninri imediate)
Persistena problemelor din business
Supravieuirea business-ului devine extrem de fragil,
timp n care se apeleaz la solutii pe termen scurt i
la mitologia de business.
Complexitatea unui calcul...
...descompunerea n factori primi a unui numr
de 250 cifre, folosind cele mai eficiente metode
cunoscute ar lua aproape un milion de ani ntr-
o reea format dintr-un milion computere.
Donald KNUTH
....reducerea acesteia
BIG DATA
Reprezint o stiv de tehnologii bazat pe o
paradigm computational distribuit(ex.HDFS) care
utilizeaz MapReduce i NoSQL pentru
implementri heterodoxe ale unor soluii IT la nivel
enetrprise(i nu numai) bazate pe resurse din
machine learning i inteligen artificial.
Front-end-uri
DMZ

CMS Partajare Elastica a Dedicated web fronts (some customers)


serviiciilor front-end
(API si portal web
Middleware

Partajarea Applicatiilor pe noduri Web analytics tools (eg. Ananke/PHP) Noduri worker
worker dedicate
Big Data lake (nestructurat) Manag. Ident. Servicii ETL (Datamart) Servicii de Ent. search(Exalead)
Backoffice
7 DIN 10 COMPANII ADMINISTREAZ INFORMAII
FURNIZATE DE TERI

o 72 % - informaii meteo
o 70% - date din zona guvernamental
o 41% - date bazate pe localizare
Sursa: Economist IntelligenceUnit
Datele sunt tratate izolat s-au prezentate n formate care le
fac inutilizabile n zone strategice.

40% din executivi se confrunt cu dificulti legate de gradul de


reprezentativitate al datelor

34% consider ca procesul decizional sufer din pricina suprancrcrii


cu date
Date necesare CMO-ului

Crete procesul de cunoatere al


comportamentului clientilor n
pia-met. segmentrii (50%)

Ajut la evaluarea potenialului


cererii de produse i servicii noi
Tehnologii de referin pentru Big Data

Servicii de
analiz

Elasticitatea computaional din cloud + Opiuni On-Premises


Orchestrarea de tehnologii

Apache Spark Hadoop as a Service


Matei ZAHARIA
Apache Hadoop 2 (DataBricks, Ion STOICA,
CEO))

BIG DATA open source O soluie unificat Serviciul HDInsight,


platform peste surse de date, Server HDInsight pe
task-uri de platforma Hortonworks
prelucrare i medii
Funcionaliti
de lucru adiionale
MapReduce
Paradigma MapReduce const n reuniunea de secvene map i reduce
executate secvenial.
Hadoop MapReduce vs. Apache Spark
YARN
YARN se plaseaz n spaiul dintre HDFS i spaiul de lucru al lui
MapReduce. Faciliteaz existena unor medii de calcul provenite din afara
Hadoop cum ar fi Spark i Giraph.
YARN furnizeaza un context computational omogen pentru MapReduce,
Hbase, Mahout, etc.
YARN(Yet Another Resource Negociator)
Stats Machine Legend
Graph
Pipeline / Workflow

processing Learning
(Pegasus) Red = Core
(RHadoop) (Mahout)
Hadoop
(Oozie)

Metadata Blue = Data


(HCatalog) processing

( ODBC / SQOOP/ REST)


Purple = Microsoft
Scripting Query

Data Integration
NoSQL Database

integration points
(Pig) (Hive) and value adds
(HBase)

Yellow = Data
Distributed Processing
Event Pipeline

Movement
(Flume)

(MapReduce) Green = Packages


White = Coming
Distributed Storage Soon
(HDFS)
Hive
Arhitectura HIVE

Hadoop
Hadoop 2.0-Arhitectura Hive
Aplicaiile celei de-a treia platforme
SOA(Service Oriented Architecture) cu servicii independente
Frecvente update-uri
Azure : peste xxx update-uri in ultimul an
Netflix : update-uri saptaminale(sau chiar mai frecvente)
Integrare continua a update-urilor cerute de business
Operarea unui sistem cu integrare continu
Analitii
Agilitatea companiei
Business-ul
Aplicaiile urmresc necesitile business-ului
Dev-ul
Update-uri mult mai frecvente
The Sysadmin-ii
Stabilitate i resilienta
Momentul de.. Data Science
Modelarea cu ajutorul unei catastrofe(teoria schimbarilor brute) a stabilitatii unui
sistem social la influente exogene.
Catastrofa Fold Catastrofa Buterfly

F(x,y)=x3+yx F(x,y)=x6+yx4
Big Data este o stiv de tehnologii destinat
antifragilizrii proceselor de business
V multumesc!
NoSQL-Platforme de date n
cloud

Cristian KEVORCHIAN
Facultatea de Matematic i Informatic
ck@fmi.unibuc.ro
Conectivitate x.0

Web 1.0 Hypertext


Web 2.0 Blog, Wiki,
Tagging, Folksonomii,
Coninut Generat de
Utilizator
Web 3.0 RDF,
Ontologii,
GGG(GiantGlobalGr
af)
Web x.0 Query
Knowledge
Universul Digital 2010-2020

Big Data" - extragerea


de valoare din marile bazine
neexploatate de date din univers
digital

Source: IDC's Digital Universe Study, sponsored by EMC, December 2012


Gradul de utilizare

0.5% din datele universului digital


sunt pregatite pentru a fi utilizate
n analize
3% din date sunt ntr-o faz
pregtitoare pentru a fi utilizate.
70-80% sunt nestructurate
Data Science/Data Scientist
Data Science ncorporeaz diferite
tehnologii i teorii din domenii cum ar fi:
matematic, statistic,machine learning
(Apache Mahout) modelare fuzzy, HPC,
data warehousing, data mining(Pegasus,
MSSQL Analysis Services). Data science
este un concept relativ nou asemanator
cu cel de competitive intelligence sau de
business analitics.
Data Scientist - practicienii acestui
domeniu
Data Science-Perspective

The New York Times(Education Life, 11.04.2013) Claire


Cain MILLER estimeaza necesarul de specialisti din
categoria data scientist la aprox. 190.000 iar numarul
de manageri educati in data management la
aprox. 1.500.000
Un studiu publicat NYT in 14.04.2013 identifica
urmatoarele surse de pregatire a specialistilor in data
science:
34% student in computer science
27% profesionisti din alte domenii decit IT si computer science
24% studeni de la alte facultati decit cele cu profil IT
12% specialisti in BI
3% altii
BIG Data
Sistem de tehnologii pentru exploatarea
unor bazine de date ale universului
digital.
Termenul descrie acele volume de
date care depesc capacitatea de
procesare a bazelor de date
convenionale
NoSQL(not only SQL) - o abordare
alternativ pentru stocarea de date
semi si ne-structurate.
Consideraii generale
Baza de date nu raspunde traficului de date impus.
Normalizarea schemei devine o operatie de complexitate ridicat
Se renunta la normalizarea schemei pentru a obtine timpi de
procesare superiori.
Join-urile conduc la o reactie lenta a sistemului.
Documentele din surse diferite cer scheme flexibile sau no schema
Sunt necesare operatii ETL la nivelul surselor de date; MapReduce
sau alte motoare pot genera output-urile dorite pentru a fi incarcate
in RDBMS.
Legea Big Data: More data beats clever algoritms
In bazele noSQL fiecare data sau document este versionat.
Interogari la nivelul istoricului.
Cloud Computing

Livrarea IT ca serviciu
IaaS
SaaS
PaaS
DBaaS - prin paradigma Big
Data
Procesare batch n Big Data

Conversia datelor nestructurate n


nregistrri structurate
Transformarea n timpul ETL. Sunt importate
date n formate multiple, pe care dorim s
le transformm n formate analizabile
Analiza ad-hoc a datelor. Nu pot fi
realizate analize bazate pe data mining
pentru scheme de tip star i cuburi de date.
Aplicaii pentru crearea de analitici i
raportare
Infrastructur pentru procesare batch
HDFS i MapReduce implementate n Hadoop. Aplicatiile,
orientate ctre procese batch, dezvoltate in Java prin
utilizare Hadoop.
Apache Pig-limbaj procedural pentru analiza unor volume
mari de date semistructurate prin utilizarea platformei
Hadoop/MapReduce similar SQL. Execut interogari ntr-un
DATASET distribuit cu limbajului PigLatin.
Apache Hive - Infrastructur DW bazata pe Hadoop. Limbajul
de interogare HiveQL, care permite agregri, interogri i
analize. Hive translateaza interogri din SQL n task-uri
MapReduce executate n clusterul Hadoop.
Apache Mahout-implementeaza paradigma MapReduce
pentru clustering, clasificare, filtrare peste procese batch.
Tipuri de Baze de Date NoSQL

Incarca valoarea cheilor-valoarea cheii+BLOB.


MongoDB(Opa), Amazon Dynamo, DocumentDB.
Pot fi tratate ca NoSQL OLTP
NoSQL DW stocheaz i analizeaz mari volume
de date. HData(Hadoop) .
Din perspectiva managemetului datelor NoSQL
este asociat prelucrrii datelor nestructurate-fara
implicarea schemei i caracterizate prin
4Vs(Volume, Velocity,Variability, Variaty):
BIG DATA BI+4V
EDW vs. Hadoop
HBase capacitate de stocare si procesare a unor
mari volume de date(CAP Theorem)
Componentele Hadoop:
HDFS-permite stocare de date structurate si nestructurate.
Datele sunt divizate i distribuite n nodurile sistemului de
fisiere.
Motorul Map-Reduce - datele sunt procesate cu ajutorul
programelor Map-Reduce.
HBase si Hive - furnizeaza un nivel de analiza ce permite
utilizarea SQL:
SPSS sau R pot interopera cu Hadoop prin Hive
EDW-este o solutie utilizata pe scara larga, datorit
adaptabilitaii pe procesele de business si nu depinde
atit de mult de contextul IT.
PolyBase
O tehnologie care s unifice relaional
/non-relational la nivelul interogrii.
O interogare T-SQL care accepta join intre
surse de date relaionale i tabele dintr-un
cluster Hadoop.
Nuanarea accesului la date:
Datele frecvent accesate vor fi directionate
a fi prelucrate in memorie
Datele accesate cu o frecventa medie vor fi
stocate in DW
Celelalte n clusterul Hadoop.
PowerView vizualizeaza date din HDFS
Extinde motorul PDW(Parallel DW )va va
ccepta cod MapReduce (fisiere JAR).
Serviciul HDInsight pentru Windows Azure

Serviciul HDInsight include un driver ODBC


pentru pentru Hive care permite interogri n
timp real din clienti BI(EXCEL) n Hadoop.
Sqoop-Importa/Exporta date din SQL Server,
Oracle, DB2 si populeaza tabele in Hive si
HBase
RDF, SPARQL n Big Data
RDF(Resource Description Format) standard W3C de
modelare a datelor n format structurat i semi-structurat.
Data=(subiect, predicat, obiect), ex.(p1234, in Stoc, 9)
Exemplu:
SELECT ?proprietate ?valoare /listeaza variabilele proprietate valoare
WHERE { fdb:s1955?proprietate?valoare}

SPARQL interogheaza diferite baze de date in diferite SGBD-


uri.
Exista endponts de SPARQL care opereaza Lnked Open Data
Cloud
Oracle Spatial si IBM DB/2 suporta RDF semantic graph si
SPARQL
Hive utilizarea conceptelor furnizate prin endpoint-uri SPARQL
Membrane Computing vs. Ambient Computing

Echivalenta Membrane
Computing/Ambient Computing
(Ciobanu 2006)
Logica erotetica(Luca Cardelli)
Modalitati peste Logica Ambientelor
Logica erotetic(Kevorchian,2011)
Implementari pentru interogarea
ontologiilor simbolice
Ambient Logic

Logica Modala
Modalitati spatiale si
temporale
Modalitati spatiale descriu
bazele de date
semistructurate
Interogare a NoSQL database
via ontologii
Pasul urmator

Constructia unei logici peste o


structura logica de tip erotetic
Inferenta ca interogare
Construcia unei interogarri peste o
ontologie ca schem de interogare a
unei baze NoSQL
V mulumesc!

S-ar putea să vă placă și