[[kibana-architecture]]
== Architecture

[IMPORTANT]
==============================================
The {kib} Plugin APIs are in a state of
constant development. We cannot provide backwards compatibility at this time due
to the high rate of change.
==============================================

To begin plugin development, we recommend reading our overview of how plugins work:

* <<kibana-platform-plugin-api>>

Our developer services are changing all the time. One of the best ways to discover and learn about them is to read the available
READMEs inside our plugins folders: {kib-repo}tree/{branch}/src/plugins[src/plugins] and
{kib-repo}tree/{branch}/x-pack/plugins[x-pack/plugins].

A few services also automatically generate api documentation which can be browsed inside the {kib-repo}tree/{branch}/docs/development[docs/development section of our repo]

A few notable services are called out below.

* <<kibana-platform-api>>
* <<development-security>>
* <<add-data-tutorials>>
* <<development-visualize-index>>
* <<reporting-integration>>

include::kibana-platform-plugin-api.asciidoc[leveloffset=+1]

include::core/index.asciidoc[leveloffset=+1]

include::core/application_service.asciidoc[leveloffset=+1]

include::core/configuration-service.asciidoc[leveloffset=+1]

include::core/elasticsearch-service.asciidoc[leveloffset=+1]

include::core/http-service.asciidoc[leveloffset=+1]

include::core/logging-service.asciidoc[leveloffset=+1]

include::core/logging-configuration-migration.asciidoc[leveloffset=+1]

include::core/saved-objects-service.asciidoc[leveloffset=+1]

include::core/uisettings-service.asciidoc[leveloffset=+1]

include::core/patterns-scoped-services.asciidoc[leveloffset=+1]

include::core/packages.asciidoc[leveloffset=+1]

include::security/index.asciidoc[leveloffset=+1]

include::add-data-tutorials.asciidoc[leveloffset=+1]

include::development-visualize-index.asciidoc[leveloffset=+1]

include::development/index.asciidoc[leveloffset=+1]
