Designing a Reliable Software Factory for the Cloud
-
Upload
ankaracloud -
Category
Technology
-
view
136 -
download
1
Transcript of Designing a Reliable Software Factory for the Cloud
DESIGNING A RELIABLE SOFTWARE FACTORY FOR THE
İBRAHİM GÜRSES
WHO AM I?
▸Graduated From Bilkent University in 2011
▸Vakıfbank, Gate Elektronik, T2 Yazılım, OpsGenie,
Hazelcast, Arçelik.
▸Currently working on IoT infrastructure @Arçelik
AGENDA
▸ Software Factory
▸ DevOps
▸ Serverless
▸ Development Pipeline
▸ Q&A & Demo
SERVERLESS COMPUTING WITH AWS
HTTPS://WWW.YOUTUBE.COM/WATCH?V=LEPQXTOWDJS
DEVOPS CULTURE AND PRACTICES SUNUMU
HTTPS://WWW.YOUTUBE.COM/WATCH?V=D3E0XJCRWCE
GARTNER’S HYPE CYCLE
MARTIN FOWLER’S TECHNICAL DEBT QUADRANT
DEVELOPMENT BEFORE DEVOPS▸ DevOps is a new term that primarily focuses
on improved collaboration, communication,
and integration between software developers
and IT operations. It’s an umbrella term that
some describe as a philosophy, cultural
change, and paradigm shift. Figure shows
developer throwing code "over the wall"
Historically many organisations have been
vertically structured with poor integration
among development, infrastructure, security
and support teams. Frequently the groups
report into different organisational structures
with different corporate goals and
philosophies.
FILLING THE GAPS
DEVOPS CONCEPTS BEFORE FAILURE
▸Chaos Monkey
▸Blue/Green - Canary Deployment
▸Dependency Injection
▸Andon Cords
▸The Cloud
▸Embedded Teams
DEVOPS CONCEPTS AFTER FAILURE
▸Blameless Postmortems
▸Public Status Page
▸Developers on Call
▸ Incident Command System
CAMS MODEL
▸Culture
▸Automation
▸Measurement
▸Sharing
KAIZEN’S GUIDES
▸Good processes bring good results
▸Go see for yourself (gemba)
▸Speak with data, manage by facts
▸Take action to contain and correct root causes
▸Work as a team
▸Kaizen is everybody’s business
SOFTWARE FACTORY
LEVELS OF MATURITY OF DEVOPS PROCESS
WHERE TO BEGIN?
WHAT WE DO?
WHAT WE DO?
CLOUD APPLICATION DELIVERY MODELS
▸ IaaS (Infrastructure as a Service) - Host
▸PaaS (Platform as a Service) - Build
▸SaaS (Software as a Service) - Consume
PETS VS CATTLE
MICROSERVICE
▸ Is there a formal definition for microservice architecture ?
▸No
▸What is the Difference between monolithic and micro service
styles?
▸Easy to maintain
▸Deployment
▸Scaling
DON’T !!!
ADVANTAGES
▸Can use right tool for the job
▸Can replace entire components easier
▸Can scale specific components
▸Super cloud friendly
▸Will push you DevOps
CHALLENGES
▸Distributed/versioned configuration
▸Auto configurations and refresh on runtime
▸New services can auto register at startup
▸Service registration and discovery
▸Centralised log management
▸Collects and visualise log events from distributed processes
▸Circuit Breaker (Bulk Heading)
▸Prevent problems with chain of failures
▸Security
DISTRIBUTED SYSTEMS
SUN’S FALLACIES OF DISTRIBUTED COMPUTING
▸The network is reliable.
▸Latency is zero.
▸Bandwidth is infinite.
▸The network is secure.
▸Topology doesn't change.
▸There is one administrator.
▸Transport cost is zero.
▸The network is homogeneous.
ANY ORGANIZATION THAT DESIGNS A SYSTEM WILL PRODUCE A DESIGN WHOSE STRUCTURE IS A COPY OF THE ORGANIZATION’S COMMUNICATION STRUCTURE. Melvin Conway
CONWAY’S LAW
DEMO
QUESTIONS?
WE ARE HIRING