1#Dynatrace QCon London 2015 Martin Etmajer, Technology Dynatrace Deploying On-Prem as SaaS Why we go with Ansible.

Slides:



Advertisements
Similar presentations
Cloud computing is used to describe a variety of computing concepts that involve a large number of computers connected through a real-time communication.
Advertisements

Using ArcGIS for Server in the Amazon Cloud
1 NETE4631 Cloud deployment models and migration Lecture Notes #4.
Infrastructure as a Service (IaaS) Amazon EC2
Management Framework for Amazon EC2 Speaker: Frank Bitzer
Docker Martin Meyer Agenda What is Docker? –Docker vs. Virtual Machine –History, Status, Run Platforms –Hello World Images and Containers.
Amazon EC2 Quick Start adapted from EC2_GetStarted.html.
A Brief Overview by Aditya Dutt March 18 th ’ Aditya Inc.
Experiences with AWS and RightScale By: Max Gribov Presented at New York PHP, March 22, 2011
Cloud Computing for the Enterprise November 18th, This work is licensed under a Creative Commons.
Lecture 8 – Platform as a Service. Introduction We have discussed the SPI model of Cloud Computing – IaaS – PaaS – SaaS.
STIG Compliance and Remediation with Ansible April 2015.
Cloud Computing. What is Cloud Computing? Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable.
1 NETE4631 Amazon Cloud Offerings Lecture Notes #6.
Cloud Computing & Amazon Web Services – EC2 Arpita Patel Software Engineer.
The Art and Zen of Managing Nagios with Puppet Michael Merideth - VictorOps
How AWS Pricing Works Jinesh Varia Technology Evangelist.
Ansible with vCloud Air Workshop
Windows Azure Virtual Machines Anton Boyko. A Continuous Offering From Private to Public Cloud.
Cloud Computing is a Nebulous Subject Or how I learned to love VDF on Amazon.
20409A 7: Installing and Configuring System Center 2012 R2 Virtual Machine Manager Module 7 Installing and Configuring System Center 2012 R2 Virtual.
Cloud services Amazon Web Service (AWS) Intro and usage.
Navigation software platform: Automating the server configuration Igor Jovic, Whitecity Soft Case Study.
Launch Amazon Instance. Amazon EC2 Amazon Elastic Compute Cloud (Amazon EC2) provides resizable computing capacity in the Amazon Web Services (AWS) cloud.
Cloud Computing from a Developer’s Perspective Shlomo Swidler CTO & Founder mydrifts.com 25 January 2009.
Alfresco Enterprise on Azure Shah Rahman Founder and CEO, CloudlyIO.
Ansible and Ansible Tower 1 A simple IT automation platform November 2015 Leandro Fernandez and Blaž Zupanc.
#SummitNow Alfresco Deployments on AWS Cost-Effective, Scalable & Secure Michael Waldrop Director, Solutions Engineering .
Cloud Installation & Configuration Management. Outline  Definitions  Tools, “Comparison”  References.
 Cloud Computing technology basics Platform Evolution Advantages  Microsoft Windows Azure technology basics Windows Azure – A Lap around the platform.
© 2012 Eucalyptus Systems, Inc. Cloud Computing Introduction Eucalyptus Education Services 2.
© 2015 MetricStream, Inc. All Rights Reserved. AWS server provisioning © 2015 MetricStream, Inc. All Rights Reserved. By, Srikanth K & Rohit.
INTRODUCTION TO AMAZON WEB SERVICES (EC2). AMAZON WEB SERVICES  Services  Storage (Glacier, S3)  Compute (Elastic Compute Cloud, EC2)  Databases (Redshift,
Introduction to Ansible
ServerTemplate TM Deep Dive: Configuration for Multi-Cloud Environments Tim Miller Sr. Director ServerTemplate TM Development Cary Penniman Sr. Software.
Architecting Enterprise Workloads on AWS Mike Pfeiffer.
Introduction to Ansible
Course: Cluster, grid and cloud computing systems Course author: Prof
@ Bucharest DevOps Hacker Meetup
Web application hosting with Openshift, and Docker images
Efficient development and deployment of Hydra projects using Vagrant
Deploy, Manage, and Scale Your Apps with OpsWorks, Elastic Beanstalk, and CodeDeploy Part 1 – Elastic Beanstalk © 2017 Amazon Web Services, Inc. and.
Infrastructure Orchestration to Optimize Testing
Google App Engine Mandeep Singh (37926)
Introduction to Ansible
StratusLab Final Periodic Review
Agenda Who am I? Whirlwind introduction to the Cloud
StratusLab Final Periodic Review
Platform as a Service.
IT Atoumation / Conf. Mgmt...
Drupal VM and Docker4Drupal For Drupal Development Platform
AWS COURSE DEMO BY PROFESSIONAL-GURU. Amazon History Ladder & Offering.
Drupal VM and Docker4Drupal as Consistent Drupal Development Platform
Amazon AWS Solution Architect Associate Exam Dumps For Full Exam Info Visit This Link:
AWS DevOps Engineer - Professional dumps.html Exam Code Exam Name.
Where can I download Aws Devops Engineer Professional Exam Study Material - Get Updated Aws Devops Engineer Professional Braindumps Dumps4downlaod.us
2018 Amazon AWS DevOps Engineer Professional Dumps - DumpsProfessor
Intro to Config Management Using Salt Open Source
Ansible and Zabbix Rushikesh Prabhune (Software Technical Consultant)
20409A 7: Installing and Configuring System Center 2012 R2 Virtual Machine Manager Module 7 Installing and Configuring System Center 2012 R2 Virtual.
Automating Security in the Cloud
Introduction to Ansible
Learn. Imagine. Build. .NET Conf
Presented By - Avinash Pawar
Cloud Computing.
Different types of Linux installation
OpenShift as a cloud for Data Science
Nolan Leake Co-Founder, Cumulus Networks Paul Speciale
Containers on Azure Peter Lasne Sr. Software Development Engineer
06 | SQL Server and the Cloud
Presentation transcript:

1#Dynatrace QCon London 2015 Martin Etmajer, Technology Dynatrace Deploying On-Prem as SaaS Why we go with Ansible

2#Dynatrace Martin Etmajer

3#Dynatrace Agenda » Dynatrace On-Prem » Dynatrace SaaS Architecture » Ansible as Orchestration Engine » Test-Driven Infrastructure with Test Kitchen

4#Dynatrace Dynatrace

5#Dynatrace Dynatrace On-Prem Environment

6#Dynatrace Dynatrace On-Prem Environment

7#Dynatrace Dynatrace On-Prem Environment

8#Dynatrace Dynatrace On-Prem Environment

9#Dynatrace Dynatrace On-Prem Environment

10#Dynatrace Dynatrace. So What? Presentation Tier Business Logic Tier

11#Dynatrace Dynatrace. So What? # Requests Health Timings

12#Dynatrace Dynatrace. So What? Frustrated Users

13#Dynatrace Dynatrace. So What? What happened?

14#Dynatrace Dynatrace. So What? Erroneous Call Username SQL Statements Exception

15#Dynatrace Reasons for Going SaaS

16#Dynatrace Reasons for Going SaaS #1: Operational Risk Moves from Customer to Service Provider

17#Dynatrace Reasons for Going SaaS #2: Customers Want Solutions Without Buying Extra Infrastructure

18#Dynatrace Reasons for Going SaaS #3: Customers Already in the Cloud

19#Dynatrace Dynatrace SaaS Architecture

20#Dynatrace On-Prem Dynatrace Environment

21#Dynatrace Dynatrace SaaS Environment

22#Dynatrace Dynatrace SaaS Environment

23#Dynatrace Dynatrace SaaS Environment

24#Dynatrace for Dynatrace SaaS Elastic Compute Cloud (EC2)

25#Dynatrace for Dynatrace SaaS Elastic Block Store (EBS)

26#Dynatrace for Dynatrace SaaS Relational Database Service (RDS)

27#Dynatrace for Dynatrace SaaS Elastic IP (EIP)

28#Dynatrace for Dynatrace SaaS Route 53 (DNS)

29#Dynatrace for Dynatrace SaaS Simple Storage Service (S3)

30#Dynatrace for Dynatrace SaaS CloudWatch

31#Dynatrace Design Decisions

32#Dynatrace #1 – Dedicated Customer Resources Clean Separation of Customers & Data

33#Dynatrace #1 – Dedicated Customer Resources Customizable Security IP-Based Access Rules

34#Dynatrace #1 – Dedicated Customer Resources Grow with the Customer Resize Resources on Demand

35#Dynatrace #2 – Data Persistence Prevent Data Loss When Resources Go Down

36#Dynatrace #3 – Regular Backups Enable < Daily Data Recovery All Configuration and Data

37#Dynatrace Orchestration Platform

38#Dynatrace Orchestration Platform

39#Dynatrace Orchestration Platform

40#Dynatrace Orchestration Platform

41#Dynatrace How We Did It Lessions Learned

42#Dynatrace We Coded Our Own Solution #1: Lifecycle Management of Resources

43#Dynatrace We Coded Our Own Solution #2: Use-Cases

44#Dynatrace We Coded Our Own Solution #3: Monitoring

45#Dynatrace We Coded Our Own Solution Extensive Testing Too much Manual Work Involved Large Codebase, Tied to Single Vendor

46#Dynatrace We Coded Our Own Solution

47#Dynatrace Hey, Ansible!

48#Dynatrace AnsibleAnsible is a radically simple IT automation engine for » environment and infrastructure provisioning » configuration management » application deployment » etc. What is Ansible?

49#Dynatrace “I wrote Ansible because none of the existing tools fit my brain. I wanted a tool that I could not use for 6 months, come back later, and still remember how it worked.” Michael DeHaan, Ansible Founder “We need to do a rolling deployment of changes that have certain dependencies (including external services). With Ansible this becomes trivial. Puppet on the other hand feels like the Wild West.” User IUseRhetoric on reddit.comreddit.com Why Yet Another Tool?

50#Dynatrace » No Agents ✓ » No Scripting ✓ » Simple and Powerful ✓ Ansible Design Principles

51#Dynatrace Agent-Based Architecture

52#Dynatrace Agent-Based Architecture

53#Dynatrace Agent-Based Architecture

54#Dynatrace Ansible’s Agentless Architecture

55#Dynatrace Ansible’s Agentless Architecture

56#Dynatrace Ansible’s Agentless Architecture

57#Dynatrace Ansible’s Agentless Architecture

58#Dynatrace Ansible is an Orchestration Engine. So What?

59#Dynatrace Ansible is an Orchestration Engine. So What?

60#Dynatrace Ansible is an Orchestration Engine. So What?

61#Dynatrace Ansible is an Orchestration Engine. So What?

62#Dynatrace Ansible is an Orchestration Engine. So What?

63#Dynatrace Ansible is an Orchestration Engine. So What?

64#Dynatrace Ansible is an Orchestration Engine. So What?

65#Dynatrace Ansible for the Cloud

66#Dynatrace Ansible Cloud Modules

67#Dynatrace Ansible Cloud Modules

68#Dynatrace Ansible Cloud Modules for Amazon

69#Dynatrace Ansible Concepts: Inventories

70#Dynatrace » Ansible provisions groups of servers at once » Groups and hosts are defined in inventories » Use inventories for staging, production, etc. Static vs. Dynamic Inventories » Static: text files expressed in an INI-like format » Dynamic: Python scripts for dynamic environments (cloud) » Static + Dynamic: combine multiple inventories (hybrid cloud) Ansible Inventories

71#Dynatrace Example: Static Inventory # file: production [balancers] [webservers] www[0-9].example.com [dbservers] db[a:f].example.com [monitoring] dynatrace.example.com Group Host Numeric Range Alphabetic Range

72#Dynatrace Python scripts that get data from dynamic sources such as: » Cloud: Amazon, DigitalOcean, Google, OpenShift, OpenStack, etc. » Distributed Information Services: LDAP, etcd, etc. Dynamic Inventories

73#Dynatrace Ansible Concepts: Playbooks

74#Dynatrace Ansible Playbooks $> ansible-playbook [–i ] What is a Playbook? » Describes policies your managed machines shall enforce » Consist of vars, tasks, handlers, files, templates and roles » Expressed in the YAML format (dictionaries, lists and scalars)

75#Dynatrace Example: Ansible Playbook --- # file: webservers.yml - hosts: webservers handlers: - name: reload apache2 service: name=apache2 state=reloaded tasks: - name: Install Apache HTTP Server apt: name=apache2 update_cache=yes - name: Install Apache Modules apache2_module: name={{ item }} state=present with_items: - proxy - proxy_httpd notify: reload apache2 remote_user: deploy sudo: yes Play Module Arguments Variable Notify Handler

76#Dynatrace Example: Ansible Playbook --- # file: playbook.yml -include: balancers.yml -include: webservers.yml -include: dbservers.yml -include: monitoring.yml

77#Dynatrace Example: Ansible Playbook $> ansible-playbook –i production webservers.yml PLAY [webservers] ******************************************************* TASK: [Install Apache HTTP Server] ******************************************************* changed: [www0.example.com] changed: [www1.example.com]... PLAY RECAP ******************************************************* web0.example.com: ok=3 changed=3 unreachable=0 failed=0 web1.example.com: ok=3 changed=3 unreachable=0 failed=0...

78#Dynatrace Ansible Concepts: Roles

79#Dynatrace Ansible Roles » Are the best way to organize a playbook! » Structure content into related vars, tasks, files, handlers, etc. » File structure for automated inclusion of role-specific content » Roles can be shared and pulled from Ansible Galaxy, GitHub, etc.

80#Dynatrace Ansible Roles: File Structure ansible.cfg production staging webservers.yml roles/ common/ defaults/ files/ handlers/ meta/ tasks/ templates/ vars/ apache2/...

81#Dynatrace Example: Ansible Playbook --- # file: webservers.yml - hosts: webservers roles: - { role: common } - { role: apache2 } remote_user: deploy sudo: yes

82#Dynatrace Ansible: Our Use-Cases

83#Dynatrace Use-Case #1 Create Dynatrace AMI

84#Dynatrace #1 – Create Dynatrace AMI #1: Remove Existing Dynatrace AMI

85#Dynatrace #1 – Create Dynatrace AMI #2: Launch Builder Instance

86#Dynatrace #1 – Create Dynatrace AMI #3: Add Persistent Volumes

87#Dynatrace #1 – Create Dynatrace AMI #4: Install Dynatrace

88#Dynatrace #1 – Create Dynatrace AMI #5: Bundle Dynatrace AMI

89#Dynatrace #1 – Create Dynatrace AMI #6: Register Dynatrace AMI

90#Dynatrace #1 – Create Dynatrace AMI #7: Clean Up Temporary Resources

91#Dynatrace Use-Case #2 Create Dynatrace Instance

92#Dynatrace #2 – Launch Dynatrace Instance #1: Get Dynatrace AMI ID

93#Dynatrace #2 – Launch Dynatrace Instance #2: Launch Dynatrace Instance

94#Dynatrace #2 – Launch Dynatrace Instance #3: Associate Static IP

95#Dynatrace #2 – Launch Dynatrace Instance #4: Associate Domain Name

96#Dynatrace #2 – Launch Dynatrace Instance #5: Launch Database Instance

97#Dynatrace Use-Case #3 Deploy Dynatrace Agents

98#Dynatrace Dynatrace On-Prem Environment

99#Dynatrace Test-Driven Infrastructure with Test Kitchen Because your Infrastructure deserves tests, too!

100#Dynatrace What is Test Kitchen? Test KitchenTest Kitchen allows you to test your infrastructure as code » on multiple platforms in isolation » supporting a wide range of drivers » with support for various provisioners » by using a variety of testing frameworks » in a pluggable architecture CentOS, Debian, Fedora, etc. Vagrant, Docker, EC2, etc. Ansible, Chef, Puppet bash, Cucumber, Serverspec, etc. extend as desired!

101#Dynatrace Test Kitchen: Configure --- # file:.kitchen.yml provisioner: name: ansible_playbook require_ansible_repo: true driver: name: vagrant customize: cpus: 2 memory: 2048 cpuexecutioncap: 50 platforms: # Opscode vagrant boxes: - name: centos name: ubuntu suites: - name: dynatrace-agents - name: dynatrace-server your test suites here!

102#Dynatrace Test Kitchen: Ansible Playbook # file: test/integration/dynatrace-server/default.yml hosts: all roles: - role: Dynatrace-Server foo: bar remote_user: vagrant define a particular role under test

103#Dynatrace Test Kitchen: Serverspec # file: test/integration/dynatrace-server/serverspec/spec.rb require 'serverspec’... describe user('dynatrace') do it { should exist } it { should belong_to_group 'dynatrace' } end describe service('dynaTraceServer') do it { should be_enabled } it { should be_running } end describe port(2021) do it { should be_listening } end declare your assumptions

104#Dynatrace Test Kitchen: List Instances $> kitchen list Instance Driver Provisioner dynatrace-agents-centos-65 Vagrant AnsiblePlaybook dynatrace-agents-ubuntu-1204 Vagrant AnsiblePlaybook dynatrace-server-centos-65 Vagrant AnsiblePlaybook dynatrace-server-ubuntu-1204 Vagrant AnsiblePlaybook... let’s test dynatrace-server* !

105#Dynatrace Test Kitchen: Test Instances $> kitchen test dynatrace-server -----> Starting Kitchen (v1.3.1) -----> Cleaning up any prior instances of > Creating... Bringing machine 'default' up with 'virtualbox' provider Finished in seconds (files took seconds to load) 24 examples, 0 failures -----> Starting Kitchen (v1.3.1) -----> Cleaning up any prior instances of > Creating... Bringing machine 'default' up with 'virtualbox' provider Finished in seconds (files took seconds to load) 24 examples, 0 failures

106#Dynatrace Questions?

107#Dynatrace

108#Dynatrace