Software Defined Environment - In one click get the Dev/QA/Staging Environment

Post on 06-Aug-2015

430 views 2 download

Tags:

Transcript of Software Defined Environment - In one click get the Dev/QA/Staging Environment

Software Defined

EnvironmentGetting Dev, QA, Staging or Production

environment in a click using Open Standards Software like OpenStack, Go

CD…

One click deployments!

2

““Great app, but I can only give it three stars until the

developers add ...”

3

“I am waiting for the environment to test the code with new features”

software updates are not being released frequently?Continuous Delivery can help but what can make it really possible?

4

Bottlenecks

Delay in getting Environments

Lack of self-provisioning creates dependency on IT.

Lack of easily customizable Environments

For Dev, Testing and Staging with new features or updates to dependencies.

Manual Provisioning

Being repetitive and cannot leverage the power of Automated Deployments and CI.

5

6

“Oh! But it works on my laptop!”

7

But now with

Software Defined Environments

Or

Environments on Demand

Or

Phoenix environments8

“ In One Click Devs, QAs and Sys Admins can get the

Environment they need! ”

9

Define SDE

Orchestrates Software-Defined Compute,

Networking, Storage, Security and such

to provide a smart infrastructure that is

aware of resources needed by the

application and is adaptive and

responsive to the workloads dues to

fluctuating business demand while also

being simple to use.

10

Demo

11

12

Provisioning infrastructure

resources

Installing Operating Systemon both

Creating VMs

to be web server

to be Database Server

Configures the server

Ready the App for deployment

Fetch repo

build

Run Unit& Functional tests

deploy

Smoke test

How can Environments on Demand help!

Self Provisioning, empowers the Devs and QAs to bring up

self provision environments, cutting delay due to dependency and bureaucracy!

Push-button deployments to get environments easily and run automated tests, any version of the app to any environment. Helping in getting faster feedback.

13

This is how easy it should be to define an environment

machines:

db:

mysql_5.0.27

www:

ruby19

passenger

nginx

network:

domain: qa1.example.com

14

Human readable

&

Easy to define

This is how easy it should be to define an environment

machines:

db:

mysql_5.0.28

www:

ruby19

passenger

nginx

network:

domain: qa1.example.com

15

Human readable

&

Easy to define

Other advantages

Automating orchestration vastly reduces the

possibility of human error, and makes it possible to scale far beyond what people could do manually.

Reducing the cost of cloud ownership by sharing resources and time to market drastically

and reuse your existing hardware resources.

Increase the quality of service improving the application performance by autoscaling.

16

Mitigating the risks by providing

Consistent Environmentsthroughout the software dev. process from Dev’s laptop up to Production

Phoenix Environments Providing resilient, fault tolerant Environments which can bring up your infrastructure in one click

17

Infrastructure as code – IMMUTABLE!

• Extend the advantages of version control from your app to

Infrastructure.

•Auto deployment will cut the

repetitive and manual process of configuring all infrastructure resources.

• Get a unified view simplifying the

monitoring and management of all resources.18

“Welcome to the age of Software Defined Economy.”

Do we need to throw away what we have!Suppose we already have our cloud, like using Xen, VMWare and such…

19

Using OpenStack you would have the advantages of both worlds!It is interoperable with existing private cloud providers like VMWare, Xen and such.

20

What else can TW help

• Cloud Ready your App to be hosted on either private, public or hybrid cloud

• Auto scaling

• Fault Tolerant

22

THANK YOU

For questions or suggestions:

meghdoot@thoughtworks.com

For questions or suggestions:

meghdoot@thoughtworks.com