{"id":946,"date":"2014-07-12T09:00:26","date_gmt":"2014-07-12T12:00:26","guid":{"rendered":"http:\/\/www.viazap.com.br\/?p=946"},"modified":"2014-07-12T09:00:26","modified_gmt":"2014-07-12T12:00:26","slug":"construindo-arquiteturas-de-alta-disponibilidade","status":"publish","type":"post","link":"https:\/\/blog.clusterweb.com.br\/?p=946","title":{"rendered":"Construindo arquiteturas de alta disponibilidade"},"content":{"rendered":"<p><span style=\"font-size: medium;\">O que voc\u00ea chama de \u201c<strong>Alta Disponibilidade<\/strong>\u201d?<\/span><\/p>\n<p><span style=\"font-size: medium;\">Esses dias estive envolvido nessa discuss\u00e3o e surgiram algumas d\u00favidas no time. Vou aproveitar esse post para compartilhar alguns t\u00f3picos do assunto.<\/span><\/p>\n<p><span style=\"font-size: medium;\">Podemos come\u00e7ar a discuss\u00e3o fazendo uma defini\u00e7\u00e3o sobre o termo \u201c<strong>Disponibilidade<\/strong>\u201d. Em TI, um sistema ou solu\u00e7\u00e3o pode ser chamado de dispon\u00edvel quando est\u00e1:<\/span><\/p>\n<ul>\n<li><span style=\"font-size: medium;\"><span style=\"color: #0000ff;\">Presente e pronto para uso; acess\u00edvel para usu\u00e1rios;<\/span><\/span><\/li>\n<li><span style=\"color: #0000ff; font-size: medium;\">Qualificado e pronto para ser servido;<\/span><\/li>\n<li><span style=\"color: #0000ff; font-size: medium;\">Dispon\u00edveis para consumo com garantias pr\u00e9vias de n\u00edveis de servi\u00e7os oferecidos;<\/span><\/li>\n<\/ul>\n<p><!--more--><\/p>\n<p><span style=\"font-size: medium;\">Uma defini\u00e7\u00e3o do Wikipedia segue abaixo:<\/span><\/p>\n<ul>\n<li><span style=\"font-size: medium;\"><em>\u201cUm sistema de alta disponibilidade \u00e9 um sistema resistente a falhas de software e energia, cujo objectivo \u00e9 manter os servi\u00e7os disponibilizados o m\u00e1ximo de tempo poss\u00edvel.\u201d\u00a0 by wikipedia.<br \/>\n<\/em>Ref.:\u00a0<\/span><a style=\"color: #0066dd;\" href=\"http:\/\/pt.wikipedia.org\/wiki\/Sistema_de_alta_disponibilidade\"><span style=\"font-size: medium;\">http:\/\/pt.wikipedia.org\/wiki\/Sistema_de_alta_disponibilidade<\/span><\/a><\/li>\n<\/ul>\n<p><span style=\"font-size: medium;\">Ou seja, se precisamos garantir a disponibilidade para um determinado sistema, precisamos garantir a oferta de seus servi\u00e7os em diferentes situa\u00e7\u00f5es de opera\u00e7\u00e3o (falhas, carga, desastres, etc), com n\u00edveis de qualidade pr\u00e9-estabelecidos. As situa\u00e7\u00f5es de opera\u00e7\u00e3o mais conhecidas s\u00e3o:<\/span><\/p>\n<ul>\n<li><span style=\"font-size: medium;\"><span style=\"color: #0000ff;\">Toler\u00e2ncia a falhas;<\/span><\/span><\/li>\n<li><span style=\"font-size: medium;\"><span style=\"color: #0000ff;\">Suporte a picos de carga e alta demanda;<\/span><\/span><\/li>\n<li><span style=\"font-size: medium;\"><span style=\"color: #0000ff;\">Recupera\u00e7\u00e3o de desastres;<\/span><\/span><\/li>\n<li><span style=\"font-size: medium;\"><span style=\"color: #0000ff;\">Cen\u00e1rios de redund\u00e2ncia de dados;<\/span><\/span><\/li>\n<li><span style=\"font-size: medium;\">C<span style=\"color: #0000ff;\">en\u00e1rios de redund\u00e2ncia de aplica\u00e7\u00f5es e funcionalidades;<\/span><\/span><\/li>\n<\/ul>\n<p><span style=\"font-size: medium;\">Veja, essas situa\u00e7\u00f5es exigem uma combina\u00e7\u00e3o de requisitos de\u00a0<strong>software<\/strong>\u00a0e\u00a0<strong>hardware<\/strong>. Podemos ainda usar m\u00e9tricas para determinar o n\u00edvel de disponibilidade que precisamos, como:<\/span><\/p>\n<p><a style=\"color: #0066dd;\" href=\"http:\/\/blogs.msdn.com\/cfs-file.ashx\/__key\/communityserver-blogs-components-weblogfiles\/00-00-00-91-92-metablogapi\/4034.image_5F00_6D83EB80.png\"><span style=\"font-size: medium;\"><img loading=\"lazy\" decoding=\"async\" title=\"image\" src=\"http:\/\/blogs.msdn.com\/cfs-file.ashx\/__key\/communityserver-blogs-components-weblogfiles\/00-00-00-91-92-metablogapi\/2705.image_5F00_thumb_5F00_5B77A7F3.png\" alt=\"image\" width=\"697\" height=\"189\" border=\"0\" \/><\/span><\/a><\/p>\n<p><span style=\"font-size: medium;\">Os n\u00edveis de disponibilidade exigidos para a aplica\u00e7\u00e3o devem estar alinhados aos requisitos do neg\u00f3cio. Ainda, maiores n\u00edveis de disponibilidade exigem maiores n\u00edveis de investimentos e defini\u00e7\u00f5es de hardware, software e redes que suportam adequadamente os n\u00edveis exigidos.<\/span><\/p>\n<p><span style=\"font-size: medium;\">Portanto,\u00a0<strong>Alta Disponibilidade<\/strong>\u00a0deve ser classificada de acordo com o cen\u00e1rio e n\u00edvel de servi\u00e7o que estamos considerando. Veja um exemplo de arquitetura cl\u00e1ssica de alta disponibilidade para dois n\u00f3s em cluster, com base de dados compartilhada:<\/span><\/p>\n<p><a style=\"color: #0066dd;\" href=\"http:\/\/blogs.msdn.com\/cfs-file.ashx\/__key\/communityserver-blogs-components-weblogfiles\/00-00-00-91-92-metablogapi\/8171.image_5F00_2A484786.png\"><span style=\"font-size: medium;\"><img loading=\"lazy\" decoding=\"async\" title=\"image\" src=\"http:\/\/blogs.msdn.com\/cfs-file.ashx\/__key\/communityserver-blogs-components-weblogfiles\/00-00-00-91-92-metablogapi\/0576.image_5F00_thumb_5F00_5152E0FB.png\" alt=\"image\" width=\"367\" height=\"481\" border=\"0\" \/><\/span><\/a><span style=\"font-size: medium;\">by wikipedia.<\/span><\/p>\n<p><span style=\"font-size: medium;\">A plataforma\u00a0<strong>Windows Server 2008 R2<\/strong>, por exemplo, oferece uma s\u00e9rie de recursos que apoiam a constru\u00e7\u00e3o de solu\u00e7\u00f5es com alta disponibilidade, como:<\/span><\/p>\n<ul>\n<li><span style=\"font-size: medium;\"><span style=\"color: #0000ff;\">Failover Clustering<\/span><\/span><\/li>\n<li><span style=\"font-size: medium;\"><span style=\"color: #0000ff;\">Network Load Balancing<\/span><\/span><\/li>\n<li><span style=\"font-size: medium;\"><span style=\"color: #0000ff;\">Windows Hardware Error Architecture (WHEA)<\/span><\/span><\/li>\n<li><span style=\"font-size: medium;\"><span style=\"color: #0000ff;\">Dynamic Hardware Partitioning<\/span><\/span><\/li>\n<li><span style=\"font-size: medium;\"><span style=\"color: #0000ff;\">Fault Tolerant Hardware<\/span><\/span><\/li>\n<li><span style=\"font-size: medium;\"><span style=\"color: #0000ff;\">Scaling Up (at\u00e9 256 processadores)<\/span><\/span><\/li>\n<li><span style=\"font-size: medium;\"><span style=\"color: #0000ff;\">Shadow Copy<\/span><\/span><\/li>\n<li><span style=\"font-size: medium;\"><span style=\"color: #0000ff;\">Windows Server Backup<\/span><\/span><\/li>\n<li><span style=\"font-size: medium;\"><span style=\"color: #0000ff;\">Windows Recovery, etc.<\/span><\/span><\/li>\n<\/ul>\n<p><span style=\"font-size: medium;\">Pensando na arquitetura de hardware e infraestrutura, diversos fornecedores oferecem solu\u00e7\u00f5es combinadas envolvendo\u00a0<\/span><a style=\"color: #0066dd;\" href=\"http:\/\/pt.wikipedia.org\/wiki\/Storage_area_network\" target=\"_blank\" rel=\"nofollow\"><span style=\"font-size: medium;\">SAN<\/span><\/a><span style=\"font-size: medium;\">\u00a0&#8211; Storage Area Network,\u00a0<\/span><a style=\"color: #0066dd;\" href=\"http:\/\/pt.wikipedia.org\/wiki\/SCSI\" target=\"_blank\" rel=\"nofollow\"><span style=\"font-size: medium;\">SCSI<\/span><\/a><span style=\"font-size: medium;\">\u00a0&#8211; Small Computer System Interface,\u00a0<\/span><a style=\"color: #0066dd;\" href=\"http:\/\/pt.wikipedia.org\/wiki\/Serial_ATA\" target=\"_blank\" rel=\"nofollow\"><span style=\"font-size: medium;\">SATA<\/span><\/a><span style=\"font-size: medium;\">\u00a0&#8211; Serial AT Attachment e\u00a0<\/span><a style=\"color: #0066dd;\" href=\"http:\/\/pt.wikipedia.org\/wiki\/RAID\" target=\"_blank\" rel=\"nofollow\"><span style=\"font-size: medium;\">RAID<\/span><\/a><span style=\"font-size: medium;\">\u00a0&#8211; Redundant Array of Independent Drives, criando cen\u00e1rios que podem ser combinados para a constru\u00e7\u00e3o de ambientes de alta disponibilidade, como vemos a seguir:<\/span><\/p>\n<p><a style=\"color: #0066dd;\" href=\"http:\/\/blogs.msdn.com\/cfs-file.ashx\/__key\/communityserver-blogs-components-weblogfiles\/00-00-00-91-92-metablogapi\/6521.image_5F00_74532C9E.png\"><span style=\"font-size: medium;\"><img loading=\"lazy\" decoding=\"async\" title=\"image\" src=\"http:\/\/blogs.msdn.com\/cfs-file.ashx\/__key\/communityserver-blogs-components-weblogfiles\/00-00-00-91-92-metablogapi\/5050.image_5F00_thumb_5F00_0074A6C6.png\" alt=\"image\" width=\"276\" height=\"230\" border=\"0\" \/><\/span><\/a><a style=\"color: #0066dd;\" href=\"http:\/\/blogs.msdn.com\/cfs-file.ashx\/__key\/communityserver-blogs-components-weblogfiles\/00-00-00-91-92-metablogapi\/8203.image_5F00_16E7454D.png\"><span style=\"font-size: medium;\"><img loading=\"lazy\" decoding=\"async\" title=\"image\" src=\"http:\/\/blogs.msdn.com\/cfs-file.ashx\/__key\/communityserver-blogs-components-weblogfiles\/00-00-00-91-92-metablogapi\/6136.image_5F00_thumb_5F00_6DFC3043.png\" alt=\"image\" width=\"209\" height=\"240\" border=\"0\" \/><\/span><\/a><a style=\"color: #0066dd;\" href=\"http:\/\/blogs.msdn.com\/cfs-file.ashx\/__key\/communityserver-blogs-components-weblogfiles\/00-00-00-91-92-metablogapi\/7610.image_5F00_6453C20D.png\"><span style=\"font-size: medium;\"><img loading=\"lazy\" decoding=\"async\" title=\"image\" src=\"http:\/\/blogs.msdn.com\/cfs-file.ashx\/__key\/communityserver-blogs-components-weblogfiles\/00-00-00-91-92-metablogapi\/4885.image_5F00_thumb_5F00_48CEC00A.png\" alt=\"image\" width=\"235\" height=\"216\" border=\"0\" \/><\/span><\/a><\/p>\n<p><span style=\"font-size: medium;\">Assim, vemos solu\u00e7\u00f5es para disponibilidade de dados, alta disponibilidade de aplica\u00e7\u00f5es, alta disponibilidade de interfaces Web, compartilhamento de dados na rede, balanceamento de servi\u00e7os, espelhamento de ambientes, cluster de servidores de dados, de m\u00e1quinas virtuais, etc.<\/span><\/p>\n<p><span style=\"font-size: medium;\">Outro exemplo interessante \u00e9 o uso de virtualiza\u00e7\u00e3o para cen\u00e1rios de alta disponibilidade, onde uma combina\u00e7\u00e3o de\u00a0<strong>m\u00e1quinas virtuais<\/strong>, com\u00a0<strong>clusteriza\u00e7\u00e3o de servidores<\/strong>\u00a0e\u00a0<strong>gerenciamento ativo<\/strong>\u00a0geram uma infraestrutura robusta, tratando situa\u00e7\u00e3o de recupera\u00e7\u00e3o, falhas e balanceamento de carga que tornam as aplica\u00e7\u00f5es mais dispon\u00edveis e com provisionamento din\u00e2mico para cen\u00e1rios de nuvens privadas.<\/span><\/p>\n<p><strong><span style=\"font-size: medium;\">Uma pergunta importante: qual \u00e9 a real necessidade do neg\u00f3cio quanto a alta disponibilidade da aplica\u00e7\u00e3o?<\/span><\/strong><\/p>\n<p><span style=\"font-size: medium;\">Veja o exemplo a seguir, para uma infraestrutura de alta disponibilidade consolidando m\u00e1quinas virtuais, balanceamento de carga, monitora\u00e7\u00e3o integrada e cluster de servidores sobre plataforma Microsoft, usando o iSCSI Software Target:<\/span><\/p>\n<p><a style=\"color: #0066dd;\" href=\"http:\/\/blogs.msdn.com\/cfs-file.ashx\/__key\/communityserver-blogs-components-weblogfiles\/00-00-00-91-92-metablogapi\/2337.image_5F00_262A818F.png\"><span style=\"font-size: medium;\"><img loading=\"lazy\" decoding=\"async\" title=\"image\" src=\"http:\/\/blogs.msdn.com\/cfs-file.ashx\/__key\/communityserver-blogs-components-weblogfiles\/00-00-00-91-92-metablogapi\/7450.image_5F00_thumb_5F00_5B0760FF.png\" alt=\"image\" width=\"626\" height=\"331\" border=\"0\" \/><\/span><\/a><\/p>\n<p><span style=\"font-size: medium;\"><strong>Whitepaper: How to Build a Hyper-V Cluster Using the Microsoft iSCSI Software Target v3.3<\/strong><br \/>\nRef.:\u00a0<\/span><a style=\"color: #0066dd;\" href=\"http:\/\/www.aidanfinn.com\/?p=11164\" target=\"_blank\" rel=\"nofollow\"><span style=\"font-size: medium;\">http:\/\/www.aidanfinn.com\/?p=11164<\/span><\/a><\/p>\n<p><span style=\"font-size: medium;\"><strong>Microsoft iSCSI Software Target 3.3<\/strong><br \/>\nRef.:\u00a0<\/span><a style=\"color: #0066dd;\" href=\"http:\/\/www.microsoft.com\/download\/en\/details.aspx?id=19867\" target=\"_blank\" rel=\"nofollow\"><span style=\"font-size: medium;\">http:\/\/www.microsoft.com\/download\/en\/details.aspx?id=19867<\/span><\/a><\/p>\n<p><span style=\"font-size: medium;\">O exemplo acima \u00e9 um laborat\u00f3rio simples de dois n\u00f3s de m\u00e1quinas virtuais, suportando aplica\u00e7\u00f5es com alta disponibilidade sobre o iSCSI Software Target 3.3 da Microsoft.<\/span><\/p>\n<p><span style=\"font-size: medium;\">Finalmente, at\u00e9 esse ponto, n\u00e3o falamos sobre o impacto desse tipo de arquitetura sobre as aplica\u00e7\u00f5es. Para muitos cen\u00e1rios, \u00e9 recomendado que se fa\u00e7a uma avalia\u00e7\u00e3o sobre o comportamento e a arquitetura de software presente nas aplica\u00e7\u00f5es envolvidas. Para alguns cen\u00e1rios, as aplica\u00e7\u00f5es ir\u00e3o precisar de ajustes importantes para que suportem o ambiente de alta disponibilidade criado. Exemplos de cuidados para aplica\u00e7\u00f5es s\u00e3o:<\/span><\/p>\n<ul>\n<li><span style=\"color: #0000ff; font-size: medium;\">Monitora\u00e7\u00e3o com Microsoft System Center Suite, com gerenciamento de n\u00edveis de servi\u00e7os e orquestra\u00e7\u00e3o de atividades.<\/span><\/li>\n<li><span style=\"color: #0000ff; font-size: medium;\">Hospedagem com Windows Server AppFabric\/IIS, com hospedagem de servi\u00e7os e workflows, com caching, monitora\u00e7\u00e3o integrada, persist\u00eancia, etc.<\/span><\/li>\n<li><span style=\"color: #0000ff; font-size: medium;\">Patterns de arquitetura de aplica\u00e7\u00f5es, como suporte ao balanceamento de carga, tratamento de exce\u00e7\u00f5es, instrumenta\u00e7\u00e3o, orienta\u00e7\u00e3o a servi\u00e7os, etc.<\/span><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>O que voc\u00ea chama de \u201cAlta Disponibilidade\u201d? Esses dias estive envolvido nessa discuss\u00e3o e surgiram algumas d\u00favidas no time. Vou aproveitar esse post para compartilhar alguns t\u00f3picos do assunto. Podemos come\u00e7ar a discuss\u00e3o fazendo uma defini\u00e7\u00e3o sobre o termo \u201cDisponibilidade\u201d. Em TI, um sistema ou solu\u00e7\u00e3o pode ser chamado de dispon\u00edvel quando est\u00e1: Presente e [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[1,42,51,495,68,271,548],"tags":[667,666,668],"class_list":["post-946","post","type-post","status-publish","format-standard","hentry","category-viazap","category-leitura-recomendada","category-linux-linuxrs","category-profissional-de-ti","category-redes-2","category-seguranca-2","category-ubuntu-2","tag-arquiteturas","tag-construindo","tag-de-alta-disponibilidade"],"_links":{"self":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/946","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=946"}],"version-history":[{"count":1,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/946\/revisions"}],"predecessor-version":[{"id":947,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/946\/revisions\/947"}],"wp:attachment":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=946"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=946"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=946"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}