from the sandbox to production

26
From the sandbox to production Vadym Fedorov

Upload: vadym-fedorov

Post on 13-Feb-2017

292 views

Category:

Technology


5 download

TRANSCRIPT

Page 1: From the sandbox to production

From the sandbox to production

• Vadym Fedorov

Page 2: From the sandbox to production

Who am I?

• Vadym Fedorov < [email protected] >• Role: Solutions Architect• Company: Softserve• Specialization: Development of the

Enterprise Applications in the IT operations management segment.• Technologies and tools: .NET, Python…

Page 3: From the sandbox to production

3

From the sandbox to production

Development Sandbox

Production environment• Project delivery challenges and reasons;

• Dev and Ops collaboration best practices;

• Project maturity model and quick project

assessment;

• “Infrastructure as code” and “prototype first”

approaches.

Page 4: From the sandbox to production

4

SoftwareDevelopment

Infrastructure Design

Infrastructure Deployment

Setup operations

Acceptance testing

Go to Live!

Software delivery processDevelopment Team

OperationsTeam

Knowledge Transfer from DEV to OPS

Page 5: From the sandbox to production

5

What Dev expects in most case?

Page 6: From the sandbox to production

6

Knowledge transfer from DEV to OPSWhat 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?

Page 7: From the sandbox to production

The reasons• Dev team doesn't know\ignores fact 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;

• Lack of the Ops experience in the Dev team;

• There is a difference between development and target environment configurations.

Page 8: From the sandbox to production

Teams Collaboration Anti-Patterns

Source: http://blog.matthewskelton.net/2013/10/22/what-team-structure-is-right-for-devops-to-flourish/

Page 9: From the sandbox to production

9

Painful point of the project without Ops experience

• Fault detection and troubleshooting Unclear error messages Logs doesn’t contains enough data for

troubleshooting Application doesn’t have health-checks

• Log management Log entries doesn’t have a single format Log format is machine readable Log format where difficult to perform search

• Application performance and availability monitoring;

Page 10: From the sandbox to production

10

Painful point of the project without Ops experience

• Application scalability and support of the elastic environments;

• Application behavior under the fault conditions;

• Application recovery after the faults;

• Application configuration management;

• Capacity planning.

Page 11: From the sandbox to production

Non-stop battle: Angry Dev vs Ops

DEV OPS

Release

Complaints

Page 12: From the sandbox to production

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.

Page 13: From the sandbox to production

13

SoftwareDevelopment

Infrastructure Design

Infrastructure Deployment

Setup operations

Acceptance testing

Go to Live!

Software delivery processDevelopment Team

OperationsTeam

Knowledge Transfer from DEV to OPS

Page 14: From the sandbox to production

14

SoftwareDevelopment

Infrastructure Design

Infrastructure Deployment

Setup operations

Acceptance testing

Go to Live!

Adjusted Software delivery process

Development Team

OperationsTeam

Dev + OpsProduce knowledge

Page 15: From the sandbox to production

Teams Collaboration Types

Source: http://blog.matthewskelton.net/2013/10/22/what-team-structure-is-right-for-devops-to-flourish/

Page 16: From the sandbox to production

Teams Collaboration Types

Source: http://blog.matthewskelton.net/2013/10/22/what-team-structure-is-right-for-devops-to-flourish/

Page 17: From the sandbox to production

Teams Collaboration Types

Source: http://blog.matthewskelton.net/2013/10/22/what-team-structure-is-right-for-devops-to-flourish/

Page 18: From the sandbox to production

Development best practices• Leverage virtualization benefits for DEV

environment• Prototype target environment with Vagrant• Keep development, staging, and production as

similar as possible• To apply an “infrastructure as code” approach• To automate quality control and acceptance

testing

Page 19: From the sandbox to production

19

Quick assessment: Where we are?

Page 20: From the sandbox to production

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.

Page 21: From the sandbox to production

The Project Maturity Model

Page 22: From the sandbox to production

22

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

Page 23: From the sandbox to production

“Infrastructure as code” approach or “prototype first” approach

Virtual Machine

ProvisionerScripts

Vagrant

Code

Virtual Machine

ProvisionerScripts

Production

Code

Same OS, same configuration and same versions

Ops or DevOps

Dev

Deploy

Page 24: From the sandbox to production

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/

Page 25: From the sandbox to production

25

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.

Page 26: From the sandbox to production

Thank you!

US OFFICES EUROPE OFFICESAustin, TXFort Myers, FLLehi, UTNewport Beach, CAWaltham, MA

BulgariaGermanyNetherlandsPolandRussia

SwedenUkraineUnited Kingdom

www.softserveinc.com