SlideShare a Scribd company logo
@ITCAMPRO #ITCAMP19Community Conference for IT Professionals
Modernise your app:
the cloud story
Andrea Saltarello
CTO @ Managed Designs
Microsoft Regional Director – Microsoft MVP
https://twitter.com/andysal74
https://github.com/andysal
https://www.linkedin.com/in/andysal/
@ITCAMPRO #ITCAMP19Community Conference for IT Professionals
Many thanks to our sponsors & partners!
GOLD
SILVER
PARTNERS
PLATINUM
POWERED BY
@ITCAMPRO #ITCAMP19Community Conference for IT Professionals
Me.About();
• CTO & Solution Architect @ Managed Designs
• Microsoft MVP since 2003
• Microsoft Regional Director since 2015
• Author, along with Dino, of .NET: Architecting
Applications for the Enterprise (Microsoft Press)
• Basically, a software architect eager to write code (that
is, a programmer J)
@ITCAMPRO #ITCAMP19Community Conference for IT Professionals
«We’re programmers. Programmers are, in their hearts,
architects, and the first thing they want to do when they
get to a site is to bulldoze the place flat and build
something grand. We’re not excited by incremental
renovation: tinkering, improving, planting flower beds.»
[https://www.joelonsoftware.com/2000/04/06/things-
you-should-never-do-part-i/]
It’s harder to read code than to write it.
@ITCAMPRO #ITCAMP19Community Conference for IT Professionals
The single worst strategic mistake
@ITCAMPRO #ITCAMP19Community Conference for IT Professionals
«Under certain circumstances, it made a lot of sense to rewrite
from scratch. For example:
• Sometimes the legacy codebase really is messed up beyond
repair, such that even simple changes require a cascade of
changes to other parts of the code.
• The original technology choices might be preventing you from
making necessary improvements.
• Or, the original technology might be obsolete, making it hard (or
expensive) to recruit quality developers.»
[https://medium.com/@herbcaudill/lessons-from-6-software-
rewrite-stories-635e4c8f7c22]
Still…
@ITCAMPRO #ITCAMP19Community Conference for IT Professionals
App Modernisation
Application modernization services address the migration
of legacy to new applications or platforms, including the
integration of new functionality to provide the latest functions
to the business.
Modernization options include re-platforming, re-hosting,
recoding, rearchitecting, re-engineering, interoperability,
replacement and retirement, as well as changes to the
application architecture to clarify which option should be
selected.
[Gartner Group]
@ITCAMPRO #ITCAMP19Community Conference for IT Professionals
App Modernisation strategies
• re-platforming (lift, tinker & shift)
• re-hosting (lift & shift)
• recoding
• rearchitecting
• re-engineering
• interoperability
• replacement (moving to a different product)
• retirement (get rid of)
[https://aws.amazon.com/it/blogs/enterprise-strategy/6-
strategies-for-migrating-applications-to-the-cloud/]
@ITCAMPRO #ITCAMP19Community Conference for IT Professionals
App Modernisation, from a Microsoft’s perspectiveEngineeringComplexityandCost
Existing on-
premises
applications
VMs
Rehost
Containers
&
App Services
Refactor
Microservices
Rearchitect
Serverless
Rebuild
New
SaaS apps
Replace
App Modernization
Lift & Shift
@ITCAMPRO #ITCAMP19Community Conference for IT Professionals
There’s no
silver bullet
@ITCAMPRO #ITCAMP19Community Conference for IT Professionals
Cloud != [AWS|Azure|GCP]
@ITCAMPRO #ITCAMP19Community Conference for IT Professionals
A story of
Replatforming
@ITCAMPRO #ITCAMP19Community Conference for IT Professionals
@ITCAMPRO #ITCAMP19Community Conference for IT Professionals
VMs hosted by an on-premises 2-node VMWare cluster:
–Web Server (IIS 8)
–DBMS (SQL Server 2008 R2)
–Mail server (MailEnable Pro)
As-is
@ITCAMPRO #ITCAMP19Community Conference for IT Professionals
• Faulty hardware
• Lot of bandwidth consumed for streaming purposes
• Lot of storage space needed for videos
• Blacklisted newsletter
• New MailEnable Pro license needed
Pain points
@ITCAMPRO #ITCAMP19Community Conference for IT Professionals
1. SQL Server -> SQL Azure
2. MailEnable -> SendGrid
3. Web Server -> (B2MS) VM
4. Videos -> Vimeo
5. Web Server -> AppService
6. [TBD] Attachments -> Blob Storage
The Plan
@ITCAMPRO #ITCAMP19Community Conference for IT Professionals
@ITCAMPRO #ITCAMP19Community Conference for IT Professionals
@ITCAMPRO #ITCAMP19Community Conference for IT Professionals
12 floating ultra-luxury hotels
Vs
12(+1) floating data centres with synchronisation needs
(both data and code)
Different point of views
@ITCAMPRO #ITCAMP19Community Conference for IT Professionals
• Little time to apply patches and make upgrades
• Hard to maintain synchronisation scripts
• Expensive storage space (gazillions of documents)
Pain points
@ITCAMPRO #ITCAMP19Community Conference for IT Professionals
• Lots of VMs hosted by on-premises Hyper-V and
VMWare based clusters
• All-in on Microsoft development stack, with a pinch of
PHP
• Lots of x-database queries
• SMB shares purchased from a provider
As-is
@ITCAMPRO #ITCAMP19Community Conference for IT Professionals
• One compute to rule ’em all
–On-the-ground -> Azure
–Floating data-centres -> Azure Stack
• IIS -> App Services
• Storage Provider -> Blob Storage
• SQL Server - SQL Managed Instances
• CosmosDb
To-be:
@ITCAMPRO #ITCAMP19Community Conference for IT Professionals
If I could start again, a million miles away
@ITCAMPRO #ITCAMP19Community Conference for IT Professionals
fundamental concepts or properties of a system in its
environment embodied in its elements, relationships, and
in the principles of its design and evolution
[ISO 42010]
Software Architecture
@ITCAMPRO #ITCAMP19Community Conference for IT Professionals
• Create each bounded context as an interoperable
microservice
• Let web servers be… just web servers
• Join the async side of the Force
• Disk space is cheap
• Coolness often comes at a price
Demo app available on Github (AGPL3): it’s a micro-ERP
my company developes as a kick-starter
Rules of thumb
@ITCAMPRO #ITCAMP19Community Conference for IT Professionals
A fine-grained architecture allowing each element to be:
• Evolved
• Deployed
• Configured (e.g.: scaled)
• Replaced
independently, thus having each one only consuming
the resources it really needs yet having more moving
parts to manage as well
Microservices FTW
@ITCAMPRO #ITCAMP19Community Conference for IT Professionals
Application
Layer
Snapshots
Event store
Read stack
Domain Layer
Ad-hoc DBHandlers
Command Event Data
Handlers
Model ServicesB
U
S
CQRS/ES at a glance
@ITCAMPRO #ITCAMP19Community Conference for IT Professionals
Q & A

More Related Content

What's hot

IoT Business Opportunity & Disruption
IoT Business Opportunity & Disruption IoT Business Opportunity & Disruption
IoT Business Opportunity & Disruption
Asanka Abeysinghe
 
Iterative Architecture: Your Path to on-time Delivery
Iterative Architecture: Your Path to on-time DeliveryIterative Architecture: Your Path to on-time Delivery
Iterative Architecture: Your Path to on-time Delivery
Asanka Abeysinghe
 
2015 06-wso2 coneu-closingkeynote-asanka
2015 06-wso2 coneu-closingkeynote-asanka2015 06-wso2 coneu-closingkeynote-asanka
2015 06-wso2 coneu-closingkeynote-asanka
Asanka Abeysinghe
 
ITCamp 2019 - Mihai Tataran - Governing your Cloud Resources
ITCamp 2019 - Mihai Tataran - Governing your Cloud ResourcesITCamp 2019 - Mihai Tataran - Governing your Cloud Resources
ITCamp 2019 - Mihai Tataran - Governing your Cloud Resources
ITCamp
 
The Reconstitution of Middleware with APIs
The Reconstitution of Middleware with APIsThe Reconstitution of Middleware with APIs
The Reconstitution of Middleware with APIs
Asanka Abeysinghe
 
Roadmap to a Connected Business
Roadmap to a Connected BusinessRoadmap to a Connected Business
Roadmap to a Connected Business
Asanka Abeysinghe
 
2015 06-api days-sf-apis-dbridge2iot-asanka
2015 06-api days-sf-apis-dbridge2iot-asanka2015 06-api days-sf-apis-dbridge2iot-asanka
2015 06-api days-sf-apis-dbridge2iot-asanka
Asanka Abeysinghe
 
The Role of Integration in Microservice Architecture (MSA)
The Role of Integration in Microservice Architecture (MSA)The Role of Integration in Microservice Architecture (MSA)
The Role of Integration in Microservice Architecture (MSA)
Asanka Abeysinghe
 
Iterative Architecture: A Pragmatic Approach to Digital Transformation
Iterative Architecture: A Pragmatic Approach to Digital TransformationIterative Architecture: A Pragmatic Approach to Digital Transformation
Iterative Architecture: A Pragmatic Approach to Digital Transformation
Asanka Abeysinghe
 
Building Your First SPA with Aurelia and MVC 6 - Mihai Coros
Building Your First SPA with Aurelia and MVC 6 - Mihai CorosBuilding Your First SPA with Aurelia and MVC 6 - Mihai Coros
Building Your First SPA with Aurelia and MVC 6 - Mihai Coros
ITCamp
 
Zürich Saas Meetup: Software as a Service Architecture
Zürich Saas Meetup: Software as a Service ArchitectureZürich Saas Meetup: Software as a Service Architecture
Zürich Saas Meetup: Software as a Service Architecture
Roman Weis
 
BIM Conversion & Analysis Workshop: Story of the I-35W Bridge Collapse
BIM Conversion & Analysis Workshop: Story of the I-35W Bridge CollapseBIM Conversion & Analysis Workshop: Story of the I-35W Bridge Collapse
BIM Conversion & Analysis Workshop: Story of the I-35W Bridge Collapse
Safe Software
 
Red Hat: Three Pillars of Integration
Red Hat:  Three Pillars of IntegrationRed Hat:  Three Pillars of Integration
Red Hat: Three Pillars of Integration
Judy Breedlove
 
A New Development Platform Connecting BIM to Anything - Mr. Xiaodong LIANG Ch...
A New Development Platform Connecting BIM to Anything - Mr. Xiaodong LIANG Ch...A New Development Platform Connecting BIM to Anything - Mr. Xiaodong LIANG Ch...
A New Development Platform Connecting BIM to Anything - Mr. Xiaodong LIANG Ch...
The Hong Kong Institute of Building Information Modelling (HKIBIM)
 
The GitOps Journey - Schlomo Schapiro - Berlin DevOps Meetup 2021-11
The GitOps Journey - Schlomo Schapiro - Berlin DevOps Meetup 2021-11The GitOps Journey - Schlomo Schapiro - Berlin DevOps Meetup 2021-11
The GitOps Journey - Schlomo Schapiro - Berlin DevOps Meetup 2021-11
Schlomo Schapiro
 
Building a Future-ready Bank
Building a Future-ready BankBuilding a Future-ready Bank
Building a Future-ready Bank
WSO2
 
Catalysts
CatalystsCatalysts
Microsoft ignite 2017 event report
Microsoft ignite 2017 event reportMicrosoft ignite 2017 event report
Microsoft ignite 2017 event report
Holger Mueller
 
A Decentralized Reference Architecture for Cloud-native Applications V2.0
A Decentralized Reference Architecture for Cloud-native Applications  V2.0A Decentralized Reference Architecture for Cloud-native Applications  V2.0
A Decentralized Reference Architecture for Cloud-native Applications V2.0
Asanka Abeysinghe
 
The Role of GitOps in IT Strategy - June 2021 - Schlomo Schapiro
The Role of GitOps in IT Strategy - June 2021 - Schlomo SchapiroThe Role of GitOps in IT Strategy - June 2021 - Schlomo Schapiro
The Role of GitOps in IT Strategy - June 2021 - Schlomo Schapiro
Schlomo Schapiro
 

What's hot (20)

IoT Business Opportunity & Disruption
IoT Business Opportunity & Disruption IoT Business Opportunity & Disruption
IoT Business Opportunity & Disruption
 
Iterative Architecture: Your Path to on-time Delivery
Iterative Architecture: Your Path to on-time DeliveryIterative Architecture: Your Path to on-time Delivery
Iterative Architecture: Your Path to on-time Delivery
 
2015 06-wso2 coneu-closingkeynote-asanka
2015 06-wso2 coneu-closingkeynote-asanka2015 06-wso2 coneu-closingkeynote-asanka
2015 06-wso2 coneu-closingkeynote-asanka
 
ITCamp 2019 - Mihai Tataran - Governing your Cloud Resources
ITCamp 2019 - Mihai Tataran - Governing your Cloud ResourcesITCamp 2019 - Mihai Tataran - Governing your Cloud Resources
ITCamp 2019 - Mihai Tataran - Governing your Cloud Resources
 
The Reconstitution of Middleware with APIs
The Reconstitution of Middleware with APIsThe Reconstitution of Middleware with APIs
The Reconstitution of Middleware with APIs
 
Roadmap to a Connected Business
Roadmap to a Connected BusinessRoadmap to a Connected Business
Roadmap to a Connected Business
 
2015 06-api days-sf-apis-dbridge2iot-asanka
2015 06-api days-sf-apis-dbridge2iot-asanka2015 06-api days-sf-apis-dbridge2iot-asanka
2015 06-api days-sf-apis-dbridge2iot-asanka
 
The Role of Integration in Microservice Architecture (MSA)
The Role of Integration in Microservice Architecture (MSA)The Role of Integration in Microservice Architecture (MSA)
The Role of Integration in Microservice Architecture (MSA)
 
Iterative Architecture: A Pragmatic Approach to Digital Transformation
Iterative Architecture: A Pragmatic Approach to Digital TransformationIterative Architecture: A Pragmatic Approach to Digital Transformation
Iterative Architecture: A Pragmatic Approach to Digital Transformation
 
Building Your First SPA with Aurelia and MVC 6 - Mihai Coros
Building Your First SPA with Aurelia and MVC 6 - Mihai CorosBuilding Your First SPA with Aurelia and MVC 6 - Mihai Coros
Building Your First SPA with Aurelia and MVC 6 - Mihai Coros
 
Zürich Saas Meetup: Software as a Service Architecture
Zürich Saas Meetup: Software as a Service ArchitectureZürich Saas Meetup: Software as a Service Architecture
Zürich Saas Meetup: Software as a Service Architecture
 
BIM Conversion & Analysis Workshop: Story of the I-35W Bridge Collapse
BIM Conversion & Analysis Workshop: Story of the I-35W Bridge CollapseBIM Conversion & Analysis Workshop: Story of the I-35W Bridge Collapse
BIM Conversion & Analysis Workshop: Story of the I-35W Bridge Collapse
 
Red Hat: Three Pillars of Integration
Red Hat:  Three Pillars of IntegrationRed Hat:  Three Pillars of Integration
Red Hat: Three Pillars of Integration
 
A New Development Platform Connecting BIM to Anything - Mr. Xiaodong LIANG Ch...
A New Development Platform Connecting BIM to Anything - Mr. Xiaodong LIANG Ch...A New Development Platform Connecting BIM to Anything - Mr. Xiaodong LIANG Ch...
A New Development Platform Connecting BIM to Anything - Mr. Xiaodong LIANG Ch...
 
The GitOps Journey - Schlomo Schapiro - Berlin DevOps Meetup 2021-11
The GitOps Journey - Schlomo Schapiro - Berlin DevOps Meetup 2021-11The GitOps Journey - Schlomo Schapiro - Berlin DevOps Meetup 2021-11
The GitOps Journey - Schlomo Schapiro - Berlin DevOps Meetup 2021-11
 
Building a Future-ready Bank
Building a Future-ready BankBuilding a Future-ready Bank
Building a Future-ready Bank
 
Catalysts
CatalystsCatalysts
Catalysts
 
Microsoft ignite 2017 event report
Microsoft ignite 2017 event reportMicrosoft ignite 2017 event report
Microsoft ignite 2017 event report
 
A Decentralized Reference Architecture for Cloud-native Applications V2.0
A Decentralized Reference Architecture for Cloud-native Applications  V2.0A Decentralized Reference Architecture for Cloud-native Applications  V2.0
A Decentralized Reference Architecture for Cloud-native Applications V2.0
 
The Role of GitOps in IT Strategy - June 2021 - Schlomo Schapiro
The Role of GitOps in IT Strategy - June 2021 - Schlomo SchapiroThe Role of GitOps in IT Strategy - June 2021 - Schlomo Schapiro
The Role of GitOps in IT Strategy - June 2021 - Schlomo Schapiro
 

Similar to ITCamp 2019 - Andrea Saltarello - Modernise your app. The Cloud Story

Azure SQL Database From A Developer's Perspective - Alex Mang
Azure SQL Database From A Developer's Perspective - Alex MangAzure SQL Database From A Developer's Perspective - Alex Mang
Azure SQL Database From A Developer's Perspective - Alex Mang
ITCamp
 
One Azure Monitor to Rule Them All? - Marius Zaharia
One Azure Monitor to Rule Them All? - Marius ZahariaOne Azure Monitor to Rule Them All? - Marius Zaharia
One Azure Monitor to Rule Them All? - Marius Zaharia
ITCamp
 
One Azure Monitor to Rule Them All? (IT Camp 2017, Cluj, RO)
One Azure Monitor to Rule Them All? (IT Camp 2017, Cluj, RO)One Azure Monitor to Rule Them All? (IT Camp 2017, Cluj, RO)
One Azure Monitor to Rule Them All? (IT Camp 2017, Cluj, RO)
Marius Zaharia
 
Modern Architecture in the Cloud of 2018 (IT Camp 2018)
Modern Architecture in the Cloud of 2018 (IT Camp 2018)Modern Architecture in the Cloud of 2018 (IT Camp 2018)
Modern Architecture in the Cloud of 2018 (IT Camp 2018)
Marius Zaharia
 
The Fine Art of Time Travelling - Implementing Event Sourcing - Andrea Saltar...
The Fine Art of Time Travelling - Implementing Event Sourcing - Andrea Saltar...The Fine Art of Time Travelling - Implementing Event Sourcing - Andrea Saltar...
The Fine Art of Time Travelling - Implementing Event Sourcing - Andrea Saltar...
ITCamp
 
Elements of DDD with ASP.NET MVC & Entity Framework Code First v2
Elements of DDD with ASP.NET MVC & Entity Framework Code First v2Elements of DDD with ASP.NET MVC & Entity Framework Code First v2
Elements of DDD with ASP.NET MVC & Entity Framework Code First v2
Enea Gabriel
 
Azure tales: a real world CQRS and ES Deep Dive - Andrea Saltarello
Azure tales: a real world CQRS and ES Deep Dive - Andrea SaltarelloAzure tales: a real world CQRS and ES Deep Dive - Andrea Saltarello
Azure tales: a real world CQRS and ES Deep Dive - Andrea Saltarello
ITCamp
 
Xamarin Under The Hood - Dan Ardelean
 Xamarin Under The Hood - Dan Ardelean Xamarin Under The Hood - Dan Ardelean
Xamarin Under The Hood - Dan Ardelean
ITCamp
 
Serverless Single Page Apps with React and Redux at ItCamp 2017
Serverless Single Page Apps with React and Redux at ItCamp 2017Serverless Single Page Apps with React and Redux at ItCamp 2017
Serverless Single Page Apps with React and Redux at ItCamp 2017
Melania Andrisan (Danciu)
 
Mihai Tataran - Building Windows 8 Applications with HTML5 and JS
Mihai Tataran - Building Windows 8 Applications with HTML5 and JSMihai Tataran - Building Windows 8 Applications with HTML5 and JS
Mihai Tataran - Building Windows 8 Applications with HTML5 and JSITCamp
 
Xamarin - Under the bridge
Xamarin - Under the bridgeXamarin - Under the bridge
Xamarin - Under the bridge
Dan Ardelean
 
ITCamp 2013 - Melania Danciu - HTML5 apps with LightSwitch
ITCamp 2013 - Melania Danciu - HTML5 apps with LightSwitchITCamp 2013 - Melania Danciu - HTML5 apps with LightSwitch
ITCamp 2013 - Melania Danciu - HTML5 apps with LightSwitchITCamp
 
ITCamp 2011 - Adrian Stoian - System Center Configuration Manager 2012
ITCamp 2011 - Adrian Stoian - System Center Configuration Manager 2012ITCamp 2011 - Adrian Stoian - System Center Configuration Manager 2012
ITCamp 2011 - Adrian Stoian - System Center Configuration Manager 2012ITCamp
 
Everyone Loves Docker Containers Before They Understand Docker Containers - A...
Everyone Loves Docker Containers Before They Understand Docker Containers - A...Everyone Loves Docker Containers Before They Understand Docker Containers - A...
Everyone Loves Docker Containers Before They Understand Docker Containers - A...
ITCamp
 
ITCamp 2011 - Mihai Tataran, Tudor Damian - Keynote
ITCamp 2011 - Mihai Tataran, Tudor Damian - KeynoteITCamp 2011 - Mihai Tataran, Tudor Damian - Keynote
ITCamp 2011 - Mihai Tataran, Tudor Damian - KeynoteITCamp
 
Bahrain ch9 introduction to docker 5th birthday
Bahrain ch9 introduction to docker 5th birthday Bahrain ch9 introduction to docker 5th birthday
Bahrain ch9 introduction to docker 5th birthday
Walid Shaari
 
ITCamp 2012 - Ovidiu Stan - Social media platform with Telligent Community, W...
ITCamp 2012 - Ovidiu Stan - Social media platform with Telligent Community, W...ITCamp 2012 - Ovidiu Stan - Social media platform with Telligent Community, W...
ITCamp 2012 - Ovidiu Stan - Social media platform with Telligent Community, W...ITCamp
 
ITCamp 2011 - Mihai Tataran - Migrating to Azure
ITCamp 2011 - Mihai Tataran - Migrating to AzureITCamp 2011 - Mihai Tataran - Migrating to Azure
ITCamp 2011 - Mihai Tataran - Migrating to AzureITCamp
 
Creating Web and Mobile Apps with Angular 2 - George Saadeh
Creating Web and Mobile Apps with Angular 2 - George SaadehCreating Web and Mobile Apps with Angular 2 - George Saadeh
Creating Web and Mobile Apps with Angular 2 - George Saadeh
ITCamp
 
Digital Reinvention by NRB
Digital Reinvention by NRBDigital Reinvention by NRB
Digital Reinvention by NRB
William Poos
 

Similar to ITCamp 2019 - Andrea Saltarello - Modernise your app. The Cloud Story (20)

Azure SQL Database From A Developer's Perspective - Alex Mang
Azure SQL Database From A Developer's Perspective - Alex MangAzure SQL Database From A Developer's Perspective - Alex Mang
Azure SQL Database From A Developer's Perspective - Alex Mang
 
One Azure Monitor to Rule Them All? - Marius Zaharia
One Azure Monitor to Rule Them All? - Marius ZahariaOne Azure Monitor to Rule Them All? - Marius Zaharia
One Azure Monitor to Rule Them All? - Marius Zaharia
 
One Azure Monitor to Rule Them All? (IT Camp 2017, Cluj, RO)
One Azure Monitor to Rule Them All? (IT Camp 2017, Cluj, RO)One Azure Monitor to Rule Them All? (IT Camp 2017, Cluj, RO)
One Azure Monitor to Rule Them All? (IT Camp 2017, Cluj, RO)
 
Modern Architecture in the Cloud of 2018 (IT Camp 2018)
Modern Architecture in the Cloud of 2018 (IT Camp 2018)Modern Architecture in the Cloud of 2018 (IT Camp 2018)
Modern Architecture in the Cloud of 2018 (IT Camp 2018)
 
The Fine Art of Time Travelling - Implementing Event Sourcing - Andrea Saltar...
The Fine Art of Time Travelling - Implementing Event Sourcing - Andrea Saltar...The Fine Art of Time Travelling - Implementing Event Sourcing - Andrea Saltar...
The Fine Art of Time Travelling - Implementing Event Sourcing - Andrea Saltar...
 
Elements of DDD with ASP.NET MVC & Entity Framework Code First v2
Elements of DDD with ASP.NET MVC & Entity Framework Code First v2Elements of DDD with ASP.NET MVC & Entity Framework Code First v2
Elements of DDD with ASP.NET MVC & Entity Framework Code First v2
 
Azure tales: a real world CQRS and ES Deep Dive - Andrea Saltarello
Azure tales: a real world CQRS and ES Deep Dive - Andrea SaltarelloAzure tales: a real world CQRS and ES Deep Dive - Andrea Saltarello
Azure tales: a real world CQRS and ES Deep Dive - Andrea Saltarello
 
Xamarin Under The Hood - Dan Ardelean
 Xamarin Under The Hood - Dan Ardelean Xamarin Under The Hood - Dan Ardelean
Xamarin Under The Hood - Dan Ardelean
 
Serverless Single Page Apps with React and Redux at ItCamp 2017
Serverless Single Page Apps with React and Redux at ItCamp 2017Serverless Single Page Apps with React and Redux at ItCamp 2017
Serverless Single Page Apps with React and Redux at ItCamp 2017
 
Mihai Tataran - Building Windows 8 Applications with HTML5 and JS
Mihai Tataran - Building Windows 8 Applications with HTML5 and JSMihai Tataran - Building Windows 8 Applications with HTML5 and JS
Mihai Tataran - Building Windows 8 Applications with HTML5 and JS
 
Xamarin - Under the bridge
Xamarin - Under the bridgeXamarin - Under the bridge
Xamarin - Under the bridge
 
ITCamp 2013 - Melania Danciu - HTML5 apps with LightSwitch
ITCamp 2013 - Melania Danciu - HTML5 apps with LightSwitchITCamp 2013 - Melania Danciu - HTML5 apps with LightSwitch
ITCamp 2013 - Melania Danciu - HTML5 apps with LightSwitch
 
ITCamp 2011 - Adrian Stoian - System Center Configuration Manager 2012
ITCamp 2011 - Adrian Stoian - System Center Configuration Manager 2012ITCamp 2011 - Adrian Stoian - System Center Configuration Manager 2012
ITCamp 2011 - Adrian Stoian - System Center Configuration Manager 2012
 
Everyone Loves Docker Containers Before They Understand Docker Containers - A...
Everyone Loves Docker Containers Before They Understand Docker Containers - A...Everyone Loves Docker Containers Before They Understand Docker Containers - A...
Everyone Loves Docker Containers Before They Understand Docker Containers - A...
 
ITCamp 2011 - Mihai Tataran, Tudor Damian - Keynote
ITCamp 2011 - Mihai Tataran, Tudor Damian - KeynoteITCamp 2011 - Mihai Tataran, Tudor Damian - Keynote
ITCamp 2011 - Mihai Tataran, Tudor Damian - Keynote
 
Bahrain ch9 introduction to docker 5th birthday
Bahrain ch9 introduction to docker 5th birthday Bahrain ch9 introduction to docker 5th birthday
Bahrain ch9 introduction to docker 5th birthday
 
ITCamp 2012 - Ovidiu Stan - Social media platform with Telligent Community, W...
ITCamp 2012 - Ovidiu Stan - Social media platform with Telligent Community, W...ITCamp 2012 - Ovidiu Stan - Social media platform with Telligent Community, W...
ITCamp 2012 - Ovidiu Stan - Social media platform with Telligent Community, W...
 
ITCamp 2011 - Mihai Tataran - Migrating to Azure
ITCamp 2011 - Mihai Tataran - Migrating to AzureITCamp 2011 - Mihai Tataran - Migrating to Azure
ITCamp 2011 - Mihai Tataran - Migrating to Azure
 
Creating Web and Mobile Apps with Angular 2 - George Saadeh
Creating Web and Mobile Apps with Angular 2 - George SaadehCreating Web and Mobile Apps with Angular 2 - George Saadeh
Creating Web and Mobile Apps with Angular 2 - George Saadeh
 
Digital Reinvention by NRB
Digital Reinvention by NRBDigital Reinvention by NRB
Digital Reinvention by NRB
 

More from ITCamp

ITCamp 2019 - Stacey M. Jenkins - Protecting your company's data - By psychol...
ITCamp 2019 - Stacey M. Jenkins - Protecting your company's data - By psychol...ITCamp 2019 - Stacey M. Jenkins - Protecting your company's data - By psychol...
ITCamp 2019 - Stacey M. Jenkins - Protecting your company's data - By psychol...
ITCamp
 
ITCamp 2019 - Silviu Niculita - Supercharge your AI efforts with the use of A...
ITCamp 2019 - Silviu Niculita - Supercharge your AI efforts with the use of A...ITCamp 2019 - Silviu Niculita - Supercharge your AI efforts with the use of A...
ITCamp 2019 - Silviu Niculita - Supercharge your AI efforts with the use of A...
ITCamp
 
ITCamp 2019 - Peter Leeson - Managing Skills
ITCamp 2019 - Peter Leeson - Managing SkillsITCamp 2019 - Peter Leeson - Managing Skills
ITCamp 2019 - Peter Leeson - Managing Skills
ITCamp
 
ITCamp 2019 - Ivana Milicic - Color - The Shadow Ruler of UX
ITCamp 2019 - Ivana Milicic - Color - The Shadow Ruler of UXITCamp 2019 - Ivana Milicic - Color - The Shadow Ruler of UX
ITCamp 2019 - Ivana Milicic - Color - The Shadow Ruler of UX
ITCamp
 
ITCamp 2019 - Florin Coros - Implementing Clean Architecture
ITCamp 2019 - Florin Coros - Implementing Clean ArchitectureITCamp 2019 - Florin Coros - Implementing Clean Architecture
ITCamp 2019 - Florin Coros - Implementing Clean Architecture
ITCamp
 
ITCamp 2019 - Florin Loghiade - Azure Kubernetes in Production - Field notes...
ITCamp 2019 - Florin Loghiade -  Azure Kubernetes in Production - Field notes...ITCamp 2019 - Florin Loghiade -  Azure Kubernetes in Production - Field notes...
ITCamp 2019 - Florin Loghiade - Azure Kubernetes in Production - Field notes...
ITCamp
 
ITCamp 2019 - Florin Flestea - How 3rd Level support experience influenced m...
ITCamp 2019 - Florin Flestea -  How 3rd Level support experience influenced m...ITCamp 2019 - Florin Flestea -  How 3rd Level support experience influenced m...
ITCamp 2019 - Florin Flestea - How 3rd Level support experience influenced m...
ITCamp
 
ITCamp 2019 - Emil Craciun - RoboRestaurant of the future powered by serverle...
ITCamp 2019 - Emil Craciun - RoboRestaurant of the future powered by serverle...ITCamp 2019 - Emil Craciun - RoboRestaurant of the future powered by serverle...
ITCamp 2019 - Emil Craciun - RoboRestaurant of the future powered by serverle...
ITCamp
 
ITCamp 2019 - Eldert Grootenboer - Cloud Architecture Recipes for The Enterprise
ITCamp 2019 - Eldert Grootenboer - Cloud Architecture Recipes for The EnterpriseITCamp 2019 - Eldert Grootenboer - Cloud Architecture Recipes for The Enterprise
ITCamp 2019 - Eldert Grootenboer - Cloud Architecture Recipes for The Enterprise
ITCamp
 
ITCamp 2019 - Cristiana Fernbach - Blockchain Legal Trends
ITCamp 2019 - Cristiana Fernbach - Blockchain Legal TrendsITCamp 2019 - Cristiana Fernbach - Blockchain Legal Trends
ITCamp 2019 - Cristiana Fernbach - Blockchain Legal Trends
ITCamp
 
ITCamp 2019 - Andy Cross - Machine Learning with ML.NET and Azure Data Lake
ITCamp 2019 - Andy Cross - Machine Learning with ML.NET and Azure Data LakeITCamp 2019 - Andy Cross - Machine Learning with ML.NET and Azure Data Lake
ITCamp 2019 - Andy Cross - Machine Learning with ML.NET and Azure Data Lake
ITCamp
 
ITCamp 2019 - Andy Cross - Business Outcomes from AI
ITCamp 2019 - Andy Cross - Business Outcomes from AIITCamp 2019 - Andy Cross - Business Outcomes from AI
ITCamp 2019 - Andy Cross - Business Outcomes from AI
ITCamp
 
ITCamp 2019 - Andrea Saltarello - Implementing bots and Alexa skills using Az...
ITCamp 2019 - Andrea Saltarello - Implementing bots and Alexa skills using Az...ITCamp 2019 - Andrea Saltarello - Implementing bots and Alexa skills using Az...
ITCamp 2019 - Andrea Saltarello - Implementing bots and Alexa skills using Az...
ITCamp
 
ITCamp 2019 - Alex Mang - I'm Confused Should I Orchestrate my Containers on ...
ITCamp 2019 - Alex Mang - I'm Confused Should I Orchestrate my Containers on ...ITCamp 2019 - Alex Mang - I'm Confused Should I Orchestrate my Containers on ...
ITCamp 2019 - Alex Mang - I'm Confused Should I Orchestrate my Containers on ...
ITCamp
 
ITCamp 2019 - Alex Mang - How Far Can Serverless Actually Go Now
ITCamp 2019 - Alex Mang - How Far Can Serverless Actually Go NowITCamp 2019 - Alex Mang - How Far Can Serverless Actually Go Now
ITCamp 2019 - Alex Mang - How Far Can Serverless Actually Go Now
ITCamp
 
ITCamp 2019 - Peter Leeson - Vitruvian Quality
ITCamp 2019 - Peter Leeson - Vitruvian QualityITCamp 2019 - Peter Leeson - Vitruvian Quality
ITCamp 2019 - Peter Leeson - Vitruvian Quality
ITCamp
 
ITCamp 2018 - Ciprian Sorlea - Million Dollars Hello World Application
ITCamp 2018 - Ciprian Sorlea - Million Dollars Hello World ApplicationITCamp 2018 - Ciprian Sorlea - Million Dollars Hello World Application
ITCamp 2018 - Ciprian Sorlea - Million Dollars Hello World Application
ITCamp
 
ITCamp 2018 - Ciprian Sorlea - Enterprise Architectures with TypeScript And F...
ITCamp 2018 - Ciprian Sorlea - Enterprise Architectures with TypeScript And F...ITCamp 2018 - Ciprian Sorlea - Enterprise Architectures with TypeScript And F...
ITCamp 2018 - Ciprian Sorlea - Enterprise Architectures with TypeScript And F...
ITCamp
 
ITCamp 2018 - Mete Atamel Ian Talarico - Google Home meets .NET containers on...
ITCamp 2018 - Mete Atamel Ian Talarico - Google Home meets .NET containers on...ITCamp 2018 - Mete Atamel Ian Talarico - Google Home meets .NET containers on...
ITCamp 2018 - Mete Atamel Ian Talarico - Google Home meets .NET containers on...
ITCamp
 
ITCamp 2018 - Magnus Mårtensson - Azure Global Application Perspectives
ITCamp 2018 - Magnus Mårtensson - Azure Global Application PerspectivesITCamp 2018 - Magnus Mårtensson - Azure Global Application Perspectives
ITCamp 2018 - Magnus Mårtensson - Azure Global Application Perspectives
ITCamp
 

More from ITCamp (20)

ITCamp 2019 - Stacey M. Jenkins - Protecting your company's data - By psychol...
ITCamp 2019 - Stacey M. Jenkins - Protecting your company's data - By psychol...ITCamp 2019 - Stacey M. Jenkins - Protecting your company's data - By psychol...
ITCamp 2019 - Stacey M. Jenkins - Protecting your company's data - By psychol...
 
ITCamp 2019 - Silviu Niculita - Supercharge your AI efforts with the use of A...
ITCamp 2019 - Silviu Niculita - Supercharge your AI efforts with the use of A...ITCamp 2019 - Silviu Niculita - Supercharge your AI efforts with the use of A...
ITCamp 2019 - Silviu Niculita - Supercharge your AI efforts with the use of A...
 
ITCamp 2019 - Peter Leeson - Managing Skills
ITCamp 2019 - Peter Leeson - Managing SkillsITCamp 2019 - Peter Leeson - Managing Skills
ITCamp 2019 - Peter Leeson - Managing Skills
 
ITCamp 2019 - Ivana Milicic - Color - The Shadow Ruler of UX
ITCamp 2019 - Ivana Milicic - Color - The Shadow Ruler of UXITCamp 2019 - Ivana Milicic - Color - The Shadow Ruler of UX
ITCamp 2019 - Ivana Milicic - Color - The Shadow Ruler of UX
 
ITCamp 2019 - Florin Coros - Implementing Clean Architecture
ITCamp 2019 - Florin Coros - Implementing Clean ArchitectureITCamp 2019 - Florin Coros - Implementing Clean Architecture
ITCamp 2019 - Florin Coros - Implementing Clean Architecture
 
ITCamp 2019 - Florin Loghiade - Azure Kubernetes in Production - Field notes...
ITCamp 2019 - Florin Loghiade -  Azure Kubernetes in Production - Field notes...ITCamp 2019 - Florin Loghiade -  Azure Kubernetes in Production - Field notes...
ITCamp 2019 - Florin Loghiade - Azure Kubernetes in Production - Field notes...
 
ITCamp 2019 - Florin Flestea - How 3rd Level support experience influenced m...
ITCamp 2019 - Florin Flestea -  How 3rd Level support experience influenced m...ITCamp 2019 - Florin Flestea -  How 3rd Level support experience influenced m...
ITCamp 2019 - Florin Flestea - How 3rd Level support experience influenced m...
 
ITCamp 2019 - Emil Craciun - RoboRestaurant of the future powered by serverle...
ITCamp 2019 - Emil Craciun - RoboRestaurant of the future powered by serverle...ITCamp 2019 - Emil Craciun - RoboRestaurant of the future powered by serverle...
ITCamp 2019 - Emil Craciun - RoboRestaurant of the future powered by serverle...
 
ITCamp 2019 - Eldert Grootenboer - Cloud Architecture Recipes for The Enterprise
ITCamp 2019 - Eldert Grootenboer - Cloud Architecture Recipes for The EnterpriseITCamp 2019 - Eldert Grootenboer - Cloud Architecture Recipes for The Enterprise
ITCamp 2019 - Eldert Grootenboer - Cloud Architecture Recipes for The Enterprise
 
ITCamp 2019 - Cristiana Fernbach - Blockchain Legal Trends
ITCamp 2019 - Cristiana Fernbach - Blockchain Legal TrendsITCamp 2019 - Cristiana Fernbach - Blockchain Legal Trends
ITCamp 2019 - Cristiana Fernbach - Blockchain Legal Trends
 
ITCamp 2019 - Andy Cross - Machine Learning with ML.NET and Azure Data Lake
ITCamp 2019 - Andy Cross - Machine Learning with ML.NET and Azure Data LakeITCamp 2019 - Andy Cross - Machine Learning with ML.NET and Azure Data Lake
ITCamp 2019 - Andy Cross - Machine Learning with ML.NET and Azure Data Lake
 
ITCamp 2019 - Andy Cross - Business Outcomes from AI
ITCamp 2019 - Andy Cross - Business Outcomes from AIITCamp 2019 - Andy Cross - Business Outcomes from AI
ITCamp 2019 - Andy Cross - Business Outcomes from AI
 
ITCamp 2019 - Andrea Saltarello - Implementing bots and Alexa skills using Az...
ITCamp 2019 - Andrea Saltarello - Implementing bots and Alexa skills using Az...ITCamp 2019 - Andrea Saltarello - Implementing bots and Alexa skills using Az...
ITCamp 2019 - Andrea Saltarello - Implementing bots and Alexa skills using Az...
 
ITCamp 2019 - Alex Mang - I'm Confused Should I Orchestrate my Containers on ...
ITCamp 2019 - Alex Mang - I'm Confused Should I Orchestrate my Containers on ...ITCamp 2019 - Alex Mang - I'm Confused Should I Orchestrate my Containers on ...
ITCamp 2019 - Alex Mang - I'm Confused Should I Orchestrate my Containers on ...
 
ITCamp 2019 - Alex Mang - How Far Can Serverless Actually Go Now
ITCamp 2019 - Alex Mang - How Far Can Serverless Actually Go NowITCamp 2019 - Alex Mang - How Far Can Serverless Actually Go Now
ITCamp 2019 - Alex Mang - How Far Can Serverless Actually Go Now
 
ITCamp 2019 - Peter Leeson - Vitruvian Quality
ITCamp 2019 - Peter Leeson - Vitruvian QualityITCamp 2019 - Peter Leeson - Vitruvian Quality
ITCamp 2019 - Peter Leeson - Vitruvian Quality
 
ITCamp 2018 - Ciprian Sorlea - Million Dollars Hello World Application
ITCamp 2018 - Ciprian Sorlea - Million Dollars Hello World ApplicationITCamp 2018 - Ciprian Sorlea - Million Dollars Hello World Application
ITCamp 2018 - Ciprian Sorlea - Million Dollars Hello World Application
 
ITCamp 2018 - Ciprian Sorlea - Enterprise Architectures with TypeScript And F...
ITCamp 2018 - Ciprian Sorlea - Enterprise Architectures with TypeScript And F...ITCamp 2018 - Ciprian Sorlea - Enterprise Architectures with TypeScript And F...
ITCamp 2018 - Ciprian Sorlea - Enterprise Architectures with TypeScript And F...
 
ITCamp 2018 - Mete Atamel Ian Talarico - Google Home meets .NET containers on...
ITCamp 2018 - Mete Atamel Ian Talarico - Google Home meets .NET containers on...ITCamp 2018 - Mete Atamel Ian Talarico - Google Home meets .NET containers on...
ITCamp 2018 - Mete Atamel Ian Talarico - Google Home meets .NET containers on...
 
ITCamp 2018 - Magnus Mårtensson - Azure Global Application Perspectives
ITCamp 2018 - Magnus Mårtensson - Azure Global Application PerspectivesITCamp 2018 - Magnus Mårtensson - Azure Global Application Perspectives
ITCamp 2018 - Magnus Mårtensson - Azure Global Application Perspectives
 

Recently uploaded

Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 

Recently uploaded (20)

Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 

ITCamp 2019 - Andrea Saltarello - Modernise your app. The Cloud Story

  • 1. @ITCAMPRO #ITCAMP19Community Conference for IT Professionals Modernise your app: the cloud story Andrea Saltarello CTO @ Managed Designs Microsoft Regional Director – Microsoft MVP https://twitter.com/andysal74 https://github.com/andysal https://www.linkedin.com/in/andysal/
  • 2. @ITCAMPRO #ITCAMP19Community Conference for IT Professionals Many thanks to our sponsors & partners! GOLD SILVER PARTNERS PLATINUM POWERED BY
  • 3. @ITCAMPRO #ITCAMP19Community Conference for IT Professionals Me.About(); • CTO & Solution Architect @ Managed Designs • Microsoft MVP since 2003 • Microsoft Regional Director since 2015 • Author, along with Dino, of .NET: Architecting Applications for the Enterprise (Microsoft Press) • Basically, a software architect eager to write code (that is, a programmer J)
  • 4. @ITCAMPRO #ITCAMP19Community Conference for IT Professionals «We’re programmers. Programmers are, in their hearts, architects, and the first thing they want to do when they get to a site is to bulldoze the place flat and build something grand. We’re not excited by incremental renovation: tinkering, improving, planting flower beds.» [https://www.joelonsoftware.com/2000/04/06/things- you-should-never-do-part-i/] It’s harder to read code than to write it.
  • 5. @ITCAMPRO #ITCAMP19Community Conference for IT Professionals The single worst strategic mistake
  • 6. @ITCAMPRO #ITCAMP19Community Conference for IT Professionals «Under certain circumstances, it made a lot of sense to rewrite from scratch. For example: • Sometimes the legacy codebase really is messed up beyond repair, such that even simple changes require a cascade of changes to other parts of the code. • The original technology choices might be preventing you from making necessary improvements. • Or, the original technology might be obsolete, making it hard (or expensive) to recruit quality developers.» [https://medium.com/@herbcaudill/lessons-from-6-software- rewrite-stories-635e4c8f7c22] Still…
  • 7. @ITCAMPRO #ITCAMP19Community Conference for IT Professionals App Modernisation Application modernization services address the migration of legacy to new applications or platforms, including the integration of new functionality to provide the latest functions to the business. Modernization options include re-platforming, re-hosting, recoding, rearchitecting, re-engineering, interoperability, replacement and retirement, as well as changes to the application architecture to clarify which option should be selected. [Gartner Group]
  • 8. @ITCAMPRO #ITCAMP19Community Conference for IT Professionals App Modernisation strategies • re-platforming (lift, tinker & shift) • re-hosting (lift & shift) • recoding • rearchitecting • re-engineering • interoperability • replacement (moving to a different product) • retirement (get rid of) [https://aws.amazon.com/it/blogs/enterprise-strategy/6- strategies-for-migrating-applications-to-the-cloud/]
  • 9. @ITCAMPRO #ITCAMP19Community Conference for IT Professionals App Modernisation, from a Microsoft’s perspectiveEngineeringComplexityandCost Existing on- premises applications VMs Rehost Containers & App Services Refactor Microservices Rearchitect Serverless Rebuild New SaaS apps Replace App Modernization Lift & Shift
  • 10. @ITCAMPRO #ITCAMP19Community Conference for IT Professionals There’s no silver bullet
  • 11. @ITCAMPRO #ITCAMP19Community Conference for IT Professionals Cloud != [AWS|Azure|GCP]
  • 12. @ITCAMPRO #ITCAMP19Community Conference for IT Professionals A story of Replatforming
  • 14. @ITCAMPRO #ITCAMP19Community Conference for IT Professionals VMs hosted by an on-premises 2-node VMWare cluster: –Web Server (IIS 8) –DBMS (SQL Server 2008 R2) –Mail server (MailEnable Pro) As-is
  • 15. @ITCAMPRO #ITCAMP19Community Conference for IT Professionals • Faulty hardware • Lot of bandwidth consumed for streaming purposes • Lot of storage space needed for videos • Blacklisted newsletter • New MailEnable Pro license needed Pain points
  • 16. @ITCAMPRO #ITCAMP19Community Conference for IT Professionals 1. SQL Server -> SQL Azure 2. MailEnable -> SendGrid 3. Web Server -> (B2MS) VM 4. Videos -> Vimeo 5. Web Server -> AppService 6. [TBD] Attachments -> Blob Storage The Plan
  • 19. @ITCAMPRO #ITCAMP19Community Conference for IT Professionals 12 floating ultra-luxury hotels Vs 12(+1) floating data centres with synchronisation needs (both data and code) Different point of views
  • 20. @ITCAMPRO #ITCAMP19Community Conference for IT Professionals • Little time to apply patches and make upgrades • Hard to maintain synchronisation scripts • Expensive storage space (gazillions of documents) Pain points
  • 21. @ITCAMPRO #ITCAMP19Community Conference for IT Professionals • Lots of VMs hosted by on-premises Hyper-V and VMWare based clusters • All-in on Microsoft development stack, with a pinch of PHP • Lots of x-database queries • SMB shares purchased from a provider As-is
  • 22. @ITCAMPRO #ITCAMP19Community Conference for IT Professionals • One compute to rule ’em all –On-the-ground -> Azure –Floating data-centres -> Azure Stack • IIS -> App Services • Storage Provider -> Blob Storage • SQL Server - SQL Managed Instances • CosmosDb To-be:
  • 23. @ITCAMPRO #ITCAMP19Community Conference for IT Professionals If I could start again, a million miles away
  • 24. @ITCAMPRO #ITCAMP19Community Conference for IT Professionals fundamental concepts or properties of a system in its environment embodied in its elements, relationships, and in the principles of its design and evolution [ISO 42010] Software Architecture
  • 25. @ITCAMPRO #ITCAMP19Community Conference for IT Professionals • Create each bounded context as an interoperable microservice • Let web servers be… just web servers • Join the async side of the Force • Disk space is cheap • Coolness often comes at a price Demo app available on Github (AGPL3): it’s a micro-ERP my company developes as a kick-starter Rules of thumb
  • 26. @ITCAMPRO #ITCAMP19Community Conference for IT Professionals A fine-grained architecture allowing each element to be: • Evolved • Deployed • Configured (e.g.: scaled) • Replaced independently, thus having each one only consuming the resources it really needs yet having more moving parts to manage as well Microservices FTW
  • 27. @ITCAMPRO #ITCAMP19Community Conference for IT Professionals Application Layer Snapshots Event store Read stack Domain Layer Ad-hoc DBHandlers Command Event Data Handlers Model ServicesB U S CQRS/ES at a glance
  • 28. @ITCAMPRO #ITCAMP19Community Conference for IT Professionals Q & A