Prepare the sled in summer and project release at its beginning
1. Prepare the sled in
summer and project
release at its beginning
• Vadym Fedorov
2. Who am I?
• Vadym Fedorov < vfedorov@softserveinc.com >
• Role: Solutions Architect
• Company: Softserve
• Specialization: Development of the Enterprise
Applications in the IT operations management
segment.
• Technologies and tools: .NET, Python…
3. Project conditions
• Development of the brand new software
product
• Tight deadlines
• We need to build a new infrastructure
• Agile Development Process
3
How to deliver product
to production in time?
5. Knowledge transfer from DEV to OPS
5
What server
configuration
do you need?
How many
servers do
you need?
What network
configuration
is required?
How about
security?
OPS DEV
I haven't
answers, but
I need "Live”
ASAP!!!
Where is
disaster
recovery
plan?
6. The reasons
• Dev team did knowforgot that Ops is
one of the main stakeholders;
• The Dev and Ops teams have different
success metrics and goals;
• Lack of communication between the Dev
and Ops teams;
• There is a difference between
development and target environment
configurations.
8. Collaboration best practices
• There should be one, and only one, manager
responsible for a product or feature development
from A to Z.
• The development and operational teams need to
share common success indicators focused on the
delivery result.
• Close communication and collaboration between
Dev and Ops team.
14. Development best practices
• Leverage virtualization benefits for DEV
environment
• Keep development, staging, and production
as similar as possible
• To apply an “infrastructure as code” approach.
• To automate quality control and acceptance
testing
16. Key indicator
• Project Portability, i.e. an ability to move the
project between different environments and
teams.
• Project Continuity ensures that a project can be
successfully completed even if a team changes.
• Time-to-market and cost requires control over
your project development, since these are critical
elements that directly affect revenue and your
position in the market. So make sure you are
using effective ways to optimize this business
driver.
18. 18
Ad-hoc Defined Repeatable Managed
Project Portability • Environments
and
configuration
are different
• Requires
manual efforts
• Environments
rather closer to
Prod than not.
• Requires
manual efforts
• Environment
close to Prod
• There are
manual
operations
• Environment
close to Prod
• There are
manual
operations
Project Continuity • Documentation
is often
outdated if
present at all
• Launching a
new team
requires
significant
efforts
• Documentation
is up to date
• Launching a
new team
requires
significant
effort
• Difficult to keep
environment
updated
• Documentation
is up to date
• Documentation
is validated
• Virtual
Machines is up
to date
• Documentation
and
Infrastructure
are code
Time-to-market
and cost
High Satisfactory Good Low
19. “Infrastructure as code” approach
Virtual
Machine
Provisioner
Scripts
Vagrant
Code
Virtual
Machine
Provisioner
Scripts
Production
Code
Same OS, same configuration and same versions
Ops or DevOps
Dev
Deploy
20. Tools that are good to know
• Vagrant: https://docs.vagrantup.com/v2/
• Configuration Management and Provisioners:
Chef: https://www.chef.io/chef/
Puppet: https://puppetlabs.com/
Ansible: http://www.ansible.com/home
• Log management and Monitoring
Newrelic: http://newrelic.com/
Loggly: https://www.loggly.com/
Logstash: https://www.elastic.co/products/logstash
• Testing:
JMeter: http://jmeter.apache.org/
Selenium: http://www.seleniumhq.org/
21. Summary
• Involve Ops Team to the Development
process;
• Keep development, staging, and production
as similar as possible;
• Prototype production environment locally;
• Apply an “infrastructure as code” approach
and automate all what is possible.
21
22. Thank you!
US OFFICES EUROPE OFFICES
Austin, TX
Fort Myers, FL
Lehi, UT
Newport Beach, CA
Waltham, MA
Bulgaria
Germany
Netherlands
Poland
Russia
Sweden
Ukraine
United Kingdom
www.softserveinc.com