2016年2月10日

Subversionと違って、Gitの何が気持ちいいかというと

 なんといっても、コミットを一つにまとめることができる機能は最高です。

一つの大きなテーマ(課題)の対応をしている時に、その中でのまとまり毎に小さくコミットして行きます。
で、最後に一つのテーマのコミットに纏めることができるのでコミットが多くなりすぎてカッコ悪いことにならない。

本来は、それぞれのコミットを独立させておいたほうが判りやすいのだと思いますが、修正箇所が思いの外、広範囲に渡っていた場合など、少しずつコミットして最後にまとめたほうが見栄えが良いのです。
失敗しても少しずつコミットしてれば戻れるし。


Gitバンザイッ。

2016年2月7日

Kintone Cafeでハンズオンしてきた

 先日、近所でKintone Cafeというのに参加する機会があってハンズオンしてきました。
お試しで触ったことがあったのですが、やはり仕事でちゃんとつかっている人の話を聞きながらやると違いますね。
 自分がやっていたやりかたがほかの人がやっているやりかたと同じなのかどうかを確認することができました。

 一番よかったのは、懇親会に参加させていただいたことです。
Kintoneのプロダクトマネージャーの方などの中の人と直接話ができたのもよかったです。
Kintoneオンリーで仕事してる社長の方もいて話をすることができてたのもよかったですよ。
 その社長さんは、「納品」をなくせばうまくいくの倉貫義人さんとのお知り合いだそうで、その話をお聞きすることができてとても嬉しかったです。

 時代の流れに乗っかってグイグイ行ければいいなーと感じるいい時間を過ごさせて頂きました。

2016年2月3日

VHDファイルをブートにする方法をメモ

--------------------------------------------------------------------------------
エントリの追加
bcdedit /create /d "Windows7 Dev VHD" /application OSLOADER

REM 下のエントリーをENTEYキーに書く。
REM エントリ {5cdc9697-0244-11e3-a3d1-005056c00008} は正常に作成されました。



--------------------------------------------------------------------------------
: エントリーのの設定

SET DRIVE=I:
SET VHDPATH=\AppData\VHDBoot\win7ult\win7ult_dev.vhd
SET ENTRY=5cdc9697-0244-11e3-a3d1-005056c00008

bcdedit /set {%ENTRY%} device VHD=[%DRIVE%]%VHDPATH%
bcdedit /set {%ENTRY%} osdevice VHD=[%DRIVE%]%VHDPATH%
bcdedit /set {%ENTRY%} path \Windows\System32\winload.exe
bcdedit /set {%ENTRY%} systemroot \Windows
bcdedit /set {%ENTRY%} locale jp-JP
bcdedit /set {%ENTRY%} detecthal yes
bcdedit /displayorder {%ENTRY%} /addlast

:END
echo 終わり
pause

本日開発環境を作りなおすの巻

 開発環境といってもデータベース・サーバーのことです。

今まで、VMWare ESXi 5.5を使って仮想マシンを立てて開発に使用していました。
どこかの記事でESXi 5.5自体をUSBメモリにインストールすれば、HDDを消費せずに済むとよという記事に乗っかってその通りに運用していました(1年くらいノンストップで運用)。
他には、RedmineとSoftEatherを動かしてましたよ。

だがしかし、よくよく考えてみたら、USBメモリなんていつ急に使えなくなるということもあるのでやはりこれは危険ということで新しい環境を構築することにしました。

使っているソフトは、「XenServer 6.5」のフリー版です。
Citrixのサポートを受けずに自分でできるんだったら、無料で使用できますよというものです。


準備段階として新しいHDD 2TB(7,000円弱)を購入しました。
今は、2TBくらいが一番手ごろなのでしょうか?

ちゃんとした運用をするのであれば、RAIDを組んだりいろいろとするのでしょうが、そこまでは求めていないのでよしとします。

ESXiよりもクライアントソフトがよい感じがします。
仮想マシンのバックアップや復元が簡単そうです。


これで、仮想環境はXenServerに決まりっ!。

これから、OSインストール、設定、MySQLのインストールとデータベースの復元をしなければならないのでちょっと時間が掛かりそうです。
徹夜でやるか、明日の仕事をサボって作業するかどうしようか悩みどころです。


参考にした記事
XenServerをインストールしてみた
XENSERVER 6.5を使ってみました


2016年1月22日

AWSからGCPへの移行を検討

 移行したい理由は、お客さんにもう少し安くなりませんか?と言われたのとGCPのセミナーを聞いたのがきっかけです。

まずは、安くなりませんか?の話から。
一般的なWebアプリケーションの構成なのですが、DBサーバにダウンされるのが困るので二重化しています。
GCPというのがGoogle Cloud Platformです。
DBサーバは、CloudSQL 2ndなのでまだβ版なのでけどね(早く正式リリースして欲しいです)。
やはり、DBサーバの価格差が大きいです。
AWSは、サーバダウンに備えて2台使いますが、GCPは、サーバ単体でそれをカバーする仕組みがあるそうなので1台で良いようです。

APサーバ
 AWS t2.small CPU=1 MEM=2GB  $0.04/h
 GCP n1-standard-1 CPU=1 MEM=3.65GB $0.039/h

DBサーバ
 AWS(RDS) db.t2.medium CPU=2 MEM=4GB $0.208/h(Multi AZ)
 GCP(CloudSQL 2nd) n1-standard-2 CPU=2 MEM=7.5GB $0.078/h


GCPのセミナーで聞いた話。
コストパフォーマンスを見てもだいぶGCPが良いのではないかと思います。

2015/12/04 GCE vs EC2 vs Azureベンチマークを見ても凄さを伺います。
※このベンチマークをとった会社の人が言っていましたが、AWSのEC2は、たまたま状態の悪いのを引いたのかもしれないと言ってました(差が激しすぎるそうです)

サーバは、日本にはないのですがGoogleが世界に引いたネットワークケーブル内を通っているらしくアジアにあるサーバであればそれほど遅延を感じることはありませんでした。
(実際、お客さんの環境をテスト的に移植してみました)
サーバが日本に来ればもっとよくなると思うんですけどね。Googleさんよろしく。

ポリシーとしてセキュリティー重視ということなのでそのあたりも安心ですよね。


もっと、もっとGCPのセミナーや本の出版をしていただきたいと思いました。

2016年1月20日

サーバーが息を吹き返しました

 今朝、サーバーが起動しなくなって大慌てでカスタマーサポートに連絡したりしてましたが本日、復旧が完了しました。

 カスタマーサポート曰く、マザーボードか電源ユニットですねと言っていたので電源ユニットを交換することにしました。


  1. 知り合いのパソコン修理店へ相談に行き、電源ユニットだけだったらプラモデルを組み立てるみたいに簡単だから自分でやってみてと言われ、自分でやってみることを決意。
  2. たまたま、家にあった電源ユニットを使って付け替えようとしたら、マザーボードの電源の端子と電源ユニットの端子の数が違うことが判明(24ピンと20ピン)。
    この違いがあることすら知らない…。
  3. 仕方なく、近くのドスパラへ電源ユニットを買いに言ったのですが、なんか渋い顔をされることに。
    よくよく聞いてみたら、動くかどうかわからないからあまり売りたくないらしい。
    動く保証はできないからそれでも良かったら販売するということなので、まぁ、5,000円弱なので購入。
  4. 家に戻って初めての電源ユニットの交換をしてみました。
    なんの問題もなく物理的な接続はできたので電源を入れてみましたよ。
    電源も切れることなく稼働したようなのでミッション完了。


たった今、サーバーも立ち上がり使えるようになりました。
今このサーバーの中の部品で一番新しいのは電源ユニットになりました。


この間に、次のサーバーの購入の検討をしたり、もしサーバーが復旧できなかったらめんどくさいなーとかいろいろ考えました。

 わかっているけどバックアップは超大切ですよ。


開発サーバーがお亡くなりになったようです

 新年早々、開発サーバーがお亡くなりになったようです。

省電力、安価のDELLのサーバー(PowerEdge T105)でした。
最近、瞬電にあって再起動したら動いたのでそのままにしておいたのですが、どこか痛めたのかもしれません。


症状は、電源をいれても数秒後に電源が落ちてしまうというものでした。


カスタマーサポートに電話したら、マザーボードか、電源ユニットがおなくなりになったのだろうという答えでした(大体そのあたりだと思うが…)。


一応やってみたくださいと言われたのが以下ですが、症状は変わりませんでした。

  • 電源ケーブルを替えてみる
  • 電源ケーブルを抜いて、電源ボタンを長押しして、静電気を放電してみる。
部品交換をしてもらった場合、電源ユニットは既に在庫がなく、マザーボードを交換するとエンジニアの派遣と合わせて70,000円くらいかかるそうです。
70,000円を出すんだったら、新しいサーバーを購入するのでエンジニアの派遣はやめておきました。

これを機に開発サーバー(データベースだけですが)は、クラウドに以降してしまおうかと検討中です。
(ここは、練習も兼ねてAWSではなくGCP(GoogleCloudPlatform)です)


とりあえず、知り合いのパソコン修理屋さんに見てもらって、電源ユニットの交換をお願いしようかと思ってます。
運良く、ほぼ新品の電源ユニットが手元に手元にあったのでそれを持ち込んでお願いしようかと。


その開発環境は、USBメモリ起動の無償版ESXiだったのでPCが違っていても簡単に復活できるかもです。
新しいサーバーにHDDを付け替えてUSBメモリで起動すれば簡単に行こうが完了するのでは無いかと淡い期待も持っています。


この作業が終わらないと今抱えている仕事が止まってしまうのでとても怖いです。
とりあえず、2,3日開発が止まるのですみませんという電話だけはしておこう。


復旧できなかったら面倒くさいなー。



教訓 サーバーは、昨日動いていたから今日も動くとは限らない。