HOW TO SURVIVE CONSTRUCTION PROJECTS DURING TIMES OF ECONOMIC INSANITY
Survive andgrow
-
Upload
giorgi-keratishvili -
Category
Engineering
-
view
33 -
download
2
Transcript of Survive andgrow
გადარჩი და გაიზარდე
თეზევსის გემი, არქიტეკტურა, მიკროსერვისები, დომენები და
სხვა ..
George Mamaladze @gmamaladze Senior Software Architect at SIEMENS Digital Factory
Our Businesses Power and Gas Wind Power and Renewables Power Generation Services
Energy Management
Digital Factory
Healthcare
Building Technologies
Process Industries and Drives
Mobility
Financial Services
My Role • Business
• Vision
• Goals
• Scoping
• Roadmap
Product Management
• Requirement Engineering
• Commonalities & Variabilities
• Domain Design
• Implementation of Core Assets
Domain Engineering
• Product Requirements
• Implement Variations
• Build Product
Application Engineering
Syst
em
Arc
hit
ect
Pla
tfo
rm
Arc
hit
ect
Ap
plic
atio
n
Arc
hit
ect
Sen
ior
Soft
war
e A
rch
itec
t
ეგვიპტური უკვდავების სიმბოლო
U+2625 U+132F9
ადამიანის უკვდავება შესაძლებელია? როდის? როგორ?
მოგონებები ქლაუდში
ხელოვნური ინტელექტი
ადამიანისა და მანქანის ინტერფეისი
100% - download complete
თეზევსის გემი
თეზევსის გემი
“Startups Don’t Die, They Commit Suicide”
2011 by Justin Kan
https://techcrunch.com/2011/06/27/startups-don%E2%80%99t-die-they-commit-suicide/
ასე იწყებოდა Facebook-ი
ფუნქციების რაოდენობა იზრდება
დრო
დაგროვილი ფუნქციონალობა
cumulative functionality
ფუნქციების რაოდენობა იზრდება
დრო
დაგროვილი ფუნქციონალობა
cumulative functionality
კონკურენტები
რა გვჭირდება?
ფუნქციების სწრაფად დამატება
რა გვჭირდება?
ფუნქციების სწრაფად დამატება
ფუნქციების სწრაფად ამოღება
(…)
როგორ შეძლო FACEBOOK-მა ფუნქციონალობის სწრაფად დამატება?
კარგი დიზაინი
Fowler‘s Design Stamina Hypothesis
დრო
დაგროვილი ფუნქციონალობა
cumulative functionality
კარგი დიზაინი
ცუდი დიზაინი
როგორ დავიწყო თავიდანვე „კარგი“ დიზაინით? რა ტექნოლოგიები და მიდგომები გამოვიყენო?
www.thoughtworks.com/radar
Fowler‘s Design Stamina Hypothesis
დრო
დაგროვილი ფუნქციონალობა
cumulative functionality
კარგი დიზაინი
ცუდი დიზაინი
კომპანიები გვიზიარებენ თავის გამოცდილებას მიკროსერვისების გამოყენებასთან დაკავშირებით
Comcast Cable Uber Netflix Amazon Ebay Sound Cloud Karma Groupon Hailo Gilt Zalando Capital One Lending Club AutoScout24
Fowler‘s Design Stamina Hypothesis
დრო
დაგროვილი ფუნქციონალობა
cumulative functionality
კარგი დიზაინი
ცუდი დიზაინი
Fowler‘s Design Stamina Hypothesis
დრო
დაგროვილი ფუნქციონალობა
cumulative functionality
კარგი დიზაინი
ცუდი დიზაინი
design pay-off line
down here it may be worth to trade off design quality for time to market …
რა გვჭირდება?
ფუნქციების სწრაფად დამატება
ფუნქციების სწრაფად ამოღება
ბაზარზე სწრაფი გასვლა
ჩემი პირველი
„კომერციული „
აპლიკაციის დიზაინი
Northwind
Northwind აპლიკაციის დიზაინი
გაუმჯობესებული დიზაინი პირველი
ვერსია
მეორე ვერსია
Fowler‘s Design Stamina Hypothesis
დრო
დაგროვილი ფუნქციონალობა
cumulative functionality
კარგი დიზაინი
ცუდი დიზაინი
design pay-off line
down here it may be worth to trade off design quality for time to market …
ინოვაცია
დრო
დაგროვილი ფუნქციონალობა
cumulative functionality
პირველი ვერსია
ინოვაცია
დრო
დაგროვილი ფუნქციონალობა
cumulative functionality
პირველი ვერსია
მეორე ვერსია
ჩანაცვლება
1. დაიბადე - დაიწყე მარტივად!
2. გადარჩი - დროულად შეუდექი დაანაწევრებას!
3. გაიზარდე - მუდმივად ცვალე ნაწილები!
მარტივი, მონოლითური აპლიკაცია ამცირებს time to market-ს
1. დაიბადე - დაიწყე მარტივად!
2. გადარჩი - დროულად შეუდექი დაანაწევრებას!
3. გაიზარდე - მუდმივად ცვალე ნაწილები!
მარტივი, მონოლითური აპლიკაცია ამცირებს time to market-ს
ინოვაცია
დრო
დაგროვილი ფუნქციონალობა
cumulative functionality
პირველი ვერსია
მეორე ვერსია
ჩანაცვლება
1. დაიბადე - დაიწყე მარტივად!
2. გადარჩი - დროულად შეუდექი დაანაწევრებას!
3. გაიზარდე - მუდმივად ცვალე ნაწილები!
წარმატების შესანარჩუნებლად საწროა ცვლილება, ცვლილებას ჭირდება დრო.
ვთქვათ TIME TO MARKET არ გვაღელვებს.
მაინც რატომ დავიწყოთ მარტივად?
მიზეზი 2
“Microservice practitioners, usually have come from an evolutionary design background.”
Martin Fowler
http://www.martinfowler.com/articles/microservices.html
Monolith
დომენები Domains - დომენები (ფუნქციონალობა)
მონოლითი: ყველა დომენი ერთ აპლიკაციაში (სერვისში)
მიკროსერვისები: თითო დომენი ცალკე აპლიკაციაში (სერვისში)
რა არის დომენი დომენები ელექტრონული ფოსტის მაგალითზე კლასიკური
ელ-ფოსტის კლიენტი
ვებმეილი
ძიება
რედაქტორი
Attachment-ები
ტეგები, კატეგორიები
კონტაქტები
სკალირება - მონოლითი vs. მიკროსერვისები
არსებული მონოლითის დეკომპოზიცია
როგორ დაიწყო მონოლითი?
როგორ დაიწყო მონოლითი?
1. დაიბადე - დაიწყე მარტივად!
2. გადარჩი - დროულად შეუდექი დაანაწევრებას!
3. გაიზარდე - მუდმივად ცვალე ნაწილები!
მარტივი, მონოლითური აპლიკაცია საჭიროა გამოსაყოფი დომენების
პირველადი იდენტიფიკაციისათვის.
Monolith First
Monolith First - start with monolith: once you realize microservices are worthwhile you decompose and sacrifice your initial monolith.
როგორ დაიწყო მონოლითი?
Monolith First
Stefan Tilkov argues against this, saying that in practice it's too hard to build a monolith that will split apart easily.
Monolith First
Both approaches, however, agree that you should not attempt microservices unless you know the domain really well.
დომენები Domains - დომენები (ფუნქციონალობა)
მონოლითი: ყველა დომენი ერთ აპლიკაციაში (სერვისში)
მიკროსერვისები: თითო დომენი ცალკე აპლიკაციაში (სერვისში)
წიგნები
მიკროსერვისების „გადაბმა“
? ?
Microservice-ების „გადაბმა“
1. დაიბადე - დაიწყე მარტივად!
2. გადარჩი - დროულად შეუდექი დაანაწევრებას!
3. გაიზარდე - მუდმივად ცვალე ნაწილები!
გმადლობთ ყურადღებისათვის!