itea dev ops_course_topic2

24
WWW.ITEA.UA DEVOPS базовый курс

Upload: vadym-tymoshyk

Post on 21-Feb-2017

90 views

Category:

Engineering


0 download

TRANSCRIPT

Page 1: Itea dev ops_course_topic2

WWW.ITEA.UA

DEVOPSбазовый курс

Page 2: Itea dev ops_course_topic2

Вадим Тимошик(Vadym Tymoshyk)

Инструктор IT Education Academy DevOps Engineer в компании Levi9 20 лет работы в IT DevOps активность с 2014 Python, Ruby, PHP, Perl, Linux Shell Infrastructure & Cloud архитектура Computer, Microsoft Office (Word/Excel), E-mail, Modem, Fax (originally from 1996)

КОНТАКТНЫЕ ДАННЫЕ

ua.linkedin.com/in/vtymoshykgithub.com/VadymUAslideshare.net/[email protected]

Фотоинструктора

Page 3: Itea dev ops_course_topic2

DEVOPS: Topic 2

Методологии Agile, ITIL, BPM, SOA. Сравнение

Software Development Life Cycle. DoD. DoR.

Код приложения vs. код инфраструктуры

Инструменты DevOps инженера

Questions. Homework for weekend

3 www.itea.ua

Page 4: Itea dev ops_course_topic2

IT Architecture vs. Design

Both talk about specification, but to different degrees: Architecture specification is more abstract and can be implemented in more than one way

Design is more concrete and requires to proceed to implementation

Architecture addresses alignment, construction, deployment, operational and retirement aspects of solution; Design often is just about construction

4 www.itea.ua

Page 5: Itea dev ops_course_topic2

ITIL

Service-level Management Capacity Management IT service continuity management Security Management Change Management Release and deployment Management Incident Management Request Management

Origin: https://en.wikipedia.org/wiki/ITIL

5 www.itea.ua

Page 6: Itea dev ops_course_topic2

BPM

Identify Design Execute Document Measure Monitor Control

6 www.itea.ua

Origin: https://en.wikipedia.org/wiki/BPM

Page 7: Itea dev ops_course_topic2

SOAo Business value is given more importance than technical strategyo Strategic goals is given more importance than project-specific

benefitso Intrinsic inter-operability is given more importance than custom

integrationo Shared services is given more importance than specific-purpose

implementationso Flexibility is given more importance than optimizationo Evolutionary refinement is given more importance than pursuit

of initial perfection

Origin: https://en.wikipedia.org/wiki/Service-oriented_architecture

7 www.itea.ua

Page 8: Itea dev ops_course_topic2

Agile

Lightweight development methods 12 principles Some interesting practices:

Continuous Integration (CI) Test-Driven Development

Software Development Frameworks: Kanban Scrum Extreme Programming Feature-Driven Programming

Origin: https://en.wikipedia.org/wiki/Agile_software_development

8 www.itea.ua

Page 9: Itea dev ops_course_topic2

Good Agile

9 www.itea.ua

Page 10: Itea dev ops_course_topic2

Bad Agile

10 www.itea.ua

Page 11: Itea dev ops_course_topic2

Bad Agile

11 www.itea.ua

Page 12: Itea dev ops_course_topic2

Bad Agile

12 www.itea.ua

Page 13: Itea dev ops_course_topic2

SDLC

13 www.itea.ua

Origin: http://online.husson.edu/software-development-cycle/

Page 14: Itea dev ops_course_topic2

Definition of ready

Description of the user story and requirements are defined and clear

Results of R&D and/or expectations are defined and clear

Test cases defined and clear

Test data provided if needed

14 www.itea.ua

Page 15: Itea dev ops_course_topic2

Definition of done

Code committed with the correct description and number of a ticket used as a prefix, i.g. ‘DEVOPS-678 Added test cases’Code merged to the 'develop' branch, a feature branch is not removed

Documentation is updated, or created if was absent

All tests passed if they required by the task

Ready for demo on live environment

15 www.itea.ua

Page 16: Itea dev ops_course_topic2

Infrastructure as Code

Scripts (Bash/sh, Ansible, PowerShell, PHP, etc.)

Frameworks (Python or Java based)

CI jobs, pipelines and scripts

Database dumps from frameworks

Configuration files, properties

All this stuff should be placed on a Git repository for further testing, delivery, applying, etc., i.e. usage on remote systems.

16 www.itea.ua

Page 17: Itea dev ops_course_topic2

Code vs.code

17 www.itea.ua

Page 18: Itea dev ops_course_topic2

DevOps Tools

18 www.itea.ua

Page 19: Itea dev ops_course_topic2

DevOps Tools

19 www.itea.ua

Page 20: Itea dev ops_course_topic2

DevOps Tools

Platforms: AWS, Docker, Heroku, OpenStack, etc.

Provisioning: Ansible, PowerShell, Bash/sh, Vagrant, etc.

Monitoring: Grafana, Kibana, Nagios, Sensu, AWS CloudWatch, etc.

Automation: Chef, Puppet, Salt, Jenkins, GoCD, etc.

Code analysis: SonarQube, Checkmarx, Lints, etc.

20 www.itea.ua

Page 21: Itea dev ops_course_topic2

That’s it, folks!

Questions?

21 www.itea.ua

Page 22: Itea dev ops_course_topic2

Homework for weekendAs a Couch I want to import any database dump on-demand, so

that it can be performed automatically, or in manual mode.

Please provide Jenkins job for that. Our database is located on

AWS (MySQL).

22 www.itea.ua

Page 23: Itea dev ops_course_topic2

Homework for weekend

Register at Amazon AWS and get Free Tier

Create a new IAM user and attach the policy ”PowerUserAccess” on it

Create MySQL instance on RDS based on db.t2.micro

Create EC2 instance based on t2.micro

Install Jenkins on it, enable desired plug-ins if so

Create a Jenkins job that imports MySQL dump to the database

23 www.itea.ua

Check if dump applies correctly, and send an email when job is failed

Page 24: Itea dev ops_course_topic2

ITEAул. Смоленская, 31-33, корп.3Киев03005

+38 044 590 08 38facebook.com/[email protected]

КОНТАКТНЫЕ ДАННЫЕ