from sandbox to production by vadym fedorov

Post on 16-Apr-2017

681 Views

Category:

Software

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

From Sandbox to Production

• Vadym Fedorov

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

From 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.

4

SoftwareDevelopment

Infrastructure Design

Infrastructure Deployment

Setup operations

Acceptance testing

Go to Live!

Software delivery processDevelopment Team

OperationsTeam

Knowledge Transfer from DEV to OPS

5

What Dev expects in most case?

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?

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.

Teams Collaboration Anti-Patterns

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

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;

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.

Non-stop battle: Angry Dev vs Ops

DEV OPS

Release

Complaints

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.

13

SoftwareDevelopment

Infrastructure Design

Infrastructure Deployment

Setup operations

Acceptance testing

Go to Live!

Software delivery processDevelopment Team

OperationsTeam

Knowledge Transfer from DEV to OPS

14

SoftwareDevelopment

Infrastructure Design

Infrastructure Deployment

Setup operations

Acceptance testing

Go to Live!

Adjusted Software delivery process

Development Team

OperationsTeam

Dev + OpsProduce knowledge

Teams Collaboration Types

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

Teams Collaboration Types

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

Teams Collaboration Types

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

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

19

Quick assessment: Where we are?

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.

The Project Maturity Model

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

“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

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/

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.

Thank you!

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

BulgariaGermanyNetherlandsPolandRussia

SwedenUkraineUnited Kingdom

www.softserveinc.com

top related