DevOps and BigData Analytics

S
DevOps for
AGENDA
1. THE OPERATION’S BIG DREAM
2. INTRODUCING ARCHOPS
3. IMPLEMENTING ARCHOPS
a) INFRASTRUCTURE
b) APPLICATION ARCHITECTURE
c) DEPLOYMENT PACKAGING
d) BUILD PIPELINE & TOOLS
4. AUTO SCLAING & AUTO HEALING
ABOUT KNOWESIS
InfoSphere Streams Storm SIFT Streaming Engine
Amplifying Data Potential
THE OPERATION’S BIG DREAM
What is the Big Dream of Operations ?
THE OPERATION’S BIG DREAM
To have a system which can
AUTO SCALE & AUTO HEAL
INTRODUCING ARCHOPS
ARCHOPS is a conscious initiative to address
OPERATIONS concerns during the design stage in
the DEVOPS process
IMPLEMENTING ARCHOPS
Continuous Integration Continuous Delivery
Req Plan Code Build Test Release Deploy Manage Monitor
DEV+OPS
ARCHOPS DELIVERABLES
IMPLEMENTING ARCHOPS
• Software Architect
• Developers
• Operations Manager
✓☐ Service Catalog
✓☐ Container Sizing Sheet
✓☐ Hosting Infra Decision
✓☐ Proof of Concept / Reference Pilot
✓☐ Architectural Decisions Doc
✓☐ Monitoring & Evaluation Framework
ARCH OPS DELIVERABLES CHECKLIST
INTRODUCING - EVOLUTION
Source: Redhat
1. ADOPTED DEVOPS
PROCESS
2. APPLICATION ARCHITECTURE
3. DEPOLYMENT & PACKAGING
SOLUTION
4. RUNTIME INFRASTRUCTURE
1. IMPLEMENTING DEVOPS
INFRASTRUCTURE
IMPLEMENTING DEVOPS
Application
Data
Runtime
Middleware
O/S
Data
Virtualization
Servers
Storage
Networking
On-Premises
Application
Data
Runtime
Middleware
O/S
Data
Virtualization
Servers
Storage
Networking
Application
Data
Runtime
Middleware
O/S
Data
Virtualization
Servers
Storage
Networking
Application
Data
Runtime
Middleware
O/S
Data
Virtualization
Servers
Storage
Networking
IAAS PAAS SAAS
Low Level
Flexibility
Abstraction High Level
Velocity
IMPLEMENTING DEVOPS
CONTAINER
SERVICES
FUNCTION
SERVICES
BACKEND
SERVICES
CAAS FAAS BAAS
ECS
ACS
GKE
Lambda
GCF
Functions
Firebase
Kumulous
Azure MBAAS
SERVERLESS
IMPLEMENTING DEVOPS - Serverless
• Website hosted in S3 is accessed by users and messages is entered
• Message is submitted to API Gateway via post method
• API Gateway triggers Lambda function and submits the message to
the function to be processed
• Lambda pushes the messages to DynamoDB as well as SNS Topic
• SNS sends message to an SQS Queue to be processed further
S3 API Gateway Lambda
SNS Topic
SQS
DynamoDB
IMPLEMENTING DEVOPS – INFRA AS CODE
Create and manage infra as dynamic assets.
Configuration Orchestration
Configuration Management
IMPLEMENTING ARCHOPS - INFRA AS CODE
Azure Resource Manager
AWS Cloud Formation
Google Deployment Manager
Google, AWS and Azure
provide a way to define your
cloud infrastructure resources
using a declarative language
This allows us maintain the
infrastructure as code. Which
can be maintained using
source control system.
Clubbed with the application
code and using CM tools,
entire system creating process
can be automated
3. IMPLEMENTING DEVOPS
ARCHITECTURE
IMPLEMENTING DEVOPS
ARCHITECTURE
Application Architecture Deployment Architecture
TOOLS
IMPLEMENTING ARCHOPS
APPLICATION ARCHITECTURE
IMPLEMENTING DEVOPS – 12Factors
12Factors - Methodology for a service ready software
1. Codebase – One codebase for deployed services
2. Dependencies – Declared with no implicit dependency on system tools
3. Config – Config that varies between deployments should be stored in the
environment
4. Backing Services – Should be attached/detached by execution environment
5. Build, release run – Delivery pipeline should have build, run, release process
6. Processes – App deployment as one or more stateless processes with persisted data
stored on a backing service
7. Port Binding – Self-contained services should make themselves available to other
services by specified ports.
8. Concurrency – Concurrency by scaling individual process
9. Disposability – Fast startup and shutdown
10. Dev/Prod parity – All environment should be similar as possible
11. Logs – Logs as event streams and leave the execution environment to aggregate.
12. Admin Processes – Admin tasks in source control and packaged with application.
https://12factor.net/Adopted by major software platforms and frameworks
IMPLEMENTING DEVOPS
Architectural Considerations
• Which is more important to you velocity or flexibility?
• Do you want an opinionated application platform?
• Do you need to support Big Data initiatives and pipelines?
• Do you want a hosted solution?
• Are you willing to build out your own integrations?
• Do you need on-prem & hybrid capabilities?
• Do you want to avoid infrastructure lock-in?
• Are you already invested in a specific infrastructure?
• Are you already invested in a specific operating system?
• Do you need federation and multi-region support?
• Do you want multi-tenancy or is multi-instance good enough?
• How important are seamless automated rolling updates?
• How many nines do you customers need?
• How important is reveres compatibility & API stability?
• Do you need to support non-Docker workloads?
IMPLEMENTING DEVOPS
https://gtnr.it/2Fl787w
Loosely coupled service oriented architecture with bounded contexts
Microservices Architecture
Is an approach to developing a single application as a suite of small services, each
running in its own process and communicating with light weight mechanisms,
often an HTTP resource API. These services are built around business capabilities
and independently deployable by fully automated deployment machinery. There
is a bare minimum of centralized management of these services, which may be
written in different programming languages and use different data storage
technologies
-James Lewis and Martin Fowler
IMPLEMENTING DEVOPS - Microservices
Microservices
Pattern for building
distributed systems
Microservice is an architectural style that structures an application as a
collection of loosely coupled service
IMPLEMENTING ARCHOPS
DEPLOYMENT ARCHITECTURE
IMPLEMENTING ARCHOPS - Containers
Containers are a method of operating system virtualization that allow you to run an
application and its dependencies in resource-isolated processes.
Containers
PACKAGE APPLICATION
CODE CONFIG AND
DEPLOYMENT
DEPLOY CONSISTENTLY
WITHOUT ENV
DEPENDENCIES
IMPLEMENTING ARCHOPS - DOCKER
• Docker is a tool designed to make it easier to create, deploy
and run applications using containers.
• Allows developers to package up an application with all the
parts it needs, such as lib and dependencies and ship it all
out as one package.
• Built on Open Standards and runs on LXC and Windows
Server
• Bit like a VM, but without Guest OS and Hypervisor
VIRTUAL MACHINE DOCKER
IMPLEMENTING ARCHOPS - DOCKER
SPEED
No OS to boot =
Faster boot time
PORTABLE
Less
Dependencies =
easy portability
EFFICIENT
Less OS overhead =
improved VM density
IMPLEMENTING ARCHOPS - DOCKER
IMPLEMENTING ARCHOPS - DOCKER
docker-
compose.yml
IMPLEMENTING ARCHOPS - DOCKER
IMPLEMENTING ARCHOPS - ORCHESTRATION
Swarm Vs Kubernetes
Docker Swarm is native clustering
for Docker. It turns a pool of
Docker hosts into a single Virtual
Host.
• Easy to setup – well fit in docker
ecosystem
• Built into Docker CLI
• Lightweight and less moving parts
• Automated internal load balancing
through any node in the cluster
• Has low fault tolerance
• Smaller community compare to k8s
• Devloped by Google
• Requires heavy setup
• Vast Open source community
• Provides strong guarantees to cluster
states
• More extensive and customizable
• HPA – Horizontal Pod Automation
Kubernetes (K8s) is an open-source
system for automating deployment,
scaling, and management of
containerized applications.
4. IMPLEMENTING ARCHOPS
, BUILDPIPELINE&TOOLS
IMPLEMENTING ARCHOPS
Bitbucket Jenkins Maven JUnit SonarQube
SCM CI Build Source Unit Test Analysis
Nexus
Repo Mgr
Ansible
CM
Jira
Change
Management
BUILD PIPELINE
Docker
Build Image
Docker Hub
Docker Repo
IMPLEMENTING ARCHOPS
AWS Docker Selenium JMeter
Build Env Build Setup Function Test Perf Test
Ansible
CM
BUILD PIPELINE
Deploy
Desired Environment
Jenkins
CD
Packer
CD
IMPLEMENTING ARCHOPS – Tool List
Source code management: Git, GitHub, Subversion, and Bitbucket
Build management: Maven, Ant, Make, and MSBuild
Testing tools: JUnit, Selenium, Cucumber, and QUnit
Repository management: Nexus, Artifactory, and Docker hub
Continuous integration: Jenkins, Bamboo, TeamCity, and Visual Studio
Configuration provisioning: Ansible, Chef, Puppet, and SaltStack
Cloud: AWS, Azure, Google, DigitalOcean, Bluemix, OpenShift, and Rackspace
Deployment management: Rapid Deploy, Code Deploy, and Elastic box
Collaboration: Jira, Team Foundation, and Slack
Monitoring: Prometheus, SysDig, New Relic, Kibana and Nagios
Application Performance Monitoring(APM): AppDynamics, Dynatrace, New Relic, CA Wili
Logging: Datadog, Splunk, Logentries, and Logstash
Container orchestration: Kubernetes, Swam, AWS, Google and Azure
TOOL LIST
https://xebialabs.com/periodic-table-of-devops-tools/
IMPLEMENTING ARCHOPS - Software Configuration Management Tools
Github, Bitbucket and GitLab are 3 of the largest web-based hosting services for source code
and development projects. Out of the these services only GitLab is open source. Basic
features show a lot of similarities.
GitHub is most popular among open source community and hosts nearly 28M opens source
projects and is a de-factor choice for open source community. Bitbucket has a nice UI and
tools to integrate with.
Others: Helix, Perforce, Bazaar, Mercurial, SVN
IMPLEMENTING ARCHOPS – Continuous Integration Tools
• Open-source CI written
in Java.
• Fork of Hudson after
Oracle purchase.
• Very flexible -
extensions through
plugins is
comprehensive and you
can add your own
plugins as well.
• Cloudbees also offers
hosted solution in the
form of Jenkins in
cloud.
• One of the best tool,
but steep learning
curve, but worth the
effort.
• Product of JetBrains.
• Despite being the java-
based solution, it offers
the best .NET support
comparing to other
tools in the market.
• Out of the box, it works
on many different
platforms and has
support for wide variety
of tools and
frameworks.
• Great, solution overall,
suitable for large
enterprise.
• Mature solution, very
well documented.
• One of the oldest
hosted solutions out
there.
• Although known for the
hosted solution, it has
on-premise version
too.
• Build Matrix - a tool
that gives an
opportunity to run tests
with different versions
of language and
packages.
• Building up databases
and caches are inbuild.
• Some level of support
to Docker
• Lightweight YAML
config, free for open
source projects.
• Cloud based system, no
dedicated server
required. But it has a
on-prem solution
aswell.
• Has some free plan for
business account.
• REST API access to
projects and artifacts.
• You can even trigger
SSH mode to access
container and make
your own investigation.
• It is OOTB solution
with min conf.
• Well suited for small
and medium size
organizations.
JENKINS TEAM CITY TRAVIS CI CIRCLE CI
IMPLEMENTING ARCHOPS - Continuous Delivery
• Drone.io is an CD platform.
• It is truly Docker native and pipelines are
executed inside containers
• Pipelines are defined as a declarative
configuration like docker-compose file
• This makes it a perfect fit for a platform like
Kubernetes, where launching containers is
an easy task.
• It can be used as CI tool and it can integrate
with github, bitbucket for continuous build.
• Notification Slack, email etc.
IMPLEMENTING ARCHOPS - Continuous Deployment
• Free and open source tool for creating
identical machine images for multiple
platforms
• Packer.json - has the variable and builder
configurations
• Builder - are responsible for creating
machines and generating images from them
for various platforms. (EC2, DigitalOcean,
GCE, virtual box etc)
• Builders --> Provisoners --> Post-processors
• Use it in a continuous delivery pipeline.
IMPLEMENTING ARCHOPS - Configuration Management
• Highly scalable,
master agent
• Pull based
configuration
• Multi master
• Puppet DSL more
sysadmin oriented.
• Master on Linux/Unix
agent linux or windows
• Gannett uses Chef
• Master-Agent
configuration and
highly scalable
• Pull based
configuration
• Primary and secondary
server
• Ruby config, need
programming
knowledge
• Master on Linux/Unix,
workstation on
windows as well
• NYSE uses it at very large
scale
• Master node no agent
and highly scalable
• Push based
configuration
• Primarily instance on
failure secondary
instance
• Config via YAML
• Support for windows
but master has to be
on Linux/Unix
• NASA uses Ansible
• Master agent, highly
scalable, agents are
minions.
• Push based
configuration
• Multiple masters
• Config via YAML
• Master on Linux/Unix,
minions on Linux/Unix
• Linkedin uses
saltstack
5. IMPLEMENTING ARCHOPS
AUTO SCALING & AUTO HEALING
IMPLEMENTING ARCHOPS – AUTO HEALING
Virtual Machine - 2Virtual Machine - 1
Virtual Machine - 4
Virtual Machine - 3
IMPLEMENTING ARCHOPS – AUTO SCALING
Virtual Machine - 2Virtual Machine - 1
Virtual Machine - 4
Virtual Machine - 3
IMPLEMENTING ARCHOPS - AUTO SCALE
cAdvisor
CONTAINER
CONTAINER
CONTAINER
Docker Engine
Docker Host
Node Exporter
Custom Metrics
Slack
Email
Others
Prometheus
Metrics DB
Prometheus
Alert Manager
Grafana
Compute
EngineScale
PUSH
IMPLEMENTING ARCHOPS - AUTO SCALE
Scaling Algorithm
Say one instance is 50% and another 70% - total is 120 divide by target utilization (say we have set
at 60%). So number of instances required is 2
min <= target instance <= max
Sum Utilization
Target Utilization
target instance = ceil ( ---------------------------- )
How to succeed in DEVOPS
1
2
Create Culture
Architect/Design for DevOps
Use the right tools
DevOps is not a methodology, it is a Journey.
Happy DevOps!
Conway Law - "Organizations which design systems are constrained to produce designs which
are copies of the communication structure of these org"
Thank You!
sbbabu@gmail.com
1 von 46

Recomendados

Deploying OpenShift Container Platform on AWS by Red Hat von
Deploying OpenShift Container Platform on AWS by Red HatDeploying OpenShift Container Platform on AWS by Red Hat
Deploying OpenShift Container Platform on AWS by Red HatAmazon Web Services
2.5K views27 Folien
Oracle Code Keynote with Thomas Kurian von
Oracle Code Keynote with Thomas KurianOracle Code Keynote with Thomas Kurian
Oracle Code Keynote with Thomas KurianOracle Developers
2.5K views32 Folien
Cloud Foundry BOSH CPI for OpenStack von
Cloud Foundry BOSH CPI for OpenStackCloud Foundry BOSH CPI for OpenStack
Cloud Foundry BOSH CPI for OpenStackAnimesh Singh
5.7K views15 Folien
Containers and microservices for realists von
Containers and microservices for realistsContainers and microservices for realists
Containers and microservices for realistsKarthik Gaekwad
2.2K views70 Folien
Enterprise Cloud Native is the New Normal von
Enterprise Cloud Native is the New NormalEnterprise Cloud Native is the New Normal
Enterprise Cloud Native is the New NormalQAware GmbH
557 views52 Folien
Modern Application Development v1-0 von
Modern Application Development  v1-0Modern Application Development  v1-0
Modern Application Development v1-0Greg Hoelzer
605 views32 Folien

Más contenido relacionado

Was ist angesagt?

DCEU 18: Designing a Global Centralized Container Platform for a Multi-Cluste... von
DCEU 18: Designing a Global Centralized Container Platform for a Multi-Cluste...DCEU 18: Designing a Global Centralized Container Platform for a Multi-Cluste...
DCEU 18: Designing a Global Centralized Container Platform for a Multi-Cluste...Docker, Inc.
893 views36 Folien
Cloud-native Application Lifecycle Management von
Cloud-native Application Lifecycle ManagementCloud-native Application Lifecycle Management
Cloud-native Application Lifecycle ManagementNeil Gehani
626 views28 Folien
Successful Patterns for running platforms von
Successful Patterns for running platformsSuccessful Patterns for running platforms
Successful Patterns for running platformsPaul Czarkowski
383 views57 Folien
Red Hhat Summit 2017 : Love Containers, Love Devops, Love Openshift, Where's ... von
Red Hhat Summit 2017 : Love Containers, Love Devops, Love Openshift, Where's ...Red Hhat Summit 2017 : Love Containers, Love Devops, Love Openshift, Where's ...
Red Hhat Summit 2017 : Love Containers, Love Devops, Love Openshift, Where's ...Daniel Oh
528 views43 Folien
Devops lifecycle with Kabanero Appsody, Codewind, Tekton von
Devops lifecycle with Kabanero Appsody, Codewind, TektonDevops lifecycle with Kabanero Appsody, Codewind, Tekton
Devops lifecycle with Kabanero Appsody, Codewind, TektonWinton Winton
1.5K views30 Folien
Principles of Kubernetes von
Principles of KubernetesPrinciples of Kubernetes
Principles of KubernetesJames Kelly
854 views11 Folien

Was ist angesagt?(20)

DCEU 18: Designing a Global Centralized Container Platform for a Multi-Cluste... von Docker, Inc.
DCEU 18: Designing a Global Centralized Container Platform for a Multi-Cluste...DCEU 18: Designing a Global Centralized Container Platform for a Multi-Cluste...
DCEU 18: Designing a Global Centralized Container Platform for a Multi-Cluste...
Docker, Inc.893 views
Cloud-native Application Lifecycle Management von Neil Gehani
Cloud-native Application Lifecycle ManagementCloud-native Application Lifecycle Management
Cloud-native Application Lifecycle Management
Neil Gehani626 views
Successful Patterns for running platforms von Paul Czarkowski
Successful Patterns for running platformsSuccessful Patterns for running platforms
Successful Patterns for running platforms
Paul Czarkowski383 views
Red Hhat Summit 2017 : Love Containers, Love Devops, Love Openshift, Where's ... von Daniel Oh
Red Hhat Summit 2017 : Love Containers, Love Devops, Love Openshift, Where's ...Red Hhat Summit 2017 : Love Containers, Love Devops, Love Openshift, Where's ...
Red Hhat Summit 2017 : Love Containers, Love Devops, Love Openshift, Where's ...
Daniel Oh528 views
Devops lifecycle with Kabanero Appsody, Codewind, Tekton von Winton Winton
Devops lifecycle with Kabanero Appsody, Codewind, TektonDevops lifecycle with Kabanero Appsody, Codewind, Tekton
Devops lifecycle with Kabanero Appsody, Codewind, Tekton
Winton Winton1.5K views
Principles of Kubernetes von James Kelly
Principles of KubernetesPrinciples of Kubernetes
Principles of Kubernetes
James Kelly854 views
OpenSlava 2014 - CloudFoundry inside-out von Antons Kranga
OpenSlava 2014 - CloudFoundry inside-outOpenSlava 2014 - CloudFoundry inside-out
OpenSlava 2014 - CloudFoundry inside-out
Antons Kranga1.7K views
Dockercon 2019 Developing Apps with Containers, Functions and Cloud Services von Patrick Chanezon
Dockercon 2019 Developing Apps with Containers, Functions and Cloud ServicesDockercon 2019 Developing Apps with Containers, Functions and Cloud Services
Dockercon 2019 Developing Apps with Containers, Functions and Cloud Services
Patrick Chanezon1.2K views
Introducing Cloud Native, Event Driven, Serverless, Micrsoservices Framework ... von Animesh Singh
Introducing Cloud Native, Event Driven, Serverless, Micrsoservices Framework ...Introducing Cloud Native, Event Driven, Serverless, Micrsoservices Framework ...
Introducing Cloud Native, Event Driven, Serverless, Micrsoservices Framework ...
Animesh Singh3.9K views
DockerCon 18 Cool Hacks: Cloud Native ML with Docker Enterprise Edition von Docker, Inc.
DockerCon 18 Cool Hacks: Cloud Native ML with Docker Enterprise EditionDockerCon 18 Cool Hacks: Cloud Native ML with Docker Enterprise Edition
DockerCon 18 Cool Hacks: Cloud Native ML with Docker Enterprise Edition
Docker, Inc.1.2K views
.NET Cloud-Native Bootcamp- Los Angeles von VMware Tanzu
.NET Cloud-Native Bootcamp- Los Angeles.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los Angeles
VMware Tanzu450 views
8 - OpenShift - A look at a container platform: what's in the box von Kangaroot
8 - OpenShift - A look at a container platform: what's in the box8 - OpenShift - A look at a container platform: what's in the box
8 - OpenShift - A look at a container platform: what's in the box
Kangaroot1.3K views
Docker up &amp; running von Le Thi
Docker   up &amp; runningDocker   up &amp; running
Docker up &amp; running
Le Thi224 views
Containers in the Enterprise von Ken Thompson
Containers in the EnterpriseContainers in the Enterprise
Containers in the Enterprise
Ken Thompson1.2K views
Docker for the enterprise von Bert Poller
Docker for the enterpriseDocker for the enterprise
Docker for the enterprise
Bert Poller798 views
Better Operations into the Cloud von Fabio Ferrari
Better Operations  into the CloudBetter Operations  into the Cloud
Better Operations into the Cloud
Fabio Ferrari943 views
Building Microservices with the 12 Factor App Pattern on AWS von Amazon Web Services
Building Microservices with the 12 Factor App Pattern on AWSBuilding Microservices with the 12 Factor App Pattern on AWS
Building Microservices with the 12 Factor App Pattern on AWS
Amazon Web Services5.3K views
PCF: Platform for a New Era - Kubernetes for the Enterprise - London von VMware Tanzu
PCF: Platform for a New Era - Kubernetes for the Enterprise - LondonPCF: Platform for a New Era - Kubernetes for the Enterprise - London
PCF: Platform for a New Era - Kubernetes for the Enterprise - London
VMware Tanzu1.5K views

Similar a DevOps and BigData Analytics

PaaS Solutions Comparison von
PaaS Solutions ComparisonPaaS Solutions Comparison
PaaS Solutions ComparisonGlobalLogic Ukraine
2.7K views24 Folien
Docker & aPaaS: Enterprise Innovation and Trends for 2015 von
Docker & aPaaS: Enterprise Innovation and Trends for 2015Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015WaveMaker, Inc.
6K views71 Folien
Cloud Foundry for PHP developers von
Cloud Foundry for PHP developersCloud Foundry for PHP developers
Cloud Foundry for PHP developersDaniel Krook
6.2K views44 Folien
PHP Buildpacks in the Cloud on Bluemix von
PHP Buildpacks in the Cloud on BluemixPHP Buildpacks in the Cloud on Bluemix
PHP Buildpacks in the Cloud on BluemixIBM
2.7K views44 Folien
56k.cloud training von
56k.cloud training56k.cloud training
56k.cloud trainingBrian Christner
587 views98 Folien
CNCF Introduction - Feb 2018 von
CNCF Introduction - Feb 2018CNCF Introduction - Feb 2018
CNCF Introduction - Feb 2018Krishna-Kumar
1.3K views25 Folien

Similar a DevOps and BigData Analytics (20)

Docker & aPaaS: Enterprise Innovation and Trends for 2015 von WaveMaker, Inc.
Docker & aPaaS: Enterprise Innovation and Trends for 2015Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015
WaveMaker, Inc.6K views
Cloud Foundry for PHP developers von Daniel Krook
Cloud Foundry for PHP developersCloud Foundry for PHP developers
Cloud Foundry for PHP developers
Daniel Krook6.2K views
PHP Buildpacks in the Cloud on Bluemix von IBM
PHP Buildpacks in the Cloud on BluemixPHP Buildpacks in the Cloud on Bluemix
PHP Buildpacks in the Cloud on Bluemix
IBM2.7K views
CNCF Introduction - Feb 2018 von Krishna-Kumar
CNCF Introduction - Feb 2018CNCF Introduction - Feb 2018
CNCF Introduction - Feb 2018
Krishna-Kumar 1.3K views
Containers, microservices and serverless for realists von Karthik Gaekwad
Containers, microservices and serverless for realistsContainers, microservices and serverless for realists
Containers, microservices and serverless for realists
Karthik Gaekwad77.3K views
VMworld 2015: Build and Run Cloud Native Apps in your Software Defined Data C... von VMworld
VMworld 2015: Build and Run Cloud Native Apps in your Software Defined Data C...VMworld 2015: Build and Run Cloud Native Apps in your Software Defined Data C...
VMworld 2015: Build and Run Cloud Native Apps in your Software Defined Data C...
VMworld518 views
Developing Hybrid Cloud Applications von Daniel Berg
Developing Hybrid Cloud ApplicationsDeveloping Hybrid Cloud Applications
Developing Hybrid Cloud Applications
Daniel Berg659 views
GIDS 2019: Developing Apps with Containers, Functions and Cloud Services von Patrick Chanezon
GIDS 2019: Developing Apps with Containers, Functions and Cloud ServicesGIDS 2019: Developing Apps with Containers, Functions and Cloud Services
GIDS 2019: Developing Apps with Containers, Functions and Cloud Services
Patrick Chanezon1.2K views
What's New in Docker - February 2017 von Patrick Chanezon
What's New in Docker - February 2017What's New in Docker - February 2017
What's New in Docker - February 2017
Patrick Chanezon1.4K views
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise... von Ludovic Piot
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
Ludovic Piot301 views
Private PaaS & Container-as-a-Service for ISVs and Enterprise - Use Cases and... von Dmitry Lazarenko
Private PaaS & Container-as-a-Service for ISVs and Enterprise - Use Cases and...Private PaaS & Container-as-a-Service for ISVs and Enterprise - Use Cases and...
Private PaaS & Container-as-a-Service for ISVs and Enterprise - Use Cases and...
Dmitry Lazarenko510 views
Using cloud native development to achieve digital transformation von Uni Systems S.M.S.A.
Using cloud native development to achieve digital transformationUsing cloud native development to achieve digital transformation
Using cloud native development to achieve digital transformation
Simplify DevOps with Microservices and Mobile Backends.pptx von ssuser5faa791
Simplify DevOps with Microservices and Mobile Backends.pptxSimplify DevOps with Microservices and Mobile Backends.pptx
Simplify DevOps with Microservices and Mobile Backends.pptx
ssuser5faa79162 views
.NET Cloud-Native Bootcamp von VMware Tanzu
.NET Cloud-Native Bootcamp.NET Cloud-Native Bootcamp
.NET Cloud-Native Bootcamp
VMware Tanzu753 views

Último

The Throne of Your Heart 11-26-23 PPT.pptx von
The Throne of Your Heart 11-26-23 PPT.pptxThe Throne of Your Heart 11-26-23 PPT.pptx
The Throne of Your Heart 11-26-23 PPT.pptxFamilyWorshipCenterD
7 views24 Folien
Post-event report intro session-1.docx von
Post-event report intro session-1.docxPost-event report intro session-1.docx
Post-event report intro session-1.docxRohitRathi59
15 views2 Folien
HITCON CISO Summit 2023 - Closing von
HITCON CISO Summit 2023 - ClosingHITCON CISO Summit 2023 - Closing
HITCON CISO Summit 2023 - ClosingHacks in Taiwan (HITCON)
189 views33 Folien
New Microsoft Word Document.docx von
New Microsoft Word Document.docxNew Microsoft Word Document.docx
New Microsoft Word Document.docxapomahendranagarmudd
8 views11 Folien
Gym Members Community.pptx von
Gym Members Community.pptxGym Members Community.pptx
Gym Members Community.pptxnasserbf1987
8 views5 Folien
Roozbeh Torkzadeh - TU Eindhoven von
Roozbeh Torkzadeh - TU EindhovenRoozbeh Torkzadeh - TU Eindhoven
Roozbeh Torkzadeh - TU EindhovenDutch Power
91 views14 Folien

Último(20)

Post-event report intro session-1.docx von RohitRathi59
Post-event report intro session-1.docxPost-event report intro session-1.docx
Post-event report intro session-1.docx
RohitRathi5915 views
Roozbeh Torkzadeh - TU Eindhoven von Dutch Power
Roozbeh Torkzadeh - TU EindhovenRoozbeh Torkzadeh - TU Eindhoven
Roozbeh Torkzadeh - TU Eindhoven
Dutch Power91 views
I use my tools to help people von mywampa
I use my tools to help peopleI use my tools to help people
I use my tools to help people
mywampa5 views
Christan van Dorst - Hyteps von Dutch Power
Christan van Dorst - HytepsChristan van Dorst - Hyteps
Christan van Dorst - Hyteps
Dutch Power96 views
Synthetic Biology.pptx von ShubNoor4
Synthetic Biology.pptxSynthetic Biology.pptx
Synthetic Biology.pptx
ShubNoor48 views
Managing Github via Terrafom.pdf von micharaeck
Managing Github via Terrafom.pdfManaging Github via Terrafom.pdf
Managing Github via Terrafom.pdf
micharaeck5 views
231121 SP slides - PAS workshop November 2023.pdf von PAS_Team
231121 SP slides - PAS workshop November 2023.pdf231121 SP slides - PAS workshop November 2023.pdf
231121 SP slides - PAS workshop November 2023.pdf
PAS_Team162 views
Helko van den Brom - VSL von Dutch Power
Helko van den Brom - VSLHelko van den Brom - VSL
Helko van den Brom - VSL
Dutch Power93 views

DevOps and BigData Analytics

  • 2. AGENDA 1. THE OPERATION’S BIG DREAM 2. INTRODUCING ARCHOPS 3. IMPLEMENTING ARCHOPS a) INFRASTRUCTURE b) APPLICATION ARCHITECTURE c) DEPLOYMENT PACKAGING d) BUILD PIPELINE & TOOLS 4. AUTO SCLAING & AUTO HEALING
  • 3. ABOUT KNOWESIS InfoSphere Streams Storm SIFT Streaming Engine Amplifying Data Potential
  • 4. THE OPERATION’S BIG DREAM What is the Big Dream of Operations ?
  • 5. THE OPERATION’S BIG DREAM To have a system which can AUTO SCALE & AUTO HEAL
  • 6. INTRODUCING ARCHOPS ARCHOPS is a conscious initiative to address OPERATIONS concerns during the design stage in the DEVOPS process
  • 7. IMPLEMENTING ARCHOPS Continuous Integration Continuous Delivery Req Plan Code Build Test Release Deploy Manage Monitor DEV+OPS ARCHOPS DELIVERABLES
  • 8. IMPLEMENTING ARCHOPS • Software Architect • Developers • Operations Manager ✓☐ Service Catalog ✓☐ Container Sizing Sheet ✓☐ Hosting Infra Decision ✓☐ Proof of Concept / Reference Pilot ✓☐ Architectural Decisions Doc ✓☐ Monitoring & Evaluation Framework ARCH OPS DELIVERABLES CHECKLIST
  • 9. INTRODUCING - EVOLUTION Source: Redhat 1. ADOPTED DEVOPS PROCESS 2. APPLICATION ARCHITECTURE 3. DEPOLYMENT & PACKAGING SOLUTION 4. RUNTIME INFRASTRUCTURE
  • 12. IMPLEMENTING DEVOPS CONTAINER SERVICES FUNCTION SERVICES BACKEND SERVICES CAAS FAAS BAAS ECS ACS GKE Lambda GCF Functions Firebase Kumulous Azure MBAAS SERVERLESS
  • 13. IMPLEMENTING DEVOPS - Serverless • Website hosted in S3 is accessed by users and messages is entered • Message is submitted to API Gateway via post method • API Gateway triggers Lambda function and submits the message to the function to be processed • Lambda pushes the messages to DynamoDB as well as SNS Topic • SNS sends message to an SQS Queue to be processed further S3 API Gateway Lambda SNS Topic SQS DynamoDB
  • 14. IMPLEMENTING DEVOPS – INFRA AS CODE Create and manage infra as dynamic assets. Configuration Orchestration Configuration Management
  • 15. IMPLEMENTING ARCHOPS - INFRA AS CODE Azure Resource Manager AWS Cloud Formation Google Deployment Manager Google, AWS and Azure provide a way to define your cloud infrastructure resources using a declarative language This allows us maintain the infrastructure as code. Which can be maintained using source control system. Clubbed with the application code and using CM tools, entire system creating process can be automated
  • 19. IMPLEMENTING DEVOPS – 12Factors 12Factors - Methodology for a service ready software 1. Codebase – One codebase for deployed services 2. Dependencies – Declared with no implicit dependency on system tools 3. Config – Config that varies between deployments should be stored in the environment 4. Backing Services – Should be attached/detached by execution environment 5. Build, release run – Delivery pipeline should have build, run, release process 6. Processes – App deployment as one or more stateless processes with persisted data stored on a backing service 7. Port Binding – Self-contained services should make themselves available to other services by specified ports. 8. Concurrency – Concurrency by scaling individual process 9. Disposability – Fast startup and shutdown 10. Dev/Prod parity – All environment should be similar as possible 11. Logs – Logs as event streams and leave the execution environment to aggregate. 12. Admin Processes – Admin tasks in source control and packaged with application. https://12factor.net/Adopted by major software platforms and frameworks
  • 20. IMPLEMENTING DEVOPS Architectural Considerations • Which is more important to you velocity or flexibility? • Do you want an opinionated application platform? • Do you need to support Big Data initiatives and pipelines? • Do you want a hosted solution? • Are you willing to build out your own integrations? • Do you need on-prem & hybrid capabilities? • Do you want to avoid infrastructure lock-in? • Are you already invested in a specific infrastructure? • Are you already invested in a specific operating system? • Do you need federation and multi-region support? • Do you want multi-tenancy or is multi-instance good enough? • How important are seamless automated rolling updates? • How many nines do you customers need? • How important is reveres compatibility & API stability? • Do you need to support non-Docker workloads?
  • 21. IMPLEMENTING DEVOPS https://gtnr.it/2Fl787w Loosely coupled service oriented architecture with bounded contexts Microservices Architecture Is an approach to developing a single application as a suite of small services, each running in its own process and communicating with light weight mechanisms, often an HTTP resource API. These services are built around business capabilities and independently deployable by fully automated deployment machinery. There is a bare minimum of centralized management of these services, which may be written in different programming languages and use different data storage technologies -James Lewis and Martin Fowler
  • 22. IMPLEMENTING DEVOPS - Microservices Microservices Pattern for building distributed systems Microservice is an architectural style that structures an application as a collection of loosely coupled service
  • 24. IMPLEMENTING ARCHOPS - Containers Containers are a method of operating system virtualization that allow you to run an application and its dependencies in resource-isolated processes. Containers PACKAGE APPLICATION CODE CONFIG AND DEPLOYMENT DEPLOY CONSISTENTLY WITHOUT ENV DEPENDENCIES
  • 25. IMPLEMENTING ARCHOPS - DOCKER • Docker is a tool designed to make it easier to create, deploy and run applications using containers. • Allows developers to package up an application with all the parts it needs, such as lib and dependencies and ship it all out as one package. • Built on Open Standards and runs on LXC and Windows Server • Bit like a VM, but without Guest OS and Hypervisor VIRTUAL MACHINE DOCKER
  • 26. IMPLEMENTING ARCHOPS - DOCKER SPEED No OS to boot = Faster boot time PORTABLE Less Dependencies = easy portability EFFICIENT Less OS overhead = improved VM density
  • 28. IMPLEMENTING ARCHOPS - DOCKER docker- compose.yml
  • 30. IMPLEMENTING ARCHOPS - ORCHESTRATION Swarm Vs Kubernetes Docker Swarm is native clustering for Docker. It turns a pool of Docker hosts into a single Virtual Host. • Easy to setup – well fit in docker ecosystem • Built into Docker CLI • Lightweight and less moving parts • Automated internal load balancing through any node in the cluster • Has low fault tolerance • Smaller community compare to k8s • Devloped by Google • Requires heavy setup • Vast Open source community • Provides strong guarantees to cluster states • More extensive and customizable • HPA – Horizontal Pod Automation Kubernetes (K8s) is an open-source system for automating deployment, scaling, and management of containerized applications.
  • 31. 4. IMPLEMENTING ARCHOPS , BUILDPIPELINE&TOOLS
  • 32. IMPLEMENTING ARCHOPS Bitbucket Jenkins Maven JUnit SonarQube SCM CI Build Source Unit Test Analysis Nexus Repo Mgr Ansible CM Jira Change Management BUILD PIPELINE Docker Build Image Docker Hub Docker Repo
  • 33. IMPLEMENTING ARCHOPS AWS Docker Selenium JMeter Build Env Build Setup Function Test Perf Test Ansible CM BUILD PIPELINE Deploy Desired Environment Jenkins CD Packer CD
  • 34. IMPLEMENTING ARCHOPS – Tool List Source code management: Git, GitHub, Subversion, and Bitbucket Build management: Maven, Ant, Make, and MSBuild Testing tools: JUnit, Selenium, Cucumber, and QUnit Repository management: Nexus, Artifactory, and Docker hub Continuous integration: Jenkins, Bamboo, TeamCity, and Visual Studio Configuration provisioning: Ansible, Chef, Puppet, and SaltStack Cloud: AWS, Azure, Google, DigitalOcean, Bluemix, OpenShift, and Rackspace Deployment management: Rapid Deploy, Code Deploy, and Elastic box Collaboration: Jira, Team Foundation, and Slack Monitoring: Prometheus, SysDig, New Relic, Kibana and Nagios Application Performance Monitoring(APM): AppDynamics, Dynatrace, New Relic, CA Wili Logging: Datadog, Splunk, Logentries, and Logstash Container orchestration: Kubernetes, Swam, AWS, Google and Azure TOOL LIST https://xebialabs.com/periodic-table-of-devops-tools/
  • 35. IMPLEMENTING ARCHOPS - Software Configuration Management Tools Github, Bitbucket and GitLab are 3 of the largest web-based hosting services for source code and development projects. Out of the these services only GitLab is open source. Basic features show a lot of similarities. GitHub is most popular among open source community and hosts nearly 28M opens source projects and is a de-factor choice for open source community. Bitbucket has a nice UI and tools to integrate with. Others: Helix, Perforce, Bazaar, Mercurial, SVN
  • 36. IMPLEMENTING ARCHOPS – Continuous Integration Tools • Open-source CI written in Java. • Fork of Hudson after Oracle purchase. • Very flexible - extensions through plugins is comprehensive and you can add your own plugins as well. • Cloudbees also offers hosted solution in the form of Jenkins in cloud. • One of the best tool, but steep learning curve, but worth the effort. • Product of JetBrains. • Despite being the java- based solution, it offers the best .NET support comparing to other tools in the market. • Out of the box, it works on many different platforms and has support for wide variety of tools and frameworks. • Great, solution overall, suitable for large enterprise. • Mature solution, very well documented. • One of the oldest hosted solutions out there. • Although known for the hosted solution, it has on-premise version too. • Build Matrix - a tool that gives an opportunity to run tests with different versions of language and packages. • Building up databases and caches are inbuild. • Some level of support to Docker • Lightweight YAML config, free for open source projects. • Cloud based system, no dedicated server required. But it has a on-prem solution aswell. • Has some free plan for business account. • REST API access to projects and artifacts. • You can even trigger SSH mode to access container and make your own investigation. • It is OOTB solution with min conf. • Well suited for small and medium size organizations. JENKINS TEAM CITY TRAVIS CI CIRCLE CI
  • 37. IMPLEMENTING ARCHOPS - Continuous Delivery • Drone.io is an CD platform. • It is truly Docker native and pipelines are executed inside containers • Pipelines are defined as a declarative configuration like docker-compose file • This makes it a perfect fit for a platform like Kubernetes, where launching containers is an easy task. • It can be used as CI tool and it can integrate with github, bitbucket for continuous build. • Notification Slack, email etc.
  • 38. IMPLEMENTING ARCHOPS - Continuous Deployment • Free and open source tool for creating identical machine images for multiple platforms • Packer.json - has the variable and builder configurations • Builder - are responsible for creating machines and generating images from them for various platforms. (EC2, DigitalOcean, GCE, virtual box etc) • Builders --> Provisoners --> Post-processors • Use it in a continuous delivery pipeline.
  • 39. IMPLEMENTING ARCHOPS - Configuration Management • Highly scalable, master agent • Pull based configuration • Multi master • Puppet DSL more sysadmin oriented. • Master on Linux/Unix agent linux or windows • Gannett uses Chef • Master-Agent configuration and highly scalable • Pull based configuration • Primary and secondary server • Ruby config, need programming knowledge • Master on Linux/Unix, workstation on windows as well • NYSE uses it at very large scale • Master node no agent and highly scalable • Push based configuration • Primarily instance on failure secondary instance • Config via YAML • Support for windows but master has to be on Linux/Unix • NASA uses Ansible • Master agent, highly scalable, agents are minions. • Push based configuration • Multiple masters • Config via YAML • Master on Linux/Unix, minions on Linux/Unix • Linkedin uses saltstack
  • 40. 5. IMPLEMENTING ARCHOPS AUTO SCALING & AUTO HEALING
  • 41. IMPLEMENTING ARCHOPS – AUTO HEALING Virtual Machine - 2Virtual Machine - 1 Virtual Machine - 4 Virtual Machine - 3
  • 42. IMPLEMENTING ARCHOPS – AUTO SCALING Virtual Machine - 2Virtual Machine - 1 Virtual Machine - 4 Virtual Machine - 3
  • 43. IMPLEMENTING ARCHOPS - AUTO SCALE cAdvisor CONTAINER CONTAINER CONTAINER Docker Engine Docker Host Node Exporter Custom Metrics Slack Email Others Prometheus Metrics DB Prometheus Alert Manager Grafana Compute EngineScale PUSH
  • 44. IMPLEMENTING ARCHOPS - AUTO SCALE Scaling Algorithm Say one instance is 50% and another 70% - total is 120 divide by target utilization (say we have set at 60%). So number of instances required is 2 min <= target instance <= max Sum Utilization Target Utilization target instance = ceil ( ---------------------------- )
  • 45. How to succeed in DEVOPS 1 2 Create Culture Architect/Design for DevOps Use the right tools DevOps is not a methodology, it is a Journey. Happy DevOps! Conway Law - "Organizations which design systems are constrained to produce designs which are copies of the communication structure of these org"